当前位置: 首页 > 知识库问答 >
问题:

如何找出OOXML中段落使用的字体系列?

闻人思聪
2023-03-14

假设一个特定的样式应用于一个段落。我想知道这种风格的字体系列是什么。我试着打开样式。docx中的xml文件。我找不到许多样式的w:ascii属性集。例如,考虑样式<代码>标题1>代码>。与此样式对应的OOXML是

<w:style w:type="paragraph" w:styleId="Heading1">
    <w:name w:val="heading 1"/>
    <w:basedOn w:val="Normal"/>
    <w:next w:val="Normal"/>
    <w:link w:val="Heading1Char"/>
    <w:uiPriority w:val="9"/>
    <w:qFormat/>
    <w:rsid w:val="00FB3E81"/>
    <w:pPr>
        <w:keepNext/>
        <w:keepLines/>
        <w:spacing w:before="240"/>
        <w:outlineLvl w:val="0"/>
    </w:pPr>
    <w:rPr>
        <w:rFonts w:asciiTheme="majorHAnsi" w:eastAsiaTheme="majorEastAsia" w:hAnsiTheme="majorHAnsi" w:cstheme="majorBidi"/>
        <w:color w:val="2E74B5" w:themeColor="accent1" w:themeShade="BF"/>
        <w:sz w:val="32"/>
        <w:szCs w:val="32"/>
    </w:rPr>
</w:style>

w:rFonts标记中,没有w:ascii属性来提取字体系列。该样式的字体系列详细信息存储在哪里?如何将其提取出来,以便在java应用程序中使用?我正在使用ApachePOI解析文档。

共有1个答案

龙飞
2023-03-14

检查w:rFonts。在您引用的示例中,w:asciiTheme=“majorHAnsi”告诉您,它正在使用主题中定义为majorHAnsi的字体,这是用于标题的主题字体。因此,您需要确定主题文件中指定的字体系列,它可能是theme1。xml

编辑:在主题文件中,你会找到fontScheme,它定义了两种字体,majorFontminorFont。这些对应于majorHAnsiminorHAnsi,如果使用的主题是Office附带的标准主题之一,则可能会有大量条目,具体取决于使用的语言脚本。

        <a:fontScheme name="Office Theme">
        <a:majorFont>
            <a:latin typeface="Calibri Light" panose="020F0302020204030204" />
            <a:ea typeface="" />
            <a:cs typeface="" />
            <a:font script="Jpan" typeface="游ゴシック Light" />
            <a:font script="Hang" typeface="맑은 고딕" />
            <a:font script="Hans" typeface="等线 Light" />
            <a:font script="Hant" typeface="新細明體" />
            <a:font script="Arab" typeface="Times New Roman" />
            <a:font script="Hebr" typeface="Times New Roman" />
            <a:font script="Thai" typeface="Angsana New" />
            <a:font script="Ethi" typeface="Nyala" />
            <a:font script="Beng" typeface="Vrinda" />
            <a:font script="Gujr" typeface="Shruti" />
            <a:font script="Khmr" typeface="MoolBoran" />
            <a:font script="Knda" typeface="Tunga" />
            <a:font script="Guru" typeface="Raavi" />
            <a:font script="Cans" typeface="Euphemia" />
            <a:font script="Cher" typeface="Plantagenet Cherokee" />
            <a:font script="Yiii" typeface="Microsoft Yi Baiti" />
            <a:font script="Tibt" typeface="Microsoft Himalaya" />
            <a:font script="Thaa" typeface="MV Boli" />
            <a:font script="Deva" typeface="Mangal" />
            <a:font script="Telu" typeface="Gautami" />
            <a:font script="Taml" typeface="Latha" />
            <a:font script="Syrc" typeface="Estrangelo Edessa" />
            <a:font script="Orya" typeface="Kalinga" />
            <a:font script="Mlym" typeface="Kartika" />
            <a:font script="Laoo" typeface="DokChampa" />
            <a:font script="Sinh" typeface="Iskoola Pota" />
            <a:font script="Mong" typeface="Mongolian Baiti" />
            <a:font script="Viet" typeface="Times New Roman" />
            <a:font script="Uigh" typeface="Microsoft Uighur" />
            <a:font script="Geor" typeface="Sylfaen" />
        </a:majorFont>
        <a:minorFont>
            <a:latin typeface="Calibri" panose="020F0502020204030204" />
            <a:ea typeface="" />
            <a:cs typeface="" />
            <a:font script="Jpan" typeface="游ゴシック" />
            <a:font script="Hang" typeface="맑은 고딕" />
            <a:font script="Hans" typeface="等线" />
            <a:font script="Hant" typeface="新細明體" />
            <a:font script="Arab" typeface="Arial" />
            <a:font script="Hebr" typeface="Arial" />
            <a:font script="Thai" typeface="Cordia New" />
            <a:font script="Ethi" typeface="Nyala" />
            <a:font script="Beng" typeface="Vrinda" />
            <a:font script="Gujr" typeface="Shruti" />
            <a:font script="Khmr" typeface="DaunPenh" />
            <a:font script="Knda" typeface="Tunga" />
            <a:font script="Guru" typeface="Raavi" />
            <a:font script="Cans" typeface="Euphemia" />
            <a:font script="Cher" typeface="Plantagenet Cherokee" />
            <a:font script="Yiii" typeface="Microsoft Yi Baiti" />
            <a:font script="Tibt" typeface="Microsoft Himalaya" />
            <a:font script="Thaa" typeface="MV Boli" />
            <a:font script="Deva" typeface="Mangal" />
            <a:font script="Telu" typeface="Gautami" />
            <a:font script="Taml" typeface="Latha" />
            <a:font script="Syrc" typeface="Estrangelo Edessa" />
            <a:font script="Orya" typeface="Kalinga" />
            <a:font script="Mlym" typeface="Kartika" />
            <a:font script="Laoo" typeface="DokChampa" />
            <a:font script="Sinh" typeface="Iskoola Pota" />
            <a:font script="Mong" typeface="Mongolian Baiti" />
            <a:font script="Viet" typeface="Arial" />
            <a:font script="Uigh" typeface="Microsoft Uighur" />
            <a:font script="Geor" typeface="Sylfaen" />
        </a:minorFont>
    </a:fontScheme>
 类似资料:
  • 我正在尝试用Apache POI提取应用于特定段落的字体样式。方法在my对象上返回null。 调用方法也返回null。 调用方法返回以下内容: 在标记中没有属性。然而,标签中声明了一个属性。如何使用ApachePOI提取给定主题下的信息? 本例的字体样式定义为主题,主题可以在主题1中找到。xml文件。但是,例如,我如何使用ApachePOI提取标记下的属性呢?以下是主题1中的示例。xml文件:

  • 问题内容: 我一直在寻找一种不错的,快速的解决方案,以解决如何在圆内放置一段文字的问题。我发现有两种解决方案。 解决方案1 将与文本高度相同的多个 div 浮动到文本的右侧,然后通过更改div 宽度来 调整文本的剩余空间。 解决方案2 将生成器用于同一件事。 奖励(不是问题的一部分,只是小费) 我不是在寻找这个,但是也许有人会需要它,我认为将它作为链接很好>它是一个基于Web的生成器,可以帮助您将

  • 我是android新手,我对json有疑问:- 如果我有多行,如何在json中换行?像这样:< br>{ "联系人":< br>[ { "id": "c200 ",< br > "姓名":" Ravi Tamada ",< br > "电子邮件":" xxxx@gmail.com ",< br > "地址":" xx-xx-xxxx,x - street,x - country ",< br >

  • 问题内容: 我需要在段落中突出显示关键字,就像google在其搜索结果中一样。假设我有一个带有博客文章的MySQL数据库。当用户搜索某个关键字时,我希望返回包含这些关键字的帖子,但只显示帖子的一部分(包含搜索关键字的段落)并突出显示那些关键字。 我的计划是这样的: 找到内容中包含搜索关键字的帖子ID; 再次阅读该帖子的内容,并将每个单词放入固定的缓冲区数组(50个单词)中,直到找到关键字。 您能为

  • 通常,Hadoop示例定义了如何对一个文件或多个文件进行字数计算,字数计算的结果将来自整个集合! 我希望对每个段落进行wordcount,并将其存储在单独的文件中,如paragh(i)_wordcnt.txt。 我能看到para2写para1的wordcount结果吗?或者,如果以其他方式在单独的文件中写入每一段,该如何做,像这样的顺序

  • 简单的问题,希望有一个简单的解决方案。我在JavaFX应用程序中有一个标签,我希望在段落的末尾有一个按钮。在这一段的结尾,我的意思是好像它是另一个字符。我无法将X和Y设置为特定值,因为段落的长度并不总是相同的,因此该按钮的位置也不总是相同的。 下面,红色是我想要一个按钮的地方。有没有办法通过编程找到这一点? 谢谢