【问题标题】:Is it possible to output formats other than .docx and .odt with TinyButStrong and OpenTBS plugin是否可以使用 TinyButStrong 和 OpenTBS 插件输出 .docx 和 .odt 以外的格式
【发布时间】:2011-05-20 10:40:59
【问题描述】:

我有一个模块可以合并来自数据库记录的文档和.docx.odt 文档模型。

我必须输出.docx.odt.pdf。对于输出到 Microsoft 和 Open 格式,没有问题,一切正常。

但我想知道的是,我可以输出成一种格式(如 XML 或 HTML),以便随后构建 PDF 文档吗?

如果我不能,是否有任何库提供合并文档功能,例如:

          DOCX (or ODT) + database record => PDF

而且我不想使用 phplivedocx。

【问题讨论】:

    标签: php pdf merge docx opentbs


    【解决方案1】:

    我成功地将 libreoffice 的便携式版本放在主机的网络服务器上,我用 PHP 调用它来执行从 .docx 等到 pdf 的命令行转换。在飞行中。我对主机的网络服务器没有管理员权限。这是我所做的博客文章:

    http://geekswithblogs.net/robertphyatt/archive/2011/11/19/converting-.docx-to-pdf-or-.doc-to-pdf-or-.doc.aspx

    耶!使用 PHP 和 LibreOffice(OpenOffice 的继任者)直接从 .docx 或 .odt 转换为 .pdf!

    【讨论】:

      【解决方案2】:

      我不知道任何执行 DOCX => PDF 的 PHP 库。事实上,在 PHP 中将 DOCX 转换为其他东西是今天的一个公开问题。这与您制作 DOCX 的方式无关。

      但正如您所说,它们是用于 HTML => PDF 的 PHP 库。

      Html2Pdf 是一个知名的 PHP 库,它执行 HTML => PDF。 还有DomPdf

      所以如果你能找到一个 DOCX => HTML 的 PHP 库,那么它就可以工作了。

      当然它有一些局限性,因为即使PDF和DOCX都是开放格式,它们也有非常特殊的功能,它们需要巨大的渲染过程,并且编辑器为它们保留了一些好的提示。

      理论上可以将 DOCX 转换为 HTML。 EpingSoft 有一个 Windows 软件可以做到这一点。如果你需要用 PHP 来做,一些网络文章会告诉你如何做,但由于我找不到任何 PHP 代码来做这件事,我想它是理论多于实际。

      http://www.quepublishing.com/articles/article.aspx?p=691502

      这个过程会有多复杂 取决于多少Word的原生 期间需要保留的格式 转换。

      如果您想尝试这种方式,很高兴知道 OpenTBS 使您能够在合并之前和之后读取 XML。它基于一个 PHP 类名 TbsZip,可以读取 DOCX 中的任何 XML 文件,因为它实际上是一个 zip 存档。

      【讨论】:

        【解决方案3】:

        PDF文件解压后也可以直接在TBS中使用:

        qpdf --qdf --object-streams=disable in.pdf out.pdf
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-05-15
          • 2015-12-25
          • 1970-01-01
          相关资源
          最近更新 更多