2010-01-28 43 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

相关问题