在php中将pdf转换为html

时间:2011-01-13 09:30:53

标签: php fpdf

我想阅读pdf文档并将内容显示给浏览器,而不允许用户保存pdf的副本。

如何将fpdf用于此目的?到目前为止,除了创建新的pdf之外,我无法找到一种用fpdf阅读pdf文档的方法。任何人都可以建议一个阅读pdf文件的例子,如果可能的话,如何禁用另存为pdf选项?

4 个答案:

答案 0 :(得分:2)

fpdf无法读取pdf文件。看看它是FAQ - 16一个17声音很有趣,它就像有插件一样可以做到这一点。

你真正无法避免的是让用户保存该pdf - 必须将其发送到客户端机器上的浏览器,以显示它,因此总是有可能保存它。一种可能性是将pdf的每一页转换为图像(例如使用Imagemagick)并显示这些图像,因此用户无法从中复制文本,也无法获得原始的pdf文档 - 但是这只会让人烦恼。

答案 1 :(得分:0)

如果您有现有PDF,则希望将其显示为内联,而不是让他们下载:

// Path to PDF file
$file = "blah.pdf";

// Show in browser
header('Content-type: application/pdf');
header('Content-Disposition: inline; filename="'.basename($file).'"');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
readfile($file);
exit();

您不需要使用FPDF,它只是一个可以帮助您从头开始创建PDF的类。

另外,请记住,即使显示内联,也无法阻止用户保存PDF。

答案 2 :(得分:0)

我不确定这是否可行,请在此处查看FPDF的FPDI扩展名:http://www.setasign.de/products/pdf-php-solutions/fpdi/

答案 3 :(得分:0)

要将pdf转换为html,有一个名为pdftohtml的linux程序。但请注意,这样做的结果不会创建看起来像原始pdf的东西,并且在许多情况下(锁定pdf等)它将失败。什么是可能的解决方案是使用像ImageMagick之类的程序生成每个页面的图像,然后将html放在不可见的图层上以允许交互。如果我是你,我还是宁愿去内联展示pdf。