【发布时间】:2013-03-20 06:55:24
【问题描述】:
我正在使用标准 DOMPDF 代码来呈现现有网页(例如1):
$dompdf = new DOMPDF();
$dompdf->set_base_path($artpath);
$dompdf->load_html_file($artpath);
$dompdf->render();
$dompdf->stream($pdfpath);
$artpath' 是 HTML 代码的路径,$pdfpath 是 PDF 的名称。
但是,该网页包含未找到的相对链接(正确遵循)和绝对链接(例如/gifs/bullet.gif)。这可能是因为 DOMPDF 代码在 http://www.epress.ac.uk/src/xtra/makeapdf.php 执行,www.epress.ac.uk 是我服务器上的虚拟域,它还托管虚拟域 jasss.soc.surrey.ac.uk(也就是说,两个域都在相同强>服务器)。似乎 DOMPDF 正在使用 www.epress.ac.uk 的文档根,而它应该使用 jasss.surrey.ac.uk 的文档根。
有没有办法解决这个问题?在调用new DOMPDF() 之前,我尝试将$_SERVER['DOCUMENT_ROOT'] 重置为jasss.soc.surrey.ac.uk 的文档根目录,但这似乎并不能解决问题。我收到如下错误:
file_get_contents(/styles/jasssarticle.css) [function.file-get-contents]: failed to open stream: No such file or directory
Unable to load css file /styles/jasssarticle.css
根据 www validator.w3.org,网页是有效的 HTML
感谢您的建议!
【问题讨论】:
-
$artpath变量的值是多少?当您使用相对路径调用$dompdf->load_html_file()时,dompdf 将根路径设置为文件系统根目录,而不是网站文档根目录。 -
$artpath是/Volumes/Documents/VirtualSites/jasss/16/2/1.html'. The webroot of jasss.soc.surrey.ac.uk is/Volumes/Documents/VirtualSites/jasss/`。希望对您有所帮助...谢谢。 -
也忘了问,dompdf是什么版本的?
-
最新的 - 几天前下载的 - 但我无法更具体,因为在我下载的代码中的任何地方都找不到它的引用!
标签: php pdf-generation dompdf