在 Java 中将 Word 转换为 PDF

在共享文档之前,通常使用 Word 到 PDF 的转换。各种在线 Word 到 PDF 转换器可供您转换单个或有限数量的 Word 文档。然而,随着新兴的 MS Word 自动化和报告生成解决方案,Word 到 PDF 的自动转换已成为系统的重要组成部分。此外,需要自动完成 DOC/DOCX 到 PDF 的批量转换,以最大限度地减少时间和精力。密切关注此类情况,我将向您展示如何在 Java 中以编程方式自动化将 Word DOC 或 DOCX 文档转换为 PDF 的过程。

Java Word 到 PDF 转换场景

您将在本文中了解以下 Word (DOC/DOCX) 到 PDF 的转换。

Java Word 到 PDF 转换 API

为了将 Word DOCX/DOC 转换为 PDF,我们将使用 Aspose.Words for Java,它是一个强大的 Word 自动化 API,用于处理流行的文字处理格式。您可以 下载 Aspose.Words for Java 或使用以下配置将其安装在基于 Maven 的应用程序中。

存储库:

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>

依赖:

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-words</artifactId>
    <version>20.1</version>
    <classifier>jdk17</classifier>
</dependency>

在 Java 中将 Word DOC/DOCX 转换为 PDF

要将 Word 文档转换为 PDF,您只需加载 Word 文档并将其保存为“.pdf”扩展名。以下是在 Java 中将 DOCX/DOC 转换为 PDF 的步骤。

以下代码示例展示了如何在 Java 中将 Word DOC 转换为 PDF。

// 从磁盘加载 Word 文档
Document doc = new Document("word.docx");
// 另存为 PDF
doc.save("output.pdf");

Word 文档

Java中的DOC DOCX到PDF

PDF文件

DOCX转PDF

在 Java 中将选定的 Word DOC/DOCX 页面转换为 PDF

如果您只想将选定的 Word 页面转换为 PDF,您可以使用 PdfSaveOptions 类来完成。您可以通过指定起始页的索引来转换前 N 页或一系列页面。

以下是将 Word DOCX/DOC 的选定页面转换为 Java 中的 PDF 的步骤。

  • 使用 Document 类加载 Word 文档。
  • 创建 PdfSaveOptions 类的实例。
  • 设置起始页的索引和要转换的页数。
  • 使用 Document.save() 方法将 Word 文档保存为 PDF。

以下代码示例展示了如何将选定的 Word DOC/DOCX 页面转换为 Java 中的 PDF。

// 从磁盘加载 Word 文档
Document doc = new Document("word.docx");
PdfSaveOptions options = new PdfSaveOptions();
// 从索引 1 开始转换 3 页,其中 0 是第一页的索引 
options.setPageIndex(1);
options.setPageCount(3);
// 将 Word 保存为 PDF
doc.save("output.pdf", options);

在 Java 中将 Word DOC/DOCX 转换为特定的 PDF 标准

PDF 文档可能符合各种 PDF 标准,例如 PDF/A-1a、PDF 1.5 等。如果要将 Word 文档转换为特定的 PDF 标准,可以使用 PdfCompliance 指定它.

以下代码示例展示了如何使用 Java 中的特定 PDF 标准将 Word DOCX 转换为 PDF。

// 从磁盘加载 Word 文档
Document doc = new Document("word.docx");
// 将 PDFSaveOption 合规性设置为 PDF15
PdfSaveOptions options = new PdfSaveOptions();
options.setCompliance(PdfCompliance.PDF_15);
// 将 Word 转换为 PDF
doc.save("output.pdf", options);

在 Java 中使用文本或图像压缩将 Word 转换为 PDF

您还可以通过压缩 Word 文档中的文本或图像来减小生成的 PDF 文档的大小。您可以使用 Aspose.Words for Java 在 Word 到 PDF 转换中应用以下压缩。

文本压缩选项

Aspose.Words for Java 为 PdfTextCompression 类提供以下文本压缩选项:

  • 无:无文本压缩。
  • Flate:Flate (ZIP) 压缩。

图像压缩

图像压缩选项在 PdfImageCompression 类中可用。

  • 自动:自动为每张图像选择最合适的压缩方式。
  • Jpeg:图像转换为 JPEG 格式(不支持透明度)。

以下代码示例显示了如何通过在 Java 中应用文本和图像压缩将 Word DOCX 转换为 PDF。

// 从磁盘加载 Word 文档
Document doc = new Document("word.docx");
PdfSaveOptions options = new PdfSaveOptions();
// 文本和图像压缩
options.setTextCompression(PdfTextCompression.FLATE);
options.setImageCompression(PdfImageCompression.AUTO);
// 将 Word 保存为 PDF
doc.save("output.pdf", options);

在 Java 中将 Word 转换为具有 JPEG 质量的 PDF

您还可以自定义和控制 Word 到 PDF 转换中的 JPEG 质量。 PdfSaveOptions.setJpegQuality 用于设置 JPEG 质量,可以从 0(最大压缩的最差质量)到 100(最小压缩的最佳质量)。

以下代码示例显示了如何在 Java 中将 Word DOCX 转换为 PDF 时指定 JPEG 质量。

// 从磁盘加载 Word 文档
Document doc = new Document("word.docx");
// 设置 Jpeg 质量
PdfSaveOptions options = new PdfSaveOptions();
options.setJpegQuality(100);
// 将 Word 转换为 PDF
doc.save("output.pdf", options);

免费试用 Aspose.Words for Java

您可以获得 免费临时许可证 来尝试使用 Aspose.Words for Java。

结论

在本文中,您学习了如何使用 Java 将 Word DOCX 或 DOC 转换为 PDF。此外,您还了解了如何在不同场景下自定义 Word 到 PDF 的转换。您可以使用 文档 探索更多关于 Aspose.Words for Java 的信息。

相关文章

信息:Aspose 提供了一个免费的在线网络应用程序,允许您在线查看 PDF,另一个允许您将 PDF 转换为视频,还有一个允许您在线编辑 PDF

信息:您可能对另一个 Java API 感兴趣,尤其是一个允许开发人员和应用程序将 PowerPoint 转换为 PDF 的 API——Aspose.Slides for Python。您可能还想查看 Aspose PowerPoint to PDF Converter,因为它是 PowerPoint 文档到 PDF 过程的实时实现。