【问题标题】:How to convert documents to PDF on a Linux/PHP stack?如何在 Linux/PHP 堆栈上将文档转换为 PDF?
【发布时间】:2008-12-18 07:46:33
【问题描述】:

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

【问题讨论】:

    标签: php linux pdf


    【解决方案1】:

    如果是办公文档,一种选择是在无头模式下使用 openoffice。请参阅此处以获取显示如何操作的 python 脚本:http://www.oooninja.com/2008/02/batch-command-line-file-conversion-with.html

    如果它是任何其他类型的文档(例如您自己的 XML 文档),那么您需要做更多的工作。我使用 XSL 定义了文档格式的翻译,然后使用文档工具生成 PDF(和各种其他格式),取得了一些成功。如果您需要更精确地控制事物的外观,也可以使用 XSL 直接转至 PDF。

    【讨论】:

      【解决方案2】:

      您可以创建 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。

      【讨论】:

        【解决方案3】:

        一个名为 phpLiveDocx 的相对较新的项目可以将 DOC 转换为 PDF(除了许多其他格式)。它是一个基于 SOAP 的服务,可以完全免费使用。有关使用 phpLiveDocx 将 DOC 转换为 PDF 的示例代码,请查看最近的博客文章:

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

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

        【讨论】:

          【解决方案4】:

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

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

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

          【讨论】:

            【解决方案5】:
            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2012-05-06
            • 2019-03-22
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2019-11-12
            • 2020-09-30
            相关资源
            最近更新 更多