我刚学会了如何使用Apache-POI做一些基本的.doc和.docx操作。现在我想要做的是尝试从我的应用程序中打印这些文档。知道我怎么能这样做? 这就是我创建文档的方式:
public void newWordDoc(String filename) throws FileNotFoundException, IOException {
XWPFDocument document = new XWPFDocument();
XWPFParagraph tmpParagraph = document.createParagraph();
XWPFRun tmpRun = tmpParagraph.createRun();
tmpRun.setText("Writing to a .doc");
tmpRun.setFontSize(18);
document.write(new FileOutputStream(new File(filename + ".doc")));
}
public void newWordDocX(String filename) throws FileNotFoundException, IOException {
XWPFDocument document = new XWPFDocument();
XWPFParagraph tmpParagraph = document.createParagraph();
XWPFRun tmpRun = tmpParagraph.createRun();
tmpRun.setText("Writing to a .docx");
tmpRun.setFontSize(18);
document.write(new FileOutputStream(new File(filename + ".docx")));
}
我想现在我应该创建一些再次读取它们并打印它们的方法,对吧? 在我的打印机中打印它们最简单,最快捷的方法是什么? 我是否需要使用java打印API,或者是否有任何可以使事情变得简单的免费软件? 另外我想提一下,我在一个其他地方的帖子里,java不能打印word文档,我们必须先将它们转换为PDF。真的吗?我希望不会:(
答案 0 :(得分:2)
Apache POI只是用于读取对象,而不是用于渲染,无论是在屏幕上还是在打印机上。
您肯定必须编写可以呈现doc和docx文档的程序的脚本。我想到了Microsoft Word,但如果你幸运的话,OpenOffice也应该做一个或多或少可接受的工作:)。
对于Word:使用Com4J,效果很好。
对于OpenOffice:使用其原生Java API。
答案 1 :(得分:0)
我想现在我应该创建一些再次读取它们并打印它们的方法,对吧?
右。除非他们的内容已经在记忆中。
在我的打印机中打印它们最简单快捷的方法是什么?我是否需要使用java打印API,或者是否有任何可以使事情变得更容易的免费软件?
你应该分开关注点。首先,你应该担心阅读。打印将是另一个对象的责任:)
关于转换为pdf的问题。我想这不是一个要求。至于你可以阅读内容,你可以用它做任何你想做的事情:)