docx4j - 用文本和样式替换书签

时间:2017-07-04 16:02:45

标签: java google-docs docx docx4j

我遇到与XPages - docx4j - replacing a bookmark with text类似的问题,但我想保留这种风格。 我的书签不在文本上(因为它是由Google文档创建的docx),我想将文本保留在我的书签后面,将其包含在书签中并保持其样式。 例如:

<w:bookmarkStart w:colFirst="0" w:colLast="0" w:name="3znysh7" w:id="2"/><w:bookmarkEnd w:id="2"/>
<w:r w:rsidDel="00000000" w:rsidR="00000000" w:rsidRPr="00000000">
    <w:rPr>
        <w:rFonts w:ascii="Calibri" w:cs="Calibri" w:eastAsia="Calibri" w:hAnsi="Calibri"/>
        <w:i w:val="1"/>
        <w:color w:val="1e4d78"/>
        <w:rtl w:val="0"/>
    </w:rPr>
    <w:t xml:space="preserve">MY_BOOKMARK</w:t>
</w:r>

我找到了一个删除书签后的文字的解决方案,我找到了一个在书签中添加文字的解决方案,但是我无法保留这种风格。

我不是母语为英语的人,所以如果我不清楚,请不要犹豫。

1 个答案:

答案 0 :(得分:0)

在这种情况下,我创建一个新的R并将其插入bookmarkStart和bookmarkEnd之间。 我在这个例子中遇到了另一个问题:

<w:bookmarkStart w:colFirst="0" w:colLast="0" w:name="30j0zll" w:id="1" />
      <w:bookmarkEnd w:id="1" />
      <w:p w:rsidR="00000000" w:rsidDel="00000000" w:rsidP="00000000" w:rsidRDefault="00000000" w:rsidRPr="00000000">
         <w:pPr>
            <w:pBdr />
            <w:tabs>
               <w:tab w:val="left" w:pos="1560" />
            </w:tabs>
            <w:spacing w:after="0" w:lineRule="auto" />
            <w:contextualSpacing w:val="0" />
            <w:rPr>
               <w:color w:val="2f5496" />
               <w:sz w:val="28" />
               <w:szCs w:val="28" />
            </w:rPr>
         </w:pPr>
         <w:r w:rsidDel="00000000" w:rsidR="00000000" w:rsidRPr="00000000">
            <w:rPr>
               <w:color w:val="2f5496" />
               <w:sz w:val="20" />
               <w:szCs w:val="20" />
               <w:rtl w:val="0" />
            </w:rPr>
            <w:t xml:space="preserve">MY_BOOKMARK1.</w:t>
         </w:r>
         <w:bookmarkStart w:colFirst="0" w:colLast="0" w:name="1fob9te" w:id="2" />
         <w:bookmarkEnd w:id="2" />
         <w:r w:rsidDel="00000000" w:rsidR="00000000" w:rsidRPr="00000000">
            <w:rPr>
               <w:color w:val="2f5496" />
               <w:sz w:val="20" />
               <w:szCs w:val="20" />
               <w:rtl w:val="0" />
            </w:rPr>
            <w:t xml:space="preserve">MY_BOOKMARK2</w:t>
         </w:r>
         <w:r w:rsidDel="00000000" w:rsidR="00000000" w:rsidRPr="00000000">
            <w:rPr>
               <w:rtl w:val="0" />
            </w:rPr>
         </w:r>
      </w:p>

我的解决方案:

  1. 使用名称0j0zll
  2. 保留书签
  3. 创建一个新书签(id是xml文件中的书签数量; id ++)并插入
  4. 希望可以帮助别人