我正在使用 PHP、Mysql、jQuery。我有一个要转换成高分辨率 A4 尺寸 PDF 的网页:http://optisolbusiness.com/funeral_site/sample/index/id/255 .
我已经使用 wkhtmltopdf
将 HTML 转换为 PDF,效果很好。
这是生成的 PDF http://optisolbusiness.com/Guru/Gurupdf/optisol.pdf .但是 HTML 并不完全适合 PDF 大小; PDF 中的 HTML 周围有空格。如何缩放 HTML 以适合 A4 PDF 大小 100%?重要的是 html 中的内容(即)文本大小、图像宽度和高度、背景图像也按比例缩放。
最佳答案
您的背景图片不是很高分辨率,这在打印时看起来不太好。
我不知道 wkhtmltopdf 本身,但您的 body 已经设置了绝对尺寸(以英寸为单位)。这可能是问题所在。您的 body 有最大尺寸,内容也有绝对尺寸(根据背景图像像素尺寸给出)。
对于 html 到打印的转换,这不是一个好的起点,PDF 本质上是打印的。
做什么(中级)
- 从正文中删除任何尺寸限制
- wkhtml... 有一个名为
zoom
的开关,1.5
应该是一个合适的值来填充页面 - 使用页面大小 a4
做什么(“正确”的方式)
- 从正文中删除大小限制
- 使用 html 元素和 css 样式构建背景边框(黑色边框)
- 不要为这些定义“宽度”规则。您只需定义一次“宽度”,所有其他宽度都应设置为“自动”。
- 高度会很麻烦,因为 div 的高度只满足其内容的要求。但是设置 height: 100% 不考虑边框和边距大小。
- 黄色十字也可以用 css 设计,或者更高分辨率的 png/jpeg
- 仅使用“真实”维度。这意味着不使用像素,使用点、英寸或毫米。您可以使用 % 值,但要确保它们是实际尺寸的 % 值(这意味着在某些时候父元素具有实际尺寸)
关于php - 按比例缩放 HTML 以完全适合 PDF A4 大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12856880/