如何在Docx4j中读取MS word xml文件



我有几个问题。

我想用Java创建MS word文件。

我可以制作简单的word文件。

但是我不知道如何编码来创建一个具有复杂形状的单词。

使用xml代码,在我看来似乎可以使。

如何使用原始的xml代码与docx4j?

我使用了下面的代码样式。但这太难了

static String tblXML = "<w:tbl xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main" " +
         "xmlns:v="urn:schemas-microsoft-com:vml" " +
         "xmlns:wp="http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing" " +
         "xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships">"
         +"<w:tblPr>"
         +"<w:tblStyle w:val="a5" />"
         +"<w:tblW w:w="0" w:type="auto" />"
         +"<w:tblLook w:val="04A0" w:firstRow="1" w:lastRow="0" w:firstColumn="1" w:lastColumn="0" w:noHBand="0" w:noVBand="1" />"
      +"</w:tblPr>"
      +"<w:tblGrid>"
         +"<w:gridCol w:w="9224" />"
      +"</w:tblGrid>"
      +"<w:tr w:rsidR="00F327EA" w:rsidTr="0047463F">"
         +"<w:trPr>"
            +"<w:trHeight w:val="1912" />"
         +"</w:trPr>"
         +"<w:tc>"
            +"<w:tcPr>"
               +"<w:tcW w:w="9224" w:type="dxa" />"
            +"</w:tcPr>"
            +"<w:p w:rsidR="00F327EA" w:rsidRDefault="00F327EA" w:rsidP="0047463F">"
               +"<w:r>"
                  +"<w:t xml:space="preserve">Plan No. </w:t>"
               +"</w:r>"
            +"</w:p>"
            +"<w:p w:rsidR="00F327EA" w:rsidRDefault="00F327EA" w:rsidP="0047463F">"
               +"<w:r>"
                  +"<w:t xml:space="preserve">Inspection Type Special , Regular , Specially assigned inspector , , , </w:t>"
               +"</w:r>"
            +"</w:p>"
            +"<w:p w:rsidR="00F327EA" w:rsidRDefault="00F327EA" w:rsidP="0047463F">"
               +"<w:r>"
                  +"<w:t>Planning Period 2015</w:t>"
               +"</w:r>"
               +"<w:r>"
                  +"<w:softHyphen />"
                  +"<w:t>06</w:t>"
               +"</w:r>"
               +"<w:r>"
                  +"<w:softHyphen />"
                  +"<w:t>17 ~ 2015</w:t>"
               +"</w:r>"
               +"<w:r>"
                  +"<w:softHyphen />"
                  +"<w:t>06</w:t>"
               +"</w:r>"
               +"<w:r>"
                  +"<w:softHyphen />"
                  +"<w:t xml:space="preserve">18 </w:t>"
               +"</w:r>"
            +"</w:p>"
            +"<w:p w:rsidR="00F327EA" w:rsidRDefault="00F327EA" w:rsidP="0047463F">"
               +"<w:r>"
                  +"<w:t xml:space="preserve">Individual Target Aerodrome (AD), Major International Airport, </w:t>"
               +"</w:r>"
               +"<w:proofErr w:type="spellStart" />"
               +"<w:r>"
                  +"<w:t>GimHae</w:t>"
               +"</w:r>"
               +"<w:proofErr w:type="spellEnd" />"
               +"<w:r>"
                  +"<w:t xml:space="preserve"> </w:t>"
               +"</w:r>"
            +"</w:p>"
            +"<w:p w:rsidR="00F327EA" w:rsidRDefault="00F327EA" w:rsidP="0047463F">"
               +"<w:r>"
                  +"<w:t xml:space="preserve">Inspector Primary: </w:t>"
               +"</w:r>"
               +"<w:proofErr w:type="spellStart" />"
               +"<w:r>"
                  +"<w:t>superadmin</w:t>"
               +"</w:r>"
               +"<w:proofErr w:type="spellEnd" />"
               +"<w:r>"
                  +"<w:t xml:space="preserve"> </w:t>"
               +"</w:r>"
            +"</w:p>"
            +"<w:p w:rsidR="00F327EA" w:rsidRDefault="00F327EA" w:rsidP="0047463F">"
               +"<w:pPr>"
                  +"<w:ind w:firstLineChars="850" w:firstLine="1700" />"
               +"</w:pPr>"
               +"<w:proofErr w:type="spellStart" />"
               +"<w:r>"
                  +"<w:t>Secondary:superadmin</w:t>"
               +"</w:r>"
               +"<w:proofErr w:type="spellEnd" />"
            +"</w:p>"
         +"</w:tc>"
      +"</w:tr>"
   +"</w:tbl>";

您可以很容易地反编组这样的字符串。

创建更复杂代码的最简单方法是使用docx4j代码生成器。您向它提供一个示例docx,它就会生成合适的代码(在String形式和使用JAXB API之间进行选择)。

代码生成器可以在线获取,也可以作为Word插件获取。

最新更新