【问题标题】:How to export table in text document (ODT or DOCX) to EMF format via api如何通过api将文本文档(ODT或DOCX)中的表格导出为EMF格式
【发布时间】:2019-04-01 07:12:41
【问题描述】:

我有一个带有一些表格的文本文档(ODT 或 DOCX)。我使用 LibreOffice API(Java 语言)打开此文档。

我想将表格导出为 EMF 文件。有任何想法吗? 附言LibreOffice (OpenOffice) API 的官方文档很差。在这篇非常有趣的文章http://fivedots.coe.psu.ac.th/~ad/jlop/ 中找不到此信息。

【问题讨论】:

    标签: api libreoffice openoffice.org


    【解决方案1】:

    没有现成的 LibreOffice API 可以做到这一点,但取决于你如何决定细节,我认为这仍然是可行的。几个提示:

    1. 如果要导出表格,首先需要遍历文档的表格容器,XTextTablesSupplier 允许你这样做。

    2. 然后您可能希望将每个表格复制到单独的 Writer 文档中,因此当您导出 Writer 页面时,只有表格显示在那里,没有其他内容。 (请记住,表格可能跨越多个页面)。使用XTextCopy 接口可以在文档之间复制内容。

    3. 一旦你有一个只包含一个表的 Writer 文档,你需要遍历文档的所有页面:打开的文档的组件可以转换为 XRenderable,然后 getRendererCount() 告诉你页数。 (你也可以使用XPageCursor,但是下面无论如何都需要以前的接口。)

    4. 最后,一旦你有了单个文档的单个页面,就可以使用XRenderer 接口的render() 方法将页面实际呈现为矢量格式。

    我建议您考虑是否真的想在 LibreOffice 本身内完成所有这些工作;如果您将步骤 3. 和 4. 替换为导出为 PDF,然后您自己处理 PDF 到 EMF 的转换,您可以简化您的工作。

    【讨论】:

      猜你喜欢
      • 2019-08-22
      • 2011-02-13
      • 2018-04-18
      • 2016-07-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-29
      • 1970-01-01
      相关资源
      最近更新 更多