2016-09-12 2 views
1

Я пытаюсь создать PDF-файл, содержащий текст, логотип и штрих-код. Все в порядке, за исключением качества логотипа.Неверное качество вставки SVG в PDF

Для обеспечения примера я использую это SVG.

Логотип генерируются с использованием svg.Net следующим образом:

SvgDocument svgDoc = SvgDocument.Open<SvgDocument>(@"C:\temp\SVG\dojo.svg"); 
svgDoc.Width = 130; 
svgDoc.Height = 30; 
var bmp = svgDoc.Draw(); 

Это затем обращается на PrintDocument следующим образом:

Graphics.DrawImageUnscaled(bmp, logoLeft, logoTop); 

Перед окончательной отправку драйвера принтера PDF. Конечные результаты нечеткая глядя логотип на 100% увеличении

Generated PDF

Увеличение в PDF и разрешение логотипа является действительно низким

Zoomed in Logo

Как я могу улучшить качество конечный результат?

+1

Что вы это 'svgDoc.Width = 130;' делать? установить ширину на что? Пиксели? какой-нибудь другой блок без установки разрешения? Очевидно, вам нужно рисовать на гораздо большем растровом изображении, а затем установить его dpis, прежде чем рисовать его в printdocument ..! – TaW

+0

Также: как вы установили разрешение печати? – TaW

ответ

2

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

Использование другого метода svg.net и запись непосредственно в графический объект.

Стадия

Graphics.DrawImageUnscaled(bmp, logoLeft, logoTop); 

Была заменена

svgDoc.X = logoLeft; 
svgDoc.Y = logoTop; 
svgDoc.Draw(Graphics); 
+0

Приятно, хотя я определенно рекомендую научиться правильно работать с разрешениями изображения и принтера .. – TaW

Смежные вопросы