学习C#调用OpenXml操作word文档的基本用法(33:学习图形类-3)

  本文学习openxml的文本运行类Run的子类型图形类Drawing的子类型浮动式布局类Anchor的主要属性,其命名空间为DocumentFormat.OpenXml.Drawing.Wordprocessing。
  1)DistanceFromTop属性:图形与上边缘文本的距离,类型为UInt32Value,还有DistanceFromBottom、DistanceFromLeft和DistanceFromRight属性,分别代表图形与下边缘文本的距离、与左边缘文本的距离、与右边缘文本的距离;
  2)SimplePos属性:设置是否启用简单位置模式,类型为BooleanValue,该属性决定图形是由直接指定的绝对坐标定位,还是由Word的排版引擎动态计算位置;
  3)SimplePosition属性:设置启用简单位置模式时的简单定位坐标,类型为SimplePosition,主要属性包括X(X轴坐标)、Y(Y轴坐标),数量单位都是 EMU(1 EMU = 1/914400 英寸 = 1/36000 毫米);
  4)RelativeHeight属性:设置浮动图形在垂直方向上的层叠顺序(Z-order),类型为UInt32Value;
  5)BehindDoc属性:设置浮动图形与文档文本的层叠顺序,类型为BooleanValue,值为true将图形放置在文本的下方,文本会覆盖在图形之上,形成背景或水印效果,值为false将图形放置在文本的上方,图形会覆盖在文本之上,形成浮于文字上方的效果;
  6)Locked属性:设置是否锁定定位点,类型为BooleanValue,防止浮动图形的位置被应用程序在编辑时自动改变,通过锁定图形与其锚点(Anchor Point)的关联,确保图形在页面上的绝对位置稳定;
  7)LayoutInCell属性:设置当图形位于表格单元格内时,其定位的计算应基于单元格内容还是整个页面,类型为BooleanValue;
  8)Hidden属性:设置控制浮动图形在文档中的可见性,实现按需显示或隐藏内容,类型为BooleanValue;
  9)AllowOverlap属性:设置是否允许浮动图形与其它对象重叠,类型为BooleanValue;
  10)EditId属性:设置编辑标识符,类型为HexBinaryValue,该属性与Word的修订或审阅功能有关,记录对当前图形所做的特定编辑操作,用于在协同编辑场景下跟踪谁在何时做了什么修改;
  11)AnchorId属性:设置图形的唯一标识符,类型为HexBinaryValue,用于在同一文档中精准定位和引用特定的图形对象;
  12)HorizontalPosition属性:设置水平定位,类型为HorizontalPosition,主要属性包括RelativeFrom(设置水平定位的参考基准,从枚举类HorizontalRelativePositionValues内取值)、HorizontalAlignment(设置水平对齐方式)、PositionOffset(设置图形相对于RelativeFrom参考系的绝对偏移量)、PercentagePositionHeightOffset(设置使用百分比来指定水平偏移量);
  13)VerticalPosition属性:设置垂直定位,类型为VerticalPosition,主要属性包括RelativeFrom(设置垂直定位的参考基准,从枚举类VerticalRelativePositionValues内取值)、VerticalAlignment(设置垂直对齐方式)、PositionOffset(设置图形相对于RelativeFrom参考系的绝对偏移量)、PercentagePositionVerticalOffset(设置使用百分比来指定垂直偏移量);
  14)Extent属性:设置图形尺寸,类型为Extent ,主要包括Cx(长度)、Cy(宽度)两个属性,类型为Int64Value,数值单位为EMU(1 EMU = 1/914400 英寸 = 1/36000 毫米;
  15)EffectExtent属性:设置对象阴影、发光等效果所占用的扩展空间,确保效果不会与其他内容重叠,参考文献3中对该类的说明为"指定应添加到图像的每个边缘 (顶部、底部、左侧、右侧) 的额外范围,以便补偿应用于DrawingML对象的任何绘图效果",类型为EffectExtent,主要包括LeftEdge、TopEdge、RightEdge、BottomEdge等4个属性,类型都是Int64Value,分别用于设置左侧边缘上的附加范围、顶部边缘上的附加范围、右侧边缘上的附加范围、底部边缘上的附加范围。

参考文献

1https://github.com/dotnet/Open-XML-SDK

2https://learn.microsoft.com/zh-cn/office/open-xml/open-xml-sdk

3https://learn.microsoft.com/zh-cn/dotnet/api/documentformat.openxml.wordprocessing.style?view=openxml-3.0.1

4https://blog.csdn.net/i042416/article/details/126228816

相关推荐
wujian831114 小时前
AI手机版怎么直接生成word?用“AI 导出鸭”把碎片时间变成专业文档
人工智能·ai·chatgpt·智能手机·word·ai导出鸭
鲲穹AI种草16 小时前
多文档批量整理如何选?多款 Word 处理工具能力客观记录
word·文档处理
AI英德西牛仔18 小时前
Claude导出word指令的PC端最优解:AI导出鸭电脑版底层逻辑全拆解
人工智能·word·excel·deepseek·ai导出鸭
Am-Chestnuts18 小时前
DeepSeek公式怎么复制到Word?用DS随心转保留LaTeX并生成可编辑文档
word
AI英德西牛仔19 小时前
Gemini 导出 word 指令 时代,PC 端 AI 工作流的最后一块拼图:AI 导出鸭电脑版深度拆解
人工智能·word·excel·deepseek·ai导出鸭
AI导出鸭20 小时前
怎么让Grok做表格?AI导出鸭苹果版通过专属解析引擎,将Grok输出的管道表格智能还原为二维结构,一键导出Excel或Word标准表格。
人工智能·chatgpt·word·excel·ai导出鸭
百事牛科技1 天前
Word部分区域可编辑:先选中再锁,两步搞定
word
DS随心转APP2 天前
AI生成的word怎么下载?AI导出鸭技术架构深度测评
人工智能·ai·架构·word·deepseek·ai导出鸭
Am-Chestnuts2 天前
DeepSeek复制到Word有黑底怎么办?用DS随心转保留原文再整理格式
word
Metaphor6922 天前
使用 Python 快速在 Word 文档中插入图片
python·word