2015-07-10 45 views
-2

我有问题。如何阅读Docx4j中的MS Word xml文件

我想用Java创建MS word文件。

我可以制作简单的文件。

但我不知道如何执行编码来创建复杂形状的单词。

使用XML代码,在我看来,它似乎能够做到。

如何使用docx4j原始xml代码?

我已经使用了下面的代码风格。但它太硬

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>";

回答

0

可以解组串那样容易就好了。

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

代码生成器可用onlineWord Add-In

+0

谢谢你的评论〜 – yangho