XAML в растровое изображение с высоким качеством - PullRequest
0 голосов
/ 17 января 2019

Я пытаюсь сохранить XAML в растровом файле и распечатать его в файл PDF.

Мой вид показывает элементы управления / текст, как это:

enter image description here

PDF показывает созданное растровое изображение следующим образом:

enter image description here

Вот код того, как я преобразовываю свой XAML в растровое изображение:

MyWindow view = new MyWindow();
view.Title = "SOME TEXT";
//add the table

RenderTargetBitmap bmp = new RenderTargetBitmap((int)view.ActualWidth, (int)view.ActualHeight, 96, 96, PixelFormats.Pbgra32);

bmp.Render(view);
PngBitmapEncoder pngImage = new PngBitmapEncoder();
pngImage.Frames.Add(BitmapFrame.Create(bmp));
//System.Windows.Clipboard.SetImage(pngImage.Frames[0]); //Clipboard still shows the pngImage in high quality!

MemoryStream stream = new MemoryStream();
PngBitmapEncoder encoder = new PngBitmapEncoder();
encoder.Frames.Add(pngImage.Frames[0]);
encoder.Save(stream);

Bitmap myCreatedBitmap = new Bitmap(stream);

Я использую System.Drawing.Printing для печати файла PDF. Я назначаю растровое изображение в EventHandler PrintPageEventHandler следующим образом:

 e.Graphics.DrawImage(this.bitmap, new Rectangle(e.MarginBounds.X, e.MarginBounds.Y, e.MarginBounds.Width, e.MarginBounds.Height), new Rectangle(posX, posY, e.MarginBounds.Width, e.MarginBounds.Height), GraphicsUnit.Pixel);

В чем причина размытого изображения или как я могу преобразовать свой XAML в растровое изображение с высоким разрешением и сохранить его в формате PDF?

1 Ответ

0 голосов
/ 30 января 2019

Чтобы конвертировать XAML в PDF с высоким качеством, попробуйте конвертировать XAML в XPS и XPS в PDF, используя Syncfusion .NET PDF library .

См. Приведенную ниже КБ для преобразования XAML в PDF. https://www.syncfusion.com/kb/8083/how-to-convert-xaml-to-pdf-in-wpf-platform

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...