使用 java 将 word 文档转换为 pdf 的三种方法:使用 apache poi 库读取 word 文档并使用 pdfconverter 转换为 pdf。使用 aspose.words 库专门处理 word 文档和将其保存为 pdf。使用 openoffice sdk 通过 openoffice 将 word 文档导出为 pdf。

如何使用 Java 将 Word 文档转换为 PDF
方法一:使用 Apache POI 库
Apache POI 库是一个 Java 库,用于读取和写入 Microsoft Office 文件格式。它可以用于将 Word 文档转换为 PDF。
import?org.apache.poi.xwpf.usermodel.XWPFDocument;
import?org.apache.poi.xwpf.converter.pdf.PdfConverter;
import?org.apache.poi.xwpf.converter.pdf.PdfOptions;

public?class?WordToPdfApachePOI?{

????public?static?void?main(String[]?args)?throws?Exception?{
????????//?打开?Word?文档
????????XWPFDocument?docx?=?new?XWPFDocument(new?FileInputStream("input.docx"));

????????//?创建?PDF?选项
????????PdfOptions?options?=?PdfOptions.create();

????????//?转换?Word?文档为?PDF
????????PdfConverter.getInstance().convert(docx,?new?FileOutputStream("output.pdf"),?options);
????}
}登录后复制
相关阅读推荐:
立即学习“Java免费学习笔记(深入)”;
java中word怎么转换成pdf
方法二:使用 Aspose.Words 库
Aspose.Words 库是一个商业 Java 库,专用于处理 Microsoft Word 文档。它还支持将 Word 文档转换为 PDF。
import?com.aspose.words.Document;
import?com.aspose.words.SaveFormat;

public?class?WordToPdfAsposeWords?{

????public?static?void?main(String[]?args)?throws?Exception?{
????????//?打开?Word?文档
????????Document?doc?=?new?Document("input.docx");

????????//?保存为?PDF
????????doc.save("output.pdf",?SaveFormat.PDF);
????}
}登录后复制
方法三:使用 OpenOffice SDK
OpenOffice SDK 是一种用于与 OpenOffice 套件交互的 Java 库。它可以用于通过 OpenOffice 将 Word 文档转换为 PDF。
import?com.sun.star.beans.PropertyValue;
import?com.sun.star.frame.XController;
import?com.sun.star.frame.XDesktop;
import?com.sun.star.frame.XFrames;
import?com.sun.star.frame.XModel;
import?com.sun.star.io.XOutputStream;
import?com.sun.star.lang.XComponent;
import?com.sun.star.lang.XMultiComponentFactory;
import?com.sun.star.uno.UnoRuntime;
import?com.sun.star.util.XCloseable;

public?class?WordToPdfOpenOfficeSDK?{

????public?static?void?main(String[]?args)?throws?Exception?{
????????//?获取?OpenOffice?服务
????????XMultiComponentFactory?xMCF?=?(XMultiComponentFactory)?UnoRuntime.queryInterface(XMultiComponentFactory.class,?XDesktop.START_SERVICE);

????????//?打开?Word?文档
????????XModel?xModel?=?(XModel)?UnoRuntime.queryInterface(XModel.class,?xMCF.createInstanceWithContext("com.sun.star.text.TextDocument",?new?PropertyValue[0]));

????????//?获取输出流
????????XOutputStream?xOutputStream?=?(XOutputStream)?UnoRuntime.queryInterface(XOutputStream.class,?xMCF.createInstanceWithContext("com.sun.star.io.FileOutputStream",?new?PropertyValue[0]));
????????xOutputStream.open("output.pdf");

????????//?导出为?PDF
????????XFrames?xFrames?=?(XFrames)?UnoRuntime.queryInterface(XFrames.class,?xMCF.createInstanceWithContext("com.sun.star.frame.Frames",?new?PropertyValue[0]));
????????XController?xController?=?(XController)?UnoRuntime.queryInterface(XController.class,?xFrames);
????????xController.activate("EmbeddedOffice_Writer");

????????XComponent?xComponent?=?(XComponent)?UnoRuntime.queryInterface(XComponent.class,?xModel);
????????PropertyValue[]?propertyValues?=?new?PropertyValue[1];
????????propertyValues[0]?=?new?PropertyValue();
????????propertyValues[0].Name?=?"FilterName";
????????propertyValues[0].Value?=?"writer_pdf_Export";

????????xComponent.storeToURL("urp:writer,".concat(xComponent.getURL()),?propertyValues,?xOutputStream);
????????xOutputStream.close();

????????//?关闭?OpenOffice?服务
????????if?(xModel?instanceof?XCloseable)?{
????????????((XCloseable)?xModel).close(true);
????????}
????????xDesktop.terminate();
????}
}登录后复制以上就是java怎么把word转pdf的详细内容,更多请关注php中文网其它相关文章!