簡體   English   中英

如何通過api將文本文檔(ODT或DOCX)中的表導出為EMF格式

[英]How to export table in text document (ODT or DOCX) to EMF format via api

我有一些文本文檔(ODT或DOCX)和一些表格。 我使用LibreOffice API(在Java中)打開此文檔。

我想將表導出為EMF文件。 有任何想法嗎? PS LibreOffice(OpenOffice)API的官方文檔很差。 在這篇非常有趣的文章http://fivedots.coe.psu.ac.th/~ad/jlop/中找不到此信息。

沒有現成的LibreOffice API可以做到這一點,但根據你如何決定細節,我認為這仍然是可行的。 幾個提示:

  1. 如果要導出表,首先需要遍歷文檔的表容器, XTextTablesSupplier允許您執行此操作。

  2. 然后,您可能希望將每個表復制到單獨的Writer文檔中,因此當您導出Writer頁面時,只有表格顯示在那里,沒有其他內容。 (請記住,表格可能跨越多個頁面)。 使用XTextCopy界面可以在文檔之間復制內容。

  3. 一旦你有一個只包含一個表的Writer文檔,你需要遍歷文檔的所有頁面:打開的文檔的組件可以被轉換為XRenderable ,然后getRendererCount()告訴你頁面的數量。 (您也可以使用XPageCursor ,但無論如何都需要以前的界面。)

  4. 最后,只要您擁有單個文檔的單個頁面,就可以使用XRenderer接口的render()方法將頁面實際呈現為矢量格式。

我建議你考慮一下你是否真的想在LibreOffice中做這一切; 如果您將步驟3和4替換為導出為PDF,則可以簡化您的工作,然后自己處理PDF到EMF轉換。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM