C# 检测OpenXml.Wordprocessing中的可打印区域宽度

C# 检测OpenXml.Wordprocessing中的可打印区域宽度,c#,openxml,wordprocessingml,C#,Openxml,Wordprocessingml,我正在使用OpenXml向Word文档添加一个图像 我可以告诉正在添加的图像的大小,如果我想,我可以调整它的大小。但我真正想要的是,只有当它比当前列宽时,才调整它的大小。(在我的例子中,只有一列,但这可能会改变。) 有没有办法知道当前列的宽度,从而确保图像适合列?事实上,大型图像正在从页面上延伸出去。我更新了我的答案,因为这是一个涉及表列的案例的答案,但问题中的“列”一词是指列或文本,而不是表中的列 在文档中,您应该能够获得以下值: // ... var sectionProperties =

我正在使用OpenXml向Word文档添加一个图像

我可以告诉正在添加的图像的大小,如果我想,我可以调整它的大小。但我真正想要的是,只有当它比当前列宽时,才调整它的大小。(在我的例子中,只有一列,但这可能会改变。)


有没有办法知道当前列的宽度,从而确保图像适合列?事实上,大型图像正在从页面上延伸出去。

我更新了我的答案,因为这是一个涉及表列的案例的答案,但问题中的“列”一词是指列或文本,而不是表中的列

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

// ...
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;
/。。。
var sectionProperties=body.GetFirstChild();
//pageSize包含宽度和高度属性
var pageSize=sectionProperties.GetFirstChild();
//这包含有关周围页边距的信息
var pageMargin=sectionProperties.GetFirstChild();
//其中包含有关相邻文本列之间间距的信息
//如果将页面布局与多个文本列一起使用,这将非常有用
var columns=sectionProperties.GetFirstChild();
var spaceBetweenColumns=columns.Space.Value;
var columnsCount=columns.ColumnCount.Value;

我没有对此进行测试,但我想您可能能够使用这些值计算文本列的实际宽度。

没有表格,因此也没有表格单元格。哦,您写了关于列的内容,因此我假设您正在写关于表格中列的内容:p。我已经用一些您可能觉得有用的信息更新了答案。