2010-01-28 74 views
5

我正在創建報紙創作系統。今天,我使用Aspose.Words庫來生成使用Docx格式作爲輸出的報紙,基於許多其他文檔作爲輸入。獲取MS Word中呈現的文本和圖像的高度

其基本思想是將大量文章文檔加載到列表中,然後用報紙生成最終的docx。

我們需要在列內獲得文本(包含圖像和表格)的總高度。 Aspose.Words像DOM這樣的庫處理Docx格式,因此無法知道文本如何排列在列中。然後我不知道真正的高度。

我們以我們自己的方式來獲得這個高度。我使用System.Drawing.Graphics命名空間中的MeasureString()函數。它返回字符串使用的寬度和高度,我可以估計它將在列中使用多少行(和點或英寸)。

但它很差,我們需要一個更體面的解決方案。我們正在考慮使用OpenXML SDK來獲得這個高度,對嗎?

Aspose.Words不支持知道它的方法,並且所有渲染類對於庫是私有的。

你能想出一個新的方法來獲得這個高度嗎?

謝謝 丹尼爾·科赫

+1

他們添加了一個功能,因爲這個問題發佈到Aspose.Words - 它現在暴露了一些佈局引擎和更多的渲染東西。您可以獲取頁碼並渲染圖形對象和圖像以及內容。不知道如何獲得物體的高度。 – BrainSlugs83 2015-06-30 00:01:02

回答

0

謝謝大家的回答。

我完成它將Aspose.Words更改爲PDFLib。現在我可以使用Postscript Points來控制頁面,列或任何其他內容。

我們只保留Aspose.Words到內容導入,但它不表示打印新聞稿。

1

此屬性不打開XML或SDK(或VBA/VSTO爲此事)曝光。如何計算高度不在任何文檔中。可能你正在做的這是一種繼續進行的方式。

另一種可能的方法是將TextColumns放在表格列/單元格中並抓取該高度(但如果它是單元格中的兩個文本列,並且第一個「填充」單元格從上到下,第二個單元格不會't,你仍然有不能計算第二個的大小的問題)。

0

我有幾乎相同的問題,你有..但在我的情況下,我正在處理測試考試內的問題.. 好吧,我們現在使用RTF來構建問題和一個RichTextBox度量高度..就這樣(http://blogs.technet.com/david_bennett/archive/2005/04/06/403402.aspx).. 我想遷移到DOCX ..但仍然沒有運氣如何衡量與表和圖像的問題.. :-( 現在我正在研究文檔成員( http://msdn.microsoft.com/en-us/library/microsoft.office.interop.word._document_members.aspx),嘗試與Word自動化做..

問候,

布魯諾

+0

Aspose.Words也適用於RTF。 – BrainSlugs83 2015-06-29 23:59:55