Я пытаюсь преобразовать html-файл в PDF через PhantomJS и не могу понять, как избежать проблем масштабирования dpi. Просто элемент такой же простой, как <div style=" display:block; background-color:red; width:96px; "> text </div>
Уменьшена ли ширина до 77 пикселей. Значения моих viewPort
или paperSize
, похоже, не меняют это. Я могу настроить zoomFactor
на 1.25, который был предложен в другом месте, это масштабируется примерно до предполагаемой ширины, но испортит некоторые элементы на странице.Проблемы с масштабированием PDF DPI PhantomJS
У меня есть svg-диаграмма, созданная HighCharts, которая настроена для заполнения 100% -ной ширины, я также попробовал width: 210mm
, но это будет уменьшено, вместо того, чтобы соответствовать ширине бумаги шириной 210 мм. Я знаю, что A4 на 96 точек на дюйм означает 794px x 1120px, а через просмотрщик PDF при 100% масштабировании это измерения px (из моего понимания PDF-файлы на окнах отображаются на 96 точек на дюйм). Я смог получить мой div HighCharts с width:100%
для рендеринга в соответствии с назначением ширины PDF-файлов, взяв эти размеры px и умножив значения на 1,25, 992 x 1400 для viewPort
с paperSize
, установленными на A4-портрет и без полей. К сожалению, это не корректирует остальную часть содержимого, которое становится недоступным.
Еще один вариант заключается в том, чтобы избежать формата A4 и предоставить те же значения px, что и viewPort, они также уменьшены для соответствующего документа, хотя это было предназначено для службы отчетов, где ожидался формат PDF PDF ... Поскольку ни один из контент основан на растре, есть ли способ, который я могу повысить, чтобы заполнить/поместить размеры A4 PDF? В идеале версии браузера и PDF будут выглядеть по-разному визуально на одном компьютере (PhantomJS используется в приложении Atom-Shell), возможно, это не постоянный опыт, который может быть предоставлен пользователям?
У меня был способ исправить рендеринг почти на 100% исправьте некоторые проблемы с шрифтом. Он включал настройку ширины/высоты ввода и некоторого масштабирования CSS-преобразования, я думаю, что я забыл об этом вопросе и поделиться своим решением :) Эта ошибка была исправлена в версии 2.0 для Windows, но аналогичная проблема возникла для Linux/OSX, Я полятенен на github и прокомментировал это подробно. Вилка, с которой вы связаны, - это правильное исправление для экземпляров не-Window OS. :) – Brennan