Office Open XML 的测量单位
本文記錄 Office Open XML (OOXML) 的測量單位
在 Office Open XML 默認單位是 dxa 也就是像素點的 20 倍,如 ISO 216 A4 (210x297mm ~ 8.3×11.7in) 的大小可以使用下面代碼表示
在頁面大小 Page width Page height 和邊距 margin 和縮進 tabs 使用
<w:pgSz w:w="11906" w:h="16838"/>單位計算可以使用下面公式
像素 Points = dxa/20 英寸 Inches = Points/72 厘米 Centimeters = Inches*2.54在 OpenXML 因為 dxa 是像素點的 20 倍,所以也叫二十分之一點,另外這里說的像素點是 Point 而不是像素 Pixel 哦
縮寫如下
- Points:pt
- Inches:in
- Centimeters:cm
以 A4 為例
Width = 11906 dxa = 595.3 point = 8.27 in = 21 cmHalf-points
用來表示字體大小的半點,一個點等于兩個半點,如表示 12pt 可以這樣寫
// run properties <w:rPr>// 24 = 12pt<w:sz w:val="24"/> </w:rPr>Fiftieths of a Percent
表示百分比相對值,用于表示表格的寬度和相對寬度,他的值和百分比換算如下
n/100 * 5000如百分之50可以表示為 50/100 * 5000 pct 的大小,如表格的寬度是百分之50寬度
<w:tbl><w:tblPr><!-- 表格寬度是百分之50寬度 --><w:tblW w:w="2500" w:type="pct"/></w:tblPr><w:tblGrid/><w:tr><w:tc><w:p><w:r><w:t>Hello, World!</w:t></w:r></w:p></w:tc></w:tr> </w:tbl>English Metric Unit
這也是最常用的單位,使用 EMUs (English Metric Unit) 用來表示圖片和其他元素的寬度,換算如下
1 in = 914400 EMUs 1 cm = 360000 EMUs如用于 w:drawing 繪制,表示繪制畫布的寬度 <wp:extent cx="1530350" cy="2142490"/> 用這么大的數是可以提高精度和性能,不需要通過浮點計算
開源庫
我開源了 dotnetCampus.OpenXMLUnitConverter 包含了本文的轉換方法
工具獲取方法是通過以下命令安裝 dotnet 工具
dotnet tool update -g dotnetCampus.OfficeDocumentZipper啟動工具方法是在命令行輸入下面代碼
OfficeDocumentZipper另外,在項目使用,可以通過 NuGet 安裝 dotnetCampus.OpenXMLUnitConverter 這個庫
dotnet add package dotnetCampus.OpenXMLUnitConverter這個庫同時包含使用 SourceYard 打包的源代碼 NuGet 包,可以使用下面代碼安裝
dotnet add package dotnetCampus.OpenXMLUnitConverter.Source也可以在 csproj 添加下面代碼
<PackageReference Include="dotnetCampus.OpenXMLUnitConverter.Source" Version="1.0.2-alpah01"><PrivateAssets>all</PrivateAssets><IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets> </PackageReference>更多請看 Office 使用 OpenXML SDK 解析文檔博客目錄
我搭建了自己的博客 https://blog.lindexi.com/ 歡迎大家訪問,里面有很多新的博客。只有在我看到博客寫成熟之后才會放在csdn或博客園,但是一旦發布了就不再更新
如果在博客看到有任何不懂的,歡迎交流,我搭建了 dotnet 職業技術學院 歡迎大家加入
如有不方便在博客評論的問題,可以加我 QQ 2844808902 交流
本作品采用知識共享署名-非商業性使用-相同方式共享 4.0 國際許可協議進行許可。歡迎轉載、使用、重新發布,但務必保留文章署名林德熙(包含鏈接:http://blog.csdn.net/lindexi_gd ),不得用于商業目的,基于本文修改后的作品務必以相同的許可發布。如有任何疑問,請與我聯系。
總結
以上是生活随笔為你收集整理的Office Open XML 的测量单位的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 谷歌浏览器怎么保存网页本身或链接?
- 下一篇: C语言short转成int,short转