Word to PDF java:使用 GroupDocs 转换受保护的 Word 文件
在本综合教程中,您将学习如何使用 GroupDocs.Conversion 执行 word to pdf java 转换。我们将演示如何打开受密码保护的 Word 文档、选择特定页码范围、调整 DPI、旋转页面以及自定义尺寸,以便生成的 PDF 完全符合您的需求。
快速答案
- 哪个库负责转换? GroupDocs.Conversion for Java。
- 我可以转换受密码保护的 Word 文件吗? 是的 – 通过
WordProcessingLoadOptions提供密码。 - 如何将转换限制为特定页面? 在
PdfConvertOptions上使用setPageNumber()和setPagesCount()。 - DPI 可配置吗? 当然;调用
options.setDpi(yourValue)。 - 我需要 Maven 来添加 GroupDocs 吗? 是的 – 包含 Maven 仓库和依赖(参见 Maven groupdocs dependency 部分)。
什么是 word to pdf java 转换?
Word to pdf java conversion 是使用 Java 代码将 Microsoft Word 文档转换为 PDF 文件的过程。GroupDocs.Conversion 抽象了复杂的渲染逻辑,让您专注于业务规则,如安全处理和输出质量。
为什么在 Java 中使用 GroupDocs 进行 word pdf 转换任务?
GroupDocs.Conversion 支持 50+ 种输入和输出格式,能够在不将整个文件加载到内存的情况下处理数百页的文档,并且运行于纯 Java——无需本机二进制文件。这使其非常适合对稳定性和速度有要求的高吞吐量服务器环境。它也能轻松集成到现有的 Java 应用程序中。
前置条件
- JDK 8 或更高版本已安装并配置。
- 基本的 Java 开发经验。
- 拥有 GroupDocs.Conversion 许可证(提供免费试用)。
必需的库和依赖
要使用 GroupDocs.Conversion,请在 pom.xml 中包含 Maven 仓库和依赖:
<repositories>
<repository>
<id>repository.groupdocs.com</id>
<name>GroupDocs Repository</name>
<url>https://releases.groupdocs.com/conversion/java/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-conversion</artifactId>
<version>25.2</version>
</dependency>
</dependencies>
许可证获取
GroupDocs.Conversion 提供免费试用版以测试功能。若需长期使用,请考虑从 GroupDocs 购买 获取临时或完整许可证。
为 Java 设置 GroupDocs.Conversion
Maven 设置
上述 Maven 代码段可确保自动下载所有必需的 JAR。
基本初始化
Converter 类是协调文档加载和转换的入口点。
创建 Converter 实例并加载受保护的文档:
import com.groupdocs.conversion.Converter;
import com.groupdocs.conversion.options.load.WordProcessingLoadOptions;
WordProcessingLoadOptions loadOptions = new WordProcessingLoadOptions();
// Set password for protected documents if necessary:
loadOptions.setPassword("your_password_here");
Converter converter = new Converter("path_to_your_document.docx", () -> loadOptions);
loadOptions 对象用于处理 convert password protected word 场景。
实现指南
下面我们深入探讨在强大的 java convert word pdf 工作流中可能需要的每个功能。
将受密码保护的文档转换为 PDF
定义: WordProcessingLoadOptions 指定加载 Word 文档的选项,包括加密文件的密码。
定义: PdfConvertOptions 定义 PDF 输出设置,如页码范围、DPI、旋转和尺寸。
直接答案: 使用 new Converter("input.docx", new WordProcessingLoadOptions("password")) 加载 Word 文件,然后调用 converter.convert(new PdfConvertOptions(), "output.pdf") ——库会解锁文档并在一步完成 PDF 生成。
逐步实现
- 使用密码初始化加载选项 – 提供正确的密码。
WordProcessingLoadOptions loadOptions = new WordProcessingLoadOptions();
loadOptions.setPassword("12345"); // Replace with your actual password.
- 设置转换器并执行转换 – 定义 PDF 选项并执行。
import com.groupdocs.conversion.options.convert.PdfConvertOptions;
String convertedFile = "YOUR_OUTPUT_DIRECTORY/ConvertedDocument.pdf";
PdfConvertOptions options = new PdfConvertOptions();
Converter converter = new Converter("YOUR_DOCUMENT_DIRECTORY/SampleProtectedDocx.docx", () -> loadOptions);
converter.convert(convertedFile, options);
说明: loadOptions 对象用于解锁文档,而 PdfConvertOptions 允许您在需要时进一步调整输出。
指定要在 PDF 中转换的页面
直接答案: 使用 PdfConvertOptions.setPageNumber(startPage) 和 setPagesCount(pageCount) 告诉 GroupDocs 渲染哪些页面,然后照常运行转换。
逐步实现
- 设置页码范围 – 告诉转换器渲染哪些页面。
PdfConvertOptions options = new PdfConvertOptions();
options.setPageNumber(2); // Start from page 2.
options.setPagesCount(1); // Convert only one page.
- 转换过程 – 重用相同的
Converter实例。
String convertedFile = "YOUR_OUTPUT_DIRECTORY/SelectedPagesPdf.pdf";
Converter converter = new Converter("YOUR_DOCUMENT_DIRECTORY/SampleDocx.docx", () -> loadOptions);
converter.convert(convertedFile, options);
说明: setPageNumber() 定义起始页,而 setPagesCount() 限制处理的页数。
在 PDF 转换中旋转页面
直接答案: 在转换前调用 PdfConvertOptions.setRotate(Rotation.On90)(或其他枚举值),即可将每个输出页面按所选角度旋转。
逐步实现
- 设置旋转选项 – 选择一个旋转枚举。
import com.groupdocs.conversion.options.convert.Rotation;
PdfConvertOptions options = new PdfConvertOptions();
options.setRotate(Rotation.On180); // Rotate pages 180 degrees.
- 执行转换 – 与之前相同的模式。
String convertedFile = "YOUR_OUTPUT_DIRECTORY/RotatedPagesPdf.pdf";
Converter converter = new Converter("YOUR_DOCUMENT_DIRECTORY/SampleDocx.docx", () -> loadOptions);
converter.convert(convertedFile, options);
说明: 旋转可以修正横向扫描或满足特定布局需求。
为 PDF 转换设置 DPI
直接答案: 在调用 convert 前使用 PdfConvertOptions.setDpi(300)(或任意整数)调整图像分辨率;更高的 DPI 可获得更清晰的图形,但会导致文件体积增大。
逐步实现
- 配置 DPI 设置
PdfConvertOptions options = new PdfConvertOptions();
options.setDpi(300); // Set DPI to 300 for high resolution.
- 使用自定义 DPI 执行转换
String convertedFile = "YOUR_OUTPUT_DIRECTORY/HighResolutionPdf.pdf";
Converter converter = new Converter("YOUR_DOCUMENT_DIRECTORY/SampleDocx.docx", () -> loadOptions);
converter.convert(convertedFile, options);
说明: 更高的 DPI 提升视觉保真度,但会增大文件大小——请根据目标介质选择。
为 PDF 转换设置宽度和高度
直接答案: 通过 PdfConvertOptions.setWidth(1240) 和 setHeight(1754) 明确设定像素尺寸,以强制输出 PDF 匹配特定页面大小。
逐步实现
- 定义尺寸
PdfConvertOptions options = new PdfConvertOptions();
options.setWidth(1024); // Set width to 1024 pixels.
options.setHeight(768); // Set height to 768 pixels.
- 使用自定义尺寸进行转换
String convertedFile = "YOUR_OUTPUT_DIRECTORY/SizedPdf.pdf";
Converter converter = new Converter("YOUR_DOCUMENT_DIRECTORY/SampleDocx.docx", () -> loadOptions);
converter.convert(convertedFile, options);
说明: 自定义尺寸对于生成适配特定屏幕尺寸或打印格式的 PDF 非常有用。
如何使用 GroupDocs 将 Word 转换为 PDF(java)?
使用 new Converter("doc.docx", new WordProcessingLoadOptions("pwd")) 加载受保护的 Word 文件,配置所需的 PdfConvertOptions(页面、DPI、旋转、尺寸),然后调用 converter.convert(options, "output.pdf")。此单行模式处理解密、渲染和文件写入,提供可直接投入生产的 PDF,无需外部工具。它可在任何支持 Java 8 或更高版本的平台上运行。
常见问题及解决方案
| 问题 | 可能原因 | 解决方案 |
|---|---|---|
IncorrectPasswordException | 提供的密码错误 | 再次检查密码字符串;去除空格。 |
FileNotFoundException | 文件路径无效 | 使用绝对路径或确认工作目录。 |
| Output PDF is blurry | DPI 设置过低 | 通过 options.setDpi() 提高 DPI。 |
| Pages appear upside‑down | 未设置旋转或设置不正确 | 使用 options.setRotate(Rotation.On180)(或其他枚举)。 |
| Converted file is larger than expected | 高 DPI + 大尺寸 | 降低 DPI 或调整宽度/高度,以在大小与质量之间取得平衡。 |
常见问答
Q: 我可以转换同时具有密码和只读保护的 Word 文档吗?
A: 是的。通过 WordProcessingLoadOptions.setPassword() 提供打开密码。转换过程中会忽略只读标志。
Q: GroupDocs.Conversion 是否同时支持 .doc(旧版)文件和 .docx?
A: 当然。库能够透明地处理这两种格式。
Q: java convert word pdf 在处理大文件时的性能如何扩展?
A: GroupDocs 会流式处理数据并在每次转换后释放资源。对于非常大的文件,请增大 JVM 堆大小,并在完成后调用 Converter.dispose()。
Q: 是否可以批量转换多个文档?
A: 可以。遍历文件路径,为每个文件创建新的 Converter,并在适当时复用相同的 PdfConvertOptions。
Q: 开发构建是否需要商业许可证?
A: 免费试用可用于评估,但生产部署需要有效的 GroupDocs.Conversion 许可证。
最后更新: 2026-10-10
测试环境: GroupDocs.Conversion 25.2 for Java
作者: GroupDocs