请有人帮助我将文字放入段落中。我有这段代码:
private void createDOCDocument(String from, File file) throws Exception {
POIFSFileSystem fs = new POIFSFileSystem(DOCGenerator.class.getClass().getResourceAsStream("/poi/template.doc"));
HWPFDocument doc = new HWPFDocument(fs);
Range range = doc.getRange();
Paragraph par1 = range.insertAfter(new ParagraphProperties(), 0);
CharacterRun run1 = par1.insertAfter(from);
run1.setFontSize(11);
DocumentSummaryInformation dsi = doc.getDocumentSummaryInformation();
CustomProperties cp = dsi.getCustomProperties();
if (cp == null)
cp = new CustomProperties();
cp.put("myProperty", "foo bar baz");
dsi.setCustomProperties(cp);
doc.write(new FileOutputStream(file));
}
但问题是,如果我将“from”字符串直接放入范围,它将在结果文档中,但如果我创建一个段落并将其放在那里,则该文档为空。即使我使用apache tika及其WordExtractor处理它,它也什么都没有。
btw /poi/template.doc是空文件。
如果我这样做:
Paragraph par1 = range.getParagraph(0);
CharacterRun run1 = par1.insertAfter(from);
和from是“什么”然后在文档中开头有“w”(最初的)字符......这到底是什么?
答案 0 :(得分:4)
尝试最近的每晚构建/ svn结帐POI。谢尔盖目前正在大力处理HWPF代码库,并且最近修复了与您所描述的错误相关的错误。