是否可以使用 TinyButStrong 和 OpenTBS 插件输出 .docx 和 .odt 以外的格式

发布于 2024-11-08 04:32:29 字数 395 浏览 0 评论 0 原文

我有一个模块,它将数据库记录中的文档与 .docx.odt 文档模型合并。

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

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

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

          DOCX (or ODT) + database record => PDF

而且我不想使用 phplivedocx。

I have a module which merges a document from database records and .docx or .odt document model.

I have to output .docx, .odt or .pdf. For outputting to Microsoft and Open formats, there is no problem, all works properly.

But what I want to know is, can I output to a format (like XML or HTML) which I can use to subsequently build a PDF document?

If I can't, are there any libraries which provide a merge document capability like:

          DOCX (or ODT) + database record => PDF

And I don't want to use phplivedocx.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

输什么也不输骨气 2024-11-15 04:32:29

我成功地将 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!

I successfully put a portable version of libreoffice on my host's webserver, which I call with PHP to do a commandline conversion from .docx, etc. to pdf. on the fly. I do not have admin rights on my host's webserver. Here is my blog post of what I did:

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

Yay! Convert directly from .docx or .odt to .pdf using PHP with LibreOffice (OpenOffice's successor)!

浅唱ヾ落雨殇 2024-11-15 04:32:29

我不知道有哪个 PHP 库可以执行 DOCX => PDF。事实上,将 DOCX 转换为 PHP 中的其他内容是当今一个未解决的问题。这与您制作 DOCX 的方式无关。

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

Html2Pdf 是一个享有盛誉的 PHP 库,它可以处理 HTML => PDF。
还有 DomPdf

因此,如果您能找到 DOCX 的 PHP 库 => HTML,然后就可以了。

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

将 DOCX 转换为 HTML 理论上是可能的。有一个 Windows 软件可以通过 EpingSoft 来完成此操作。如果您需要在 PHP 中执行此操作,一些网络文章会告诉您如何执行此操作,但由于我找不到任何 PHP 代码执行此操作,所以我认为它的理论性大于实用性。

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

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

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

I don't know any PHP library that does DOCX => PDF. In fact, the DOCX conversion to something else in PHP is an opened problem today. This is independent from how you made the DOCX.

But as you said, they are PHP libraries for HTML => PDF.

Html2Pdf is a well reputed PHP library that does HTML => PDF.
There is also DomPdf.

So if you can found a PHP library for DOCX => HTML, then it would work.

Of course it has some limitations because even if both PDF and DOCX are opened format, they have very specific features, they need huge rendering process, and the editors keep some good tips for them.

Converting DOCX to HTML is theoretically possible. There is a Windows software that does it by EpingSoft. If you need to do it in PHP, some web articles tell you how to make it, but since I cannot found any PHP code doing this, I guess it is more theoretical than practical.

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

How complicated that process would be
depends on how much of Word's native
formatting you need to preserve during
the conversion.

If you want to try this way, it's good to know that OpenTBS enables you to read the XML before and after the merge. It is based on a PHP class names TbsZip that can read any XML file in the DOCX since it's in fact a zip archive.

银河中√捞星星 2024-11-15 04:32:29

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

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

There is also posible to use PDF files directly in TBS after decompressing:

qpdf --qdf --object-streams=disable in.pdf out.pdf
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文