1

它可以使用 XWPF 轻松地将普通文本区域内容转换为 word 文档或使用 iTextpdf 转换为 pdf,但是当我尝试从富文本区域获取数据时,内容未显示在 word 文档或 pdf 中

我想从富文本区域内容中使用 XWPF 创建一个 word 文档。但是创建的word文档中没有显示内容。word文档内容如下所示。

</o:OfficeDocumentSettings> </xml>

正常</w:View> 0</w:Zoom> false</w:SaveIfXMLInvalid> false</w:IgnoreMixedContent> false</w:AlwaysShowPlaceholderText> EN-US</w:LidThemeOther> X-NONE</w :LidThemeAsian> AR-SA</w:LidThemeComplexScript> </w:Compatibility> </m:mathPr></w:WordDocument> </xml>

它在从普通文本区域获取数据时创建的 Word 文档中显示正确的数据。

enter code here

新信.jsp

 <head>
  <script src="//cdn.tinymce.com/4/tinymce.min.js"></script>
  <script>tinymce.init({ selector:'textarea' });</script>
</head>
         <s:form action="letter.action" method="post" class="normalform">               
            <p>
                  <label style="vertical-align: middle;"></label>
                  <s:textarea name="letter.content" label="Content" style=""
                    cssStyle="vertical-align:top;width: 600px; height: 500px;" />
        </p>
        <s:submit value="Add Letter" align="center" />
    </s:form>

动作类

   XWPFDocument document= new XWPFDocument(); 
       //Write the Document in file system
       File file=new File("C:\\Myuploads\\createparagraph.docx");
       FileOutputStream out = new FileOutputStream(file);

       //create Paragraph
       XWPFParagraph paragraph = document.createParagraph();

       XWPFRun run=paragraph.createRun();
       run.setText(letter.getContent());
       document.write(out);
       out.close();
       System.out.println("createparagraph.docx written successfully");
      return file;

我尝试创建pdf而不是word文档,还是一样。那是对于普通文本区域,它会创建 pdf,但对于富文本区域内容,它不会以正确的方式创建 pdf

enter code here

文档文档 = 新文档();文件 file = new File("C:\Myuploads\" + referenceId + ".pdf");

    PdfWriter.getInstance(document, new FileOutputStream(file));
    document.open();
    Font font = new Font(FontFamily.HELVETICA, 12, Font.BOLD);
    Paragraph p = new Paragraph();

    toName.setIndentationLeft(56f);
    Paragraph p2 = new Paragraph();
    // p2.setSpacingBefore(56f);
    p2.setIndentationLeft(56f);
    p.add(new Chunk("Ref"));
    p.setTabSettings(new TabSettings(56f));
    p.add(Chunk.TABBING);
    p.add(new Chunk(letter.getReferenceId()));
    p.add(new Chunk("\nDate"));
    p.setTabSettings(new TabSettings(56f));
    p.add(Chunk.TABBING);
    p.add(new Chunk(letter.getLetterDate()));
    p.add(new Chunk("\n\nTo"));
    p.setTabSettings(new TabSettings(56f));
    p.add(Chunk.TABBING);
    p = new Paragraph();        
    p.add("\n" + letter.getContent());

    document.add(p);
    document.close();

请帮助我,如何从富文本区域内容创建word文档或pdf文档,而不更改文本格式。我已经在谷歌搜索了这个解决方案.......提前感谢分享这个想法

4

0 回答 0