前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >dotnet OpenXML 文本 ParagraphProperties 的属性作用

dotnet OpenXML 文本 ParagraphProperties 的属性作用

作者头像
林德熙
发布2020-07-28 15:34:13
7530
发布2020-07-28 15:34:13
举报
文章被收录于专栏:林德熙的博客林德熙的博客

本文收集 a:pPr 段落属性 ParagraphProperties 的属性的作用

本文的 OpneXMl SDK 的获取代码前提都有以下代码

代码语言:javascript
复制
public void Foo(Paragraph textParagraph)
{
	 ParagraphProperties paragraphProperties = textParagraph.ParagraphProperties;
}

本文会不断更新,因为属性太多了

defTabSz

Default Tab Size

OpneXMl SDK: var defaultTabSize = paragraphProperties.DefaultTabSize;

单位: EMU

作用: 描述 Tab 字符的默认宽度,注意 Tab 会被具体的字符影响,实际宽度不一定等于这个属性设置的值,因为会被具体的标尺影响,会和具体的排版相关

例如下面代码

代码语言:javascript
复制
<a:pPr fontAlgn="auto" defTabSz="360000">
	<a:r>
		<a:rPr b="1" dirty="0" lang="en-US" sz="2400">
			<a:latin typeface="+mn-ea"/>
		</a:rPr>
		<a:t>1 1	1</a:t>
	</a:r>
</a:pPr>

上面代码将 defTabSz 设置为 360000 也就是 10 厘米

代码语言:javascript
复制
1 cm = 360000 EMUs
10 cm = 3600000 EMUs

因此设置之后的效果如下

在两个字符之间如果输入 Tab 键,那么这个 Tab 键将占用 360000EMU 单位空间,当然,后续在这两个字符中间输出不超过 360000EMU 单位空间 的字符,那么依然不会更改 Tab 后字符的距离,如下图,输入了多个 z 字符

当然,想要理解这一点,还需要了解 Tab 的规则

latinLnBrk

Latin Line Break

OpenXML SDK: var latinLineBreak = paragraphProperties.LatinLineBreak;

作用:是否允许西文在单词中间换行

例如下面代码

代码语言:javascript
复制
<a:p>
	<a:pPr fontAlgn="auto" defTabSz="3600000" latinLnBrk="0">
	</a:pPr>
	<a:r>
		<a:rPr b="1" dirty="0" lang="en-US" sz="2400" >
			<a:latin typeface="+mn-ea"/>
		</a:rPr>
		<a:t>aa aa aa aa aa aa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</a:t>
	</a:r>
</a:p>

显示效果如下

latinLnBrk 设置为 1 的效果如下

代码语言:javascript
复制
	<a:pPr fontAlgn="auto" defTabSz="3600000" latinLnBrk="1">

eaLnBrk

East Asian Line Break

OpenXML SDK: var eastAsianLineBreak = paragraphProperties.EastAsianLineBreak;

作用:是否允许东方字符在单词中间换行

请看 latinLnBrk 的作用,表现为允许标点在行首,如下面代码

代码语言:javascript
复制
<a:p>
	<a:pPr fontAlgn="auto" defTabSz="3600000" latinLnBrk="1"></a:pPr>
	<a:r>
		<a:rPr b="1" dirty="0" lang="en-US" sz="2400" >
			<a:latin typeface="+mn-ea"/>
		</a:rPr>
		<a:t>打字打字打字打字打字打字打字打字打字打字打字。</a:t>
	</a:r>
</a:p>

效果如下

fontAlgn

Font Alignment

OpenXML SDK: var fontAlignment = paragraphProperties.FontAlignment;

作用:设置字体比较小的文本对齐方法

Office 的 PPT 2016 不支持

效果如下图

可以作出上标下标的效果

更多请看 Office 使用 OpenXML SDK 解析文档博客目录


本文会经常更新,请阅读原文: https://blog.lindexi.com/post/dotnet-OpenXML-%E6%96%87%E6%9C%AC-ParagraphProperties-%E7%9A%84%E5%B1%9E%E6%80%A7%E4%BD%9C%E7%94%A8.html ,以避免陈旧错误知识的误导,同时有更好的阅读体验。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • defTabSz
  • latinLnBrk
  • eaLnBrk
  • fontAlgn
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档