php - dompdf 不显示由 PHP 文件生成的图像

标签 php codeigniter dompdf

我正在使用 dompdf 生成 PDF 文件。在文件中,我包含了一个由 PHP 动态生成的图像;

<img src="image.php" />

当我查看该页面时,我可以看到一条错误消息“未找到图片”,它链接到据称未找到的图片,当您单击它时显示正常。

我试过向生成图像的页面添加 .png 扩展名,但这没有任何区别。我还将生成的图像保存到服务器并链接到它,它工作正常。

我能想到的解决这个问题的唯一方法是将图像保存在服务器上,然后链接到它。理想情况下,我不想这样做,所以我想知道以前是否有人遇到过这个问题,或者是否有人可以想出解决办法。

我使用的 dompdf 版本是 0.6.0 beta 3,我将它与 CodeIgniter 一起使用。

最佳答案

如何将 HTML 文档加载到 dompdf 中? $dompdf->load_html()$dompdf->load_html_file() ?要访问 PHP 生成的图像,您应该使用后者。此外,除非您通过 Web 服务器加载文档,否则 dompdf 将抓取文件本身,而不是呈现的文件。由于 image.php 不是有效的图像类型,dompdf 将无法加载它。

有两种解决方法:

  1. 通过您的网络服务器加载您的文档,例如$dompdf->load_html_file('http://example.com/mydoc.html'); .当您这样做时,图像引用将被解释为 http://example.com/image.php .
  2. 使用完整的 URL(包括域)引用您的图像,以便您的服务器在将其发送回 dompdf 之前对其进行处理,例如<img src="http://example.com/image.php" /> .

关于php - dompdf 不显示由 PHP 文件生成的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11360603/

相关文章:

PHP MySQL utf-8 欧元符号在菱形上显示为问号

php - Codeigniter:如何向受控(测试版)用户组推出功能?

mysql - CodeIgniter 中带有多个条件的 SQL INNER JOIN

php - 单击文本时表单未提交

php - MySQL SELECT 查询 - 排除某些行

c# - 从 C# 编码 URL,用 PHP 解密 URL(以某种方式添加额外字符)

php - 使用dompdf在pdf上显示INR货币符号

PHP 优化 - include() 与否

dompdf - codeigniter dom-pdf - 未找到 block 级父级。不好

php - 将二维码显示为 PDF 流,Laravel 4.2