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

  openxml的文本运行类Run的子类型图形类Drawing只有两个属性,代表图形的两种布局方式,一个属性为Anchor,保存浮动式布局设置,另一个属性为Inline,代表嵌入式布局,后者的类型为Inline,命名空间为,DocumentFormat.OpenXml.Drawing.Wordprocessing,本文学习Inline类的主要属性。
  1)DistanceFromTop属性:图形与上边缘文本的距离,类型为UInt32Value,还有DistanceFromBottom、DistanceFromLeft和DistanceFromRight属性,分别代表图形与下边缘文本的距离、与左边缘文本的距离、与右边缘文本的距离;
  2)AnchorId属性:设置图形的唯一标识符,类型为HexBinaryValue,用于在同一文档中精准定位和引用这个特定的图形对象;
  3)EditId属性:设置编辑标识符,类型为HexBinaryValue,该属性与Word的修订或审阅功能有关,记录对当前图形所做的特定编辑操作,用于在协同编辑场景下跟踪谁在何时做了什么修改;
  4)Extent属性:设置图形尺寸,类型为Extent ,主要包括Cx(长度)、Cy(宽度)两个属性,类型为Int64Value,数值单位为EMU(1 EMU = 1/914400 英寸 = 1/36000 毫米;
  5)EffectExtent属性:设置对象阴影、发光等效果所占用的扩展空间,确保效果不会与其他内容重叠,参考文献3中对该类的说明为"指定应添加到图像的每个边缘 (顶部、底部、左侧、右侧) 的额外范围,以便补偿应用于DrawingML对象的任何绘图效果",类型为EffectExtent,主要包括LeftEdge、TopEdge、RightEdge、BottomEdge等4个属性,类型都是Int64Value,分别用于设置左侧边缘上的附加范围、顶部边缘上的附加范围、右侧边缘上的附加范围、底部边缘上的附加范围;
  6)DocProperties属性:设置图形的非可视化属性,类型为DocProperties,主要属性包括Id(应用程序定义的唯一标识符)、Name(图形名称,非唯一)、Description(图形说明);
  7)NonVisualGraphicFrameDrawingProperties属性:设置图形框的非可视化属性,类型为NonVisualGraphicFrameDrawingProperties,主要属性包括GraphicFrameLocks(图形框锁定设置,通过一组布尔属性限制在操作界面对图形对象的编辑权限,包括NoGrouping------不允许形状分组、NoDrilldown------禁止选择子形状、NoSelection------禁止选择形状、NoChangeAspect------不允许纵横比更改、NoMove------禁止形状移动、NoResize------不允许调整形状大小),ExtensionList(扩展属性列表);
  8)Graphic属性:用于引用实际图形数据,类型为Graphic,仅包含一个属性GraphicData,类型为GraphicData,可以保存图片、图表、表格等图形数据,上一篇文章中的示例用的是图片数据。

参考文献

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

相关推荐
IHaveADiscovery4 天前
无痛让AI由Markdown转Word:Pandoc模板了解一下
人工智能·word·markdown
yivifu7 天前
使用lxml操作 Word 的 OpenXML 底层
word·openxml·lxml
梦想出海-Phoebe8 天前
Gemini新增文件编辑功能:PDF、Word、Excel处理体验分享
pdf·word·excel
开开心心_Every10 天前
快速隐藏程序工具自定义快捷键一键切换
java·开发语言·前端·spring·智能手机·word·intellij-idea
ComPDFKit11 天前
PDF转Word后,每行都成一段?先分清断段、文本框和扫描页
pdf·word
thethefighter11 天前
快速预览Word、WPS秒开,支持空格弹窗
linux·word·wps·快速预览·空格弹窗·nhdeepview
SunnyDays101111 天前
Java 操作 Word 脚注和尾注:添加、读取与删除
java·word
SunnyDays101111 天前
Java 为 Word 添加页码:隐藏封面页码、从指定页开始编号、奇偶页页码设置等
java·word·页码
Eiceblue11 天前
用 Python 给 Word 文档加水印:文字、图片与批量处理
开发语言·vscode·python·word
Metaphor69212 天前
使用 Python 在 Word 文档中添加、修改和删除变量
python·word