写点什么

Open Office XML 格式里如何描述多段具有不同字体设置的段落

作者:Jerry Wang
  • 2022 年 8 月 10 日
    四川
  • 本文字数:1519 字

    阅读完需:约 5 分钟

Open Office XML 格式里如何描述多段具有不同字体设置的段落

_rels.rels

这定义了告诉 MS Word 在哪里查找文档内容的参考。 在下列这种情况下,它引用 word/document.xml:


<?xml version="1.0" encoding="UTF-8" standalone="yes"?><Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">   <Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument"                 Target="word/document.xml"/></Relationships>
复制代码

_RELS/DOCUMENT.XML.RELS

此文件定义对嵌入在文档内容中的资源(例如图像)的引用。 如果我们的简单文档没有嵌入资源,那么关系标签为空:


<?xml version="1.0" encoding="UTF-8" standalone="yes"?><Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"></Relationships>
复制代码

[CONTENT_TYPES].XML

[Content_Types].xml 包含有关文档内媒体类型的信息。 因为我们只有文本内容,所以很简单:


<?xml version="1.0" encoding="UTF-8" standalone="yes"?><Types xmlns="http://schemas.openxmlformats.org/package/2006/content-types">   <Default Extension="rels" ContentType="application/vnd.openxmlformats-package.relationships+xml"/>   <Default Extension="xml" ContentType="application/xml"/>   <Override PartName="/word/document.xml"             ContentType="application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml"/></Types>
复制代码

DOCUMENT.XML

这是包含文档文本内容的主要 XML。 在该文件中,开发人员会发现文档中的一些命名空间引用未使用,但请注意,我们不应删除它们,因为 MS Word 需要它们。


这是我们的简化示例:


<w:document>   <w:body>       <w:p w:rsidR="005F670F" w:rsidRDefault="005F79F5">           <w:r><w:t>Test</w:t></w:r>       </w:p>       <w:sectPr w:rsidR="005F670F">           <w:pgSz w:w="12240" w:h="15840"/>           <w:pgMar w:top="1440" w:right="1440" w:bottom="1440" w:left="1440" w:header="720" w:footer="720"                    w:gutter="0"/>           <w:cols w:space="720"/>           <w:docGrid w:linePitch="360"/>       </w:sectPr>   </w:body></w:document>
复制代码


主节点<w:document> 代表文档本身,<w:body> 包含段落,嵌套在<w:body> 中的是由<w:sectPr> 定义的页面尺寸。


<w:rsidR> 是一个可以忽略的属性; 它被 MS Word 内部使用。


让我们看一个包含三个段落的更复杂的文档。 我在 Microsoft Word 的屏幕截图中用相同颜色突出显示了 XML,因此我们可以看到相关性:




Word 文档里的文本,被成对的标签 w:t 包裹。字体通过 w:rFont 标签指定。


颜色通过 w:color 指定。


新的段落,通过 w:p 指定。w:p 里,仍然是 w:t.

Paragraph Structure

一个简单的文档由段落组成,一个段落由连串(一系列具有相同字体、颜色等的文本)组成,连串由字符(例如 <w:t>)组成。<w:t> 标记里面可能有几个字符,在同一个 run 结构中可能有几个字符。

TEXT PROPERTIES

基本文本属性是字体、大小、颜色、样式等。 大约有 40 个标签用于指定文本外观。 正如在我们的三段示例中所见,每行在 <w:rPr> 中都有自己的属性,指定 <w:color><w:rFonts> 和粗体 <w:b>


需要注意的重要一点是,属性区分了两组字符,普通脚本和复杂脚本(例如阿拉伯语),并且属性具有不同的标记,具体取决于它所影响的字符类型。


大多数普通脚本属性标签都有一个匹配的复杂脚本标签,并添加了一个 C,指定该属性用于复杂脚本。 例如:<w:i>(斜体)变为 <w:iCs>,普通脚本的粗体标签 <w:b> 变为复杂脚本的 <w:bCs>

发布于: 刚刚阅读数: 4
用户头像

Jerry Wang

关注

🏆InfoQ写作平台-签约作者🏆 2017.12.03 加入

SAP成都研究院开发专家,SAP社区导师,SAP中国技术大使。2007 年从电子科技大学计算机专业硕士毕业后加入 SAP 成都研究院工作至今。工作中使用 ABAP, Java, JavaScript 和 TypeScript 进行开发。

评论

发布
暂无评论
Open Office XML 格式里如何描述多段具有不同字体设置的段落_xml_Jerry Wang_InfoQ写作社区