php - dompdf图像溢出问题

标签 php pdf image-processing pdf-generation dompdf

我的 PDF 生成有问题,目前我的系统正在使用 dompdf 将 HTML 转换为 PDF,一切正常。但是,如果用户插入比 A4 页面大的图像,PDF 就会严重出错,大图像下方的所有内容都会聚在一起或根本不显示。

这里有两个 PDF 来显示问题的示例

这个不错

https://dl.dropbox.com/u/65878041/OK.pdf

这个你可以看到第一张图片比 A4 页面大,当它应该与前一个相同时,后面的所有内容都搞砸了。

https://dl.dropbox.com/u/65878041/Issue.pdf

理想情况下,我想做的是将图像分成几部分,并根据需要将其跨越多个页面。就像在这个 LaTeX solution 中完成的一样.有没有可能用 dompdf 做到这一点?或任何其他用于将 HTML 转换为 PDF 的 PHP 库?

我自己研究过,很明显,如果图片大于 A4 纸,我可以将其切碎。但问题在于这种方法需要事先知道页面上是否有文本或类似的东西,所以它并不是那么简单。

提前谢谢大家。任何见解将不胜感激。

最佳答案

如果您发布 html 和 css,我会更有帮助... 记住两件事:

选项#1

尝试将您的图像包裹在额外的 DIV 中,并明确设置宽度和溢出规则。

选项#2

之前我是 dompdf 的忠实粉丝,但在发现 wkhtmltopdf 之后再也没有回头。 wkhtmltopdf是一个非凡的工具,可以正确完成工作。要尝试此解决方案,请执行以下操作:

  1. project home page 下载静态二进制文件,它是特定于体系结构的,因此请选择正确的……您可以同时下载两者;在运行时检测体系结构并加载适当的二进制文件
  2. 将文件放在您的项目可以访问的某个目录中,例如
    /path/to/my/proj/bin/wkhtmltopdf
  3. 运行您的脚本并生成 html 文档;将其保存到某个 tmp 文件
    file_put_contents('/tmp/myfile.html', $html);
  4. 运行转换命令
    shell_exec('/path/to/my/proj/bin/wkhtmltopdf/tmp/myfile.html/tmp/myfile.pdf')
  5. 获取生成的 pdf 的内容、更改响应 header 和服务器文件:
    header('Content-Type: application/pdf');

    echo file_get_contents('/tmp/myfile.pdf');

关于php - dompdf图像溢出问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13837251/

相关文章:

php - 配对 foreach 循环的两个元素

javascript - JS - 使用 window.print() 打印字符串

r - 使用 ggsave 可见 pdf 零大小元素

python - 通过 keras 正确 reshape MNIST 图像

html - PNG 图像的奇怪 pagespeed URL?

php - 如何在命名空间内引用静态类变量?

javascript - JS (JQuery) - 未定义

php - SQL连接操作

c - 简单的文件复制,不同文件类型的不同行为

c++ - 访问 cvCreateMatND 的元素