Rajib13 Ответов: 1

Как преобразовать объект printdocument в растровое изображение


Я хочу создать пользовательский предварительный просмотр contol, подобный тому, в котором я изменю печатный документ и хочу увидеть динамически визуализированное изображение документа, то есть измененный документ, который будет напечатан, если его отправить на принтер.
Но я не имею ни малейшего представления о том, как визуализировать документ в список изображений (1 Изображение/страница).

Я искал готовые решения и нашел это.

http://stackoverflow.com/questions/10868623/converting-print-page-graphics-to-bitmap-c-sharp

Заранее спасибо.

Что я уже пробовал:

Ничего особенного. Я понятия не имею, как сделать объект printdocument растровым :(

1 Ответов

Рейтинг:
10

Midi_Mick

На самом деле это довольно просто сделать. Ваши процедуры "печати" имеют графический объект, на который вы обычно печатаете. При отправке вывода на принтер Этот графический объект создается из контекста устройства принтера - таким образом, вывод отправляется на принтер.

Если вы создаете растровое изображение с белым фоном и тем же размером, что и страница принтера, вы можете создать графический объект из этого растрового изображения. Если вы передадите этот графический объект процедурам печати, то они будут печатать на вашем растровом изображении вместо принтера. Создайте новое растровое изображение для каждой страницы принтера, измените их размер, чтобы они поместились в окне предварительного просмотра, и все готово.


Rajib13

Midi_Mick я на самом деле не профессионал в c#, поэтому не могли бы вы написать крошечный фрагмент внутри метода createBMP(PrintDocument doc), который принимает документ печати (который я отправляю на принтер) и возвращает список bmp.
Извините, если я прошу чего-то более чем достаточно. :) Заранее спасибо.

Midi_Mick

Не совсем - слишком много работы. Однако быстрый поиск CP для "PrintDocument" дал мне эти 2 страницы (плюс еще), на которых есть вся информация, необходимая для этого:
http://www.codeproject.com/Articles/16720/Basic-Text-and-Image-Printing
http://www.codeproject.com/Articles/9907/Output-graphics-files-using-your-printing-code

Rajib13

Спасибо. Позвольте мне проверить это, и я приму ваш ответ. :)