首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >dompdf图像溢出问题

dompdf图像溢出问题
EN

Stack Overflow用户
提问于 2012-12-12 18:03:42
回答 2查看 4.7K关注 0票数 11

我有一个关于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做到这一点?或者任何其他PHP库,用于将HTML转换为PDF?

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

提前感谢大家。任何有见地的人都会非常感激。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-12-24 10:20:19

如果你把html和css张贴给我会更有帮助。我有两个想法:

选项#1

尝试将图像包装在附加的DIV中,并显式设置宽度和溢出规则。

选项#2

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

  1. project home page下载静态二进制文件,它是特定于体系结构的,所以请选择正确的。您可以下载这两个文件;在运行时检测体系结构并加载适当的二进制
  2. 将文件放在项目可访问的某个目录中,例如

/path/to/my/proj/bin/wkhtmltopdf

  • Run你的脚本和生成的html文档;保存到一些临时文件

file_put_contents('/tmp/myfile.html', $html);

  • 运行转换命令

生成的pdf的shell_exec('/path/to/my/proj/bin/wkhtmltopdf /tmp/myfile.html /tmp/myfile.pdf')

  • Get内容,更改响应头和服务器文件:

header('Content-Type: application/pdf');

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

票数 5
EN

Stack Overflow用户

发布于 2012-12-19 20:23:43

我不知道图像是如何显示的,但您可以告诉dompdf在某个元素之前或之后拆分页面。例如:

代码语言:javascript
运行
复制
<div style='page-break-after:always;'>
    <img src="PATH_TO_IMAGE" />
</div>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13837251

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档