![](/img/trans.png)
[英]How to insert spreadsheet (ODS or XLSX) to text document (ODT or DOCX) via api
[英]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可以做到這一點,但根據你如何決定細節,我認為這仍然是可行的。 幾個提示:
如果要導出表,首先需要遍歷文檔的表容器, XTextTablesSupplier
允許您執行此操作。
然后,您可能希望將每個表復制到單獨的Writer文檔中,因此當您導出Writer頁面時,只有表格顯示在那里,沒有其他內容。 (請記住,表格可能跨越多個頁面)。 使用XTextCopy
界面可以在文檔之間復制內容。
一旦你有一個只包含一個表的Writer文檔,你需要遍歷文檔的所有頁面:打開的文檔的組件可以被轉換為XRenderable
,然后getRendererCount()
告訴你頁面的數量。 (您也可以使用XPageCursor
,但無論如何都需要以前的界面。)
最后,只要您擁有單個文檔的單個頁面,就可以使用XRenderer
接口的render()
方法將頁面實際呈現為矢量格式。
我建議你考慮一下你是否真的想在LibreOffice中做這一切; 如果您將步驟3和4替換為導出為PDF,則可以簡化您的工作,然后自己處理PDF到EMF轉換。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.