如何在Java中打开Microsoft Word docx文件?此外,如果密码保护,我怎么能打开它?用Java打开Microsoft Word docx文件
例如,
File f = new File("hello.docx");
请尽量避免的东西,如回答“你不应该这样做。”我有一个很好的理由,所以当你回答时请坚持这个问题。非常感谢!
如何在Java中打开Microsoft Word docx文件?此外,如果密码保护,我怎么能打开它?用Java打开Microsoft Word docx文件
例如,
File f = new File("hello.docx");
请尽量避免的东西,如回答“你不应该这样做。”我有一个很好的理由,所以当你回答时请坚持这个问题。非常感谢!
有Apache POI项目与MS Office文件。 DOCX文件只是一个包含一系列XML文件的zip文件,因此您可以解压缩该文件并使用XML。 XML规范(Open XML)是已知的。
很遗憾,Apache POI不能轻松处理表格,标题或图像。 Docx4J更强大一点。 – yams 2014-09-22 14:28:44
我没有亲自使用过它,但它看起来像Apache POI会为你工作:http://poi.apache.org/
我也会推荐POI。如果你想读取/写入文件,那么它的最佳Apache许可证2.0库(或我遇到的) – 2012-04-25 17:46:52
你可以显示用密码读取word文档的示例代码吗? – CodeGuy 2012-04-25 18:03:05
@CodeGuy我不会为你做这项研究。我只是google'd你的问题,并找到这个项目。正如我上面所说,我没有亲自使用它。 – 2012-04-25 18:07:34
你能举例说明你如何用密码打开MS的例子代码吗? – CodeGuy 2012-04-25 18:02:46
你也可以使用docx4j。 http://www.docx4java.org/trac/docx4j
你能举例说明代码吗? – CodeGuy 2012-04-25 18:02:37
您可以阅读http://www.docx4java.org/svn/docx4j/trunk/docx4j/docs/Docx4j_GettingStarted.html。 你可以在这里找到很多例子。 – 2012-04-25 18:05:12
使用docx4j 2.8.0快照,它只是OpcPackage.load(新的java.io.File(“some.docx”),“password123”) – JasonPlutext 2012-04-26 16:02:00
如果docx受密码保护,它不会是zip文件。这将是一个复合文件。请参阅Overview of Protected Office Open XML Documents
要使用Java读取复合文件,请使用POIFS。 POIFS是POI的一部分(docx4j也使用它,所以如果你下载docx4j发行版,你将能够使用POIFS API)
一旦你解密了加密的包,你可以使用docx4j或POI。
编辑:好的,现在docx4j可以自动地handle password-protected docx。
我已经使用docx4j和Apache的POI库,如果您使用.docx我会推荐.docx4j。自动化了很多创建.docx的过程。
这里有一个很好的例子:http://java.dzone.com/articles/create-complex-word-docx 关于如何使用docx4j包创建.docx。
使用POI(http://poi.apache.org)或docx4j(http://www.docx4java.org/trac/docx4j/) – 2012-04-25 17:43:04
可以用密码读取docx来显示示例吗? – CodeGuy 2012-04-25 18:03:19