我一直在为DOMPDF中的问题苦苦挣扎一周......
所以我有一个需要转换成PDF的HTML模板文件。我使用jQuery加载并测量模板文件的高度,然后调用DOMPDF来转换模板文件,我还将高度传递给DOMPDF,以便所有内容都适合第一个PDF页面。 (我不想要标准的A4页面页面,我希望只有一个页面可变高度。)
效果很好。
但是有一件事情搞砸了一切。即使我在CSS中设置font-size和line-height也很困难,文本在DOMPDF中的呈现高于HTML。由于这个高度,一切都向下移动,并将页面上的最后一个元素推送到新页面。
文字高度和DOMPDF有什么问题? 如何保持一致的文字高度?
迄今为止唯一有效的方法是为DIV设置一个固定的高度,并将行高1px设置为小于DIV的高度(可能是因为它留下了一个小的“填充式”空间)。
答案 0 :(得分:5)
I don't want to steal the answer which was given in the comments, but it in fact works as described: Fiddle with DOMPDF_FONT_HEIGHT_RATIO
. My magic number was 0.75
(at 300dpi if that matters).
define("DOMPDF_FONT_HEIGHT_RATIO", 0.75);
Thanks and credits to BrianS and Boriss!
答案 1 :(得分:1)
非常感谢! 我在dompdf 0.8.6下
该值在我的laravel项目的config文件夹中的dompdf.php文件中。
初始值设置为1.1:
"DOMPDF_FONT_HEIGHT_RATIO" => 1.1,
Personnaly我将设置为0.75,但我必须调整h1等元素的行高
别忘了清除配置以使新值生效:
php artisan config:clear