我是POI API的新手,因此,每当我使用HWPFDocument类写下由HWPF文档创建的.doc文件中的文本时,生成的doc文件只有一个字母,而不是整个文本,我写道。
所以请给出答案,我该如何添加更多文字。
这是代码:
/**
* Create a POIFSFileSystem from an InputStream.
* Test.doc is an empty doc with no contents
*/
POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream("test.doc"));
/**
* Horrible word Document Format
*/
HWPFDocument hwpfDocument = new HWPFDocument(fs);
/**
* range is used for getting the range of the document except header and footer
*/
Range range = hwpfDocument.getRange();
range.numParagraphs();
/**
* creating Paragraph
*/
/**
* Inserts a paragraph into the end of this range.
* ParagraphProperties -> for creating Paragraph, index of the paragraph
*/
/*Paragraph paragraph1 = range.insertBefore(new ParagraphProperties(), 0);
paragraph1.setJustification((byte) 0); // 0-left, 1-center, 2-right, 3-left and right*/
CharacterRun characterRun1 = range.insertBefore("Document");
/**
* setting the font size
*/
characterRun1.setFontSize(2 * 12); // takes as an argument half points
/**
* making Text Bold Italic
*/
characterRun1.setBold(true);
characterRun1.setItalic(true);
characterRun1.setColor(111);
characterRun1.setData(true);
//characterRun1.replaceWith("Document");
hwpfDocument.write(new FileOutputStream("hpwf-create-doc.doc", true));
答案 0 :(得分:0)
如果可以,请从使用HWPFDocument切换到XWPFDocument(生成.docx而不是.doc)。 .docx格式更加精明(它基于XML而不是二进制),因此POI通常可以更好地完成它。
否则,请尝试使用更简单的模板文档。单词文件格式对于所有类型的位都非常挑剔,而且很可能你遇到了POI不知道需要更新文件中某些内容的情况,然后单词会默默地反对。