5

我正在创建一个报纸创作系统。今天我使用 Aspose.Words 库来生成报纸,使用 Docx 格式作为输出,基于许多其他文档作为输入。

基本思想是将大量文章文档加载到一个List中,然后生成一个带有报纸的最终docx。

我们需要获取列内文本(包括图像和表格)的总高度。由于像 Aspose.Words 这样的库处理像 DOM 这样的 Docx 格式,因此无法知道文本将如何在列内排列。那我就无法知道真实的高度了。

我们以自己的方式努力达到这个高度。我正在使用 System.Drawing.Graphics 命名空间中的 MeasureString() 函数。它返回字符串使用的宽度和高度,我可以估计它将在列内使用多少行(以及点或英寸)。

但它非常糟糕,我们需要一个更体面的解决方案。我们正在考虑使用 OpenXML SDK 来获得这个高度,可以吗?

Aspose.Words 不支持了解它的方式,并且所有 Render 类都是库私有的。

你能想出一个新的方法来达到这个高度吗?

谢谢你,丹尼尔·科赫

4

3 回答 3

1

此属性未在 Open XML 或 SDK(或 VBA/VSTO)中公开。任何文档中都没有准确计算高度的方法。可能你正在做的方式是一种继续进行的方式。

另一种可能的方法是将您的 TextColumns 放在表格列/单元格中并抓住该高度(但如果它是单元格中的两个文本列并且第一个从上到下“填充”单元格而第二个没有,您' 仍然会有无法计算第二个大小的问题)。

于 2010-02-07T01:32:56.980 回答
0

谢谢大家的回答。

我完成了将 Aspose.Words 更改为 PDFLib。现在我可以使用 Postscript Points 控制页面、列或任何内容。

我们保留 Aspose.Words 仅用于内容导入,但不指示打印时事通讯。

于 2010-02-25T12:06:42.293 回答
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自动化..

问候,

布鲁诺

于 2010-02-24T20:28:47.423 回答