【问题标题】:Creating ODT and PDF files as end result创建 ODT 和 PDF 文件作为最终结果
【发布时间】:2010-05-03 22:47:15
【问题描述】:

一段时间以来,我一直在开发一个创建各种文档格式的应用程序,但收效甚微。

理想情况下,我想动态创建一个相当简单的 ODT/PDF/DOC 文件。我一直专注于 ODT,因为它是可编辑的,并且足够开放,有多种工具可以将其转换为我需要的任何其他格式。

问题在于 ODT XML 文件并不简单,而且我找不到任何高质量的 API(尤其是在 python 中)。到目前为止,我最成功地创建了一个模板 ODT 文件,然后根据需要在 python 中操作 DOM。这通常没问题,但很快就变得不够用了,每次我需要更改其中一个模板时都需要进行太多调整。

要求是:

1) 生成一个简单的文档,其中包含列表、段落以及在页面上绘制简单图形(框、圆圈等...)的能力

2) 指定页面大小的能力,不同的格式在发送到打印机时通常应该打印完全相同的输出

我的问题:

1) 还有其他方法可以生成 ODT/PDF/DOC 文件吗?

2) 可以接受 LaTeX 吗?我从来没有真正使用过它,有人有将 LaTeX 文件转换为其他格式的经验吗?

3) 可以使用 HTML 吗?网上有很多转换器。从技术上讲,您可以以 mm/cm 等为单位指定尺寸……但我担心浏览器/转换器之间的打印输出会有所不同……

还有其他想法吗?

【问题讨论】:

    标签: pdf latex


    【解决方案1】:

    你试过pandoc吗?我一直在成功地使用它来将不同的格式相互转换。为什么要尝试两次发明轮子?

    【讨论】:

      【解决方案2】:

      谢谢,哈比。我确实看过 Pandoc,但它的网站说它不读取 DocBook XML,它只编写它。它可以“读取 markdown 和 reStructuredText、HTML 和 LaTeX 的(子集)”。

      现在,我可以尝试做 DocBook->HTML 然后 HTML->ODT 的路线。我不知道这样会丢失多少信息。无论如何,值得一试......

      ...好吧,我刚刚尝试在http://johnmacfarlane.net/pandoc/try 使用他们的在线转换器以及相关书籍的完整 HTML 文本,producedoss.com/en/produceoss.html(请注意,此 HTML 是从 DocBook XML 大师生成的) .对于 dest 格式,我选择了“OpenDocument XML”。

      500 内部服务器错误 超时

      好吧,也许这太大了。让我试试更小的:

      productionoss.com/en/bug-tracker.html

      ...得到了看起来不错的 OpenDocument XML 输出,只是将文本的主体替换为“截断!如果要转换大文件,请下载 pandoc。”所以我得下载试试看。

      【讨论】:

        【解决方案3】:

        我想要成功,您必须定义输入所有内容的方式。你为什么不直接使用openoffice?它将保存到 ODT (duh...)、PDF 和 HTML(虽然它不是干净的 HTML,但实际上很丑)。

        根据我最近的经验,我通过 LaTeXML 从 latex -> xhtml 取得了成功(我必须从源代码编译)。 LaTeX 似乎越来越像一种终端格式。它非常适合 PDF,但是一旦您需要一些灵活性,它就会失败。我还应该注意,我的工作流程中没有乳胶-> dvi,所以我不能评论从 dvi 文件中读取的 tex4ht 之类的东西(我有太多不能与 DVI 一起使用的图形现在无法切换它们)。

        很快我将把所有东西都移到 docbook 4.5 中——我喜欢支持乳胶、html 的 docbook-utils 包,我什至看到了一个 ODT 转换器。但是 docbook 的标记非常繁重,这很烦人,但它会为我提供前进所需的灵活性。

        由于您使用的是 python,您是否考虑过使用 ReStructured Text?

        我也非常喜欢使用 emacs 的 orgmode 进行发布,这是一种超轻量级的标记,可以使用多种不同的格式。

        【讨论】:

          【解决方案4】:

          Mica,你在哪里看到的这个 DocBook->ODT 转换器?我也需要这样做。 (Pandoc 似乎无法读取 DocBook Lite XML。)

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2010-09-18
            • 1970-01-01
            • 2013-08-28
            • 2015-12-19
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多