На сервере генерирую документ excel и отправляю его на клиентское приложение. Для генерации использую библиотеку ASPOSE. По итогу на клиенте имею массив byte[]
, который могу преобразовать в Workbook
и Worksheet
. И вот тут главный вопрос, каким образом можно открыть стандартное диалоговое окно выбора принтера и отправить на печать документ находящийся в одном из перечисленных мною состояний (byte[]
, Workbook
, Worksheet
) ?
var memoryStream = new MemoryStream(workbookBytes);
var workbook = new Workbook(memoryStream);
var worksheet = workbook.Worksheets[0];
var printDialog = new PrintDialog();
var print = printDialog.ShowDialog();
if (print == true)
{
// Печать workbookBytes или workbook или worksheet
}
Сделал пока что таким образом:
Код:
var memoryStream = new MemoryStream(workbookBytes);
var workbook = new Workbook(memoryStream);
var worksheet = workbook.Worksheets[0];
var options = new ImageOrPrintOptions
{
OnePagePerSheet = true,
ImageFormat = ImageFormat.Jpeg
};
var sheetRender = new SheetRender(worksheet, options);
var bitmap = sheetRender.ToImage(0);
var intPtr = bitmap.GetHbitmap();
var bitmapSource = Imaging.CreateBitmapSourceFromHBitmap(intPtr, IntPtr.Zero, Int32Rect.Empty,
BitmapSizeOptions.FromEmptyOptions());
var printDialog = new PrintDialog();
var print = printDialog.ShowDialog();
if (print == true)
{
var drawingVisual = new DrawingVisual();
using (var dc = drawingVisual.RenderOpen())
{
dc.DrawImage(bitmapSource, new Rect(0, 0, bitmapSource.Width, bitmapSource.Height));
}
printDialog.PrintVisual(drawingVisual, "Print Document Image");
}
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Виртуальный выделенный сервер (VDS) становится отличным выбором
Пытаюсь отправить Email, используя SmtpClientЕсли отправляю на 25 порт, все работает
Я пытаюсь реализовать добавление некоторого сигнала в список (Signals), внутри каждого signal другой список c данными (chunk)Вот код:
Делаю аис для аэропорта, в рамках курсового проектаДля удобного использования бд решил делать фильтрация в реальном времени