documents4j是一个用于将文档转换为其他文档格式的java库。这是通过将转换委托给任何本机应用程序来实现的,这些应用程序能够理解将给定文件转换为所需目标格式的过程。documents4j附带了对ms-word和ms-excel for windows的修改,例如,允许将docx文件转换为pdf文件,而不必对生成的文档进行常见的扭曲,这些扭曲通常是在使用非微软产品进行转换时观察到的。
在开发过程中,会遇到在命令行下将DOC文档(或者是其他Office文档)转换为PDF的要求。比如在项目中如果手册是DOC格式的,在项目发布时希望将其转换为PDF格式,并且保留DOC中的书签,链接等。将该过程整合到构建过程中就要求命令行下进行转换。
Michael Suodenjoki展示了使用Office的COM接口进行命令行下的转换。但其导出的PDF文档没有书签。在Office 2007 SP2中,微软加入了该功能,对应的接口是ExportAsFixedFormat。该方法不仅适用于Word