我试图使用html2pdf将文件的内容保存到PDF中,但是该文件有一些需要处理的PHP代码。我做了一些研究,发现我必须使用输出缓冲来处理文件中的PHP内容。所以我做了这样的事:
<?php
require_once('html2pdf.class.php');
ob_start();
require_once('my_file.php');
$content = ob_get_clean();
// force download of $content to a PDF
$html2pdf = new HTML2PDF('P','A3','fr', false, 'ISO-8859-1');
$html2pdf->writeHTML($content);
$html2pdf->Output('file_name.pdf', 'D');
?>
文件my_file.php是有一些PHP代码和HTML内容的文件,我想将它们保存到PDF中,变量$content是实际处理的PHP代码和所有内容。这在Apache上很好,但在IIS上不起作用。
有没有人知道用输出缓冲来使这个工作正常进行的另一种方法?我尝试了file_get_contents(' my_file.php ');但是当我这样做时,my_file.php中的php内容不会被处理。
请注意,我正在寻找不需要输出缓冲的方法,以便它可以在任何服务器上工作。我并不是在寻找告诉我要更改IIS服务器配置或使用html2pdf以外的其他东西的答案。
提前感谢您的帮助
发布于 2014-10-31 14:41:37
如果可以修改my_file.php
的内容,就可以将所有文本放入变量中,而不是直接输出它。
发布于 2014-10-31 14:35:53
您可以使用PDF http://php.net/manual/en/book.pdf.php
并遵循下面的示例:http://php.net/manual/en/pdf.examples-basic.php
希望有帮助:)
发布于 2014-10-31 14:42:42
最简单的方法是编辑my_file.php,这样它就不会包含,而是将HTML分配给一个PHP变量。那么,您所需要做的就是回显变量。
//other PHP processing goes here, or anywhere else.
$someVar = "hello world";
$myHTML = "<html>My output: $someVar </html>";
echo $myHTML;
这是一种处理HTML输出的丑陋方法,我并不是说它是一个好的编程方法,但是如果您想避免编辑配置文件,它将是快速而简单的。
https://stackoverflow.com/questions/26677037
复制相似问题