在OpenXml.Wordprocessing中检测可打印区域宽度

时间:2014-01-31 21:24:22

标签: c# openxml wordprocessingml

我正在使用OpenXml将图像添加到Word文档中。

我能够分辨出正在添加的图像的大小,如果我愿意,我可以调整它的大小。但我真正想要的只是调整大小,如果它比当前列宽。 (就我而言,只有一列,但可能会改变。)

有没有办法知道当前色谱柱的宽度,因此能够确保图像适合色谱柱?实际上,大图像正在从页面上延伸出来。

1 个答案:

答案 0 :(得分:2)

我已经更新了我的答案,因为它是涉及表格列的情况的答案,但问题中的单词 column 表示列或文本而不是表格中的列

在文档中,您应该能够获得以下值:

// ...
var sectionProperties = body.GetFirstChild<SectionProperties>();
// pageSize contains Width and Height properties
var pageSize = sectionProperties.GetFirstChild<PageSize>();

// this contains information about surrounding margins
var pageMargin = sectionProperties.GetFirstChild<PageMargin>();

// this contains information about spacing between neighbouring columns of text
// this can be useful if You use page layout with multiple text columns
var columns = sectionProperties.GetFirstChild<Columns>();
var spaceBetweenColumns = columns.Space.Value;
var columnsCount = columns.ColumnCount.Value;

我没有测试过这个,但我想您可以使用这些值来计算文本列的实际宽度。