如何在 Linux/PHP 环境下将文档转换为 PDF?

8
我想在我的网站上展示文档。服务器是托管在Debian机器上的。我考虑允许上传支持性文件,然后使用Linux应用程序或PHP应用程序将文档转换为PDF,并在HTML页面中显示该文件。是否有任何API或二进制文件可以让我这样做?
5个回答

3
如果需要转换的是办公文档,一种选择是使用无界面模式下的openoffice。这里提供一个Python脚本来演示具体操作:http://www.oooninja.com/2008/02/batch-command-line-file-conversion-with.html
如果需要转换其他类型的文档(例如XML文档),则需要更多工作。我曾经成功地使用XSL定义了一个将翻译转换为Docbook格式的过程,然后使用Docbook工具生成PDF文件和其他各种格式。如果您需要更精确地控制外观,则还可以使用XSL直接生成PDF。

1
一个相对较新的项目,名为phpLiveDocx,可以将DOC转换为PDF(以及其他一些格式)。它是基于SOAP的服务,并且可以完全免费使用。要查看使用phpLiveDocx将DOC转换为PDF的示例代码,请参阅最近的博客文章。

http://www.phplivedocx.org/2009/02/06/convert-doc-to-pdf-in-php/

当然,由于它基于SOAP,因此可以在支持PHP的所有操作系统上使用 :-)

1

您可以创建一个PDF打印机并通过lpr将任意数量的文档发送到打印机。

  function lpr($STR,$PRN,$TITLE) {

    $prn=(isset($PRN) && strlen($PRN))?"$PRN":C_DEFAULTPRN ;
    $title=(isset($TITLE))?"$TITLE":"stdin" . rand() ;
    $CMDLINE="lpr -P $prn -T $title";
    $pipe=popen("$CMDLINE" , 'w');
    if (!$pipe) {print "pipe failed."; return ""; }
    fwrite($pipe,$STR);
    pclose($pipe);

  } // lpr()

//open document...
//read into $source
lpr($source, "PDF", $title); //print to device
exit();

此外,HTMLDOC 还可以将您的 HTML 转换为 PDF。



0

另一种方法是生成一个包含所需内容的HTML文件,然后使用htmldoc将其转换为PDF。

http://www.easysw.com/htmldoc/

实际上,与直接操作 PDF 文档中的对象相比,这要容易得多。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接