很长一段时间以来,我一直在尝试将包含大型表格的HTML页面转换为PHP。它们使用CSS设置样式,可以有几页长。
我首先尝试了DOMPDF。它工作得很好,直到一个文档超过一页。我发现的修复都不起作用。不是它出错,就是在第二页上的任何部分元素都会被第一页的内容弄得一团糟。我已经尝试了最新版本和我今天检查的SVN副本。
我还尝试了html2ps/pdf,在写入缓存目录时,即使该目录是完全可写的,它也会给出“权限被拒绝”的错误。系统需求测试脚本通过。服务器在IIS下运行PHP5(不是我的选择)。
这两者中的任何一个都可以被说服工作,或者有一个库可以做到这一点?
演示/测试脚本中的错误:
Warning: file_put_contents(C:\Inetpub\wwwroot\JM\pdf\html2ps\cache/7d888258e9745b3716532ea81342daaf.css.compiled) [function.file-put-contents]: failed to open stream: Permission denied in C:\Inetpub\wwwroot\JM\pdf\html2ps\css.cache.class.php on line 33
Warning: fopen(C:\Inetpub\wwwroot\JM\pdf\html2ps\cache/unicode.lb.classes.dat) [function.fopen]: failed to open stream: Permission denied in C:\Inetpub\wwwroot\JM\pdf\html2ps\inline.content.builder.php on line 991
Warning: flock() expects parameter 1 to be resource, boolean given in C:\Inetpub\wwwroot\JM\pdf\html2ps\inline.content.builder.php on line 992
Warning: fwrite(): supplied argument is not a valid stream resource in C:\Inetpub\wwwroot\JM\pdf\html2ps\inline.content.builder.php on line 1011 (此错误重复几千次)
Warning: fopen(C:\Inetpub\wwwroot\JM\pdf\html2ps\cache/times.z) [function.fopen]: failed to open stream: Permission denied in C:\Inetpub\wwwroot\JM\pdf\html2ps\pdf.fpdf.makefont.php on line 318
Can't write to file C:\Inetpub\wwwroot\JM\pdf\html2ps\cache/times.z
发布于 2009-08-14 21:13:16
here已经讨论了IIS下的html2pdf的类似问题。
解决方案很简单,但却很奇怪。如果这对你没有帮助,一个完整的错误消息和/或一小段代码可以帮助你。
发布于 2009-09-18 11:44:53
我个人推荐命令行应用程序,而不是任何PHP库。
原因:
命令行工具:
如果您在Linux服务器上运行脚本,那么我建议使用命令行工具。
原因:
与PHP libraries.
要使用哪个命令行工具?
有关更多信息,请参阅Converting HTML to PDF (not PDF to HTML) using PHP。
https://stackoverflow.com/questions/1280173
复制相似问题