Разрешение сгенерированного файла PDF - PullRequest
0 голосов
/ 02 мая 2019

У меня проблема с разрешением в PDF-файле, сгенерированном на основе HTML

Я использую HtmlToPdfConverter из Syncfusion вместе с WebKitConverter

Размер бумаги A4 установлен на 595px x 842px

Я работал на Windows 7 со старым экраном. Все было хорошо

При работе в системе Windows 10 с другим экраном, содержание бумаги больше, чем бумага. Текст слишком большой, изображения слишком большие

Размер текста также указывается в пикселях.

Конечно, разница в ИЦП

Фрагмент кода с настройками генератора:

PdfMargins margins = new PdfMargins();
margins.Left = 50;
margins.Right = 50;
margins.Top = 0;
margins.Bottom = 0;
settings.Margin = margins;
settings.Orientation = PdfPageOrientation.Portrait;
settings.WebKitViewPort = new System.Drawing.Size(595, 0);
settings.PdfPageSize = new SizeF(595, 842);

Можно ли каким-то образом настроить, чтобы оно всегда работало?

Ответы [ 2 ]

1 голос
/ 03 мая 2019

Размер содержимого документа PDF может отличаться в зависимости от машины / приложения, в котором происходит преобразование. Если вам нужен одинаковый вывод во всех машинах / приложениях, пожалуйста, установите фиксированный размер области просмотра в свойстве WebKitViewPort. WebKit HTML конвертер внутри, используя размер системного окна для конвертации HTML в PDF. Размер области просмотра системы может различаться в зависимости от системы и приложения.

Даже фиксированный размер WebKitViewPort не помогает, пожалуйста, предоставьте нам полный фрагмент кода для преобразования, чтобы нам было полезно проанализировать и помочь вам в этом.

Пожалуйста, перейдите по ссылкам ниже для более подробной информации о окне просмотра WebKit.

UG: https://help.syncfusion.com/file-formats/pdf/convert-html-to-pdf/webkit#viewport

КБ: https://www.syncfusion.com/kb/7412/

Примечание: Я работаю в Syncfusion

0 голосов
/ 02 мая 2019

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

«Ems» (em): «em» - это масштабируемая единица, используемая в веб-документе.Em равен текущему размеру шрифта, например, если размер шрифта документа 12pt, 1em равен 12pt.Ems по своей природе масштабируемы, поэтому 2em будет равняться 24pt, .5em будет равняться 6pt и т. Д.

Встречайте единицы

  1. «Ems »(em): « em »- это масштабируемая единица, которая используется в веб-документах.Em равен текущему размеру шрифта, например, если размер шрифта документа 12pt, 1em равен 12pt.Ems по своей природе масштабируемы, поэтому 2em будет равняться 24pt, .5em будет равняться 6pt и т. Д. Ems становятся все более популярными в веб-документах из-за масштабируемости и их дружественности к мобильным устройствам.
  2. Пиксели(px): Пиксели - это единицы фиксированного размера, которые используются на экране (например, для чтения на экране компьютера).Один пиксель равен одной точке на экране компьютера (наименьшее деление разрешения вашего экрана).Многие веб-дизайнеры используют пиксельные единицы в веб-документах, чтобы получить идеальное для пикселя представление своего сайта в том виде, в каком оно отображается в браузере.Одна проблема с пиксельным блоком заключается в том, что он не масштабируется вверх для устройств с ослабленным зрением или не подходит для мобильных устройств.
  3. Точки (пт): Точки традиционно используются в печатных СМИ (все, что должно быть напечатано на бумаге и т. д.).Одна точка равна 1/72 дюйма.Точки очень похожи на пиксели в том смысле, что они являются единицами фиксированного размера и не могут масштабироваться по размеру.
  4. Процент (%): Процентная единица очень похожа на единицу «em», за исключениемза несколько принципиальных отличий.Прежде всего, текущий размер шрифта равен 100% (т.е. 12pt = 100%).При использовании процентной единицы ваш текст остается полностью масштабируемым для мобильных устройств и для обеспечения доступности.

Итак, в чем разница? Легко понять разницу между единицами размера шрифтакогда вы видите их в действии.Обычно 1em = 12pt = 16px = 100% .Используя эти размеры шрифтов, давайте посмотрим, что произойдет, когда вы увеличите базовый размер шрифта (используя CSS-селектор тела) со 100% до 120%

enter image description here

Как видите, как em, так и процентные единицы увеличиваются с увеличением базового размера шрифта, а пиксели и точки - нет.Может быть легко установить абсолютный размер для вашего текста, но вашим посетителям гораздо проще использовать масштабируемый текст, который может отображаться на любом устройстве или любом компьютере.По этой причине для текста веб-документа предпочтительнее использовать em и процентные единицы.

https://kyleschaeffer.com/css-font-size-em-vs-px-vs-pt-vs-percent

...