Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -1,35 +1,68 @@
---
"date": "2025-04-24"
"description": "了解如何使用 GroupDocs.Viewer for Java 准确呈现具有原始页面大小的 PDF,确保跨平台的文档完整性。"
"title": "使用 GroupDocs.Viewer for Java 以原始大小渲染 PDF —— 综合指南"
"url": "/zh/java/custom-rendering/render-pdf-original-page-size-groupdocs-viewer-java/"
"weight": 1
date: '2026-06-25'
description: 了解如何在 Java 中使用 GroupDocs Viewer 将 PDF 转换为 PNG,保持原始页面尺寸并避免常见的渲染问题。
keywords:
- convert pdf to png
- groupdocs viewer java
- pdf to image conversion
schemas:
- author: GroupDocs
dateModified: '2026-06-25'
description: Learn how to convert PDF to PNG in Java using GroupDocs Viewer, preserving
the original page size and avoiding common rendering issues.
headline: Convert PDF to PNG with GroupDocs Viewer for Java
type: TechArticle
- questions:
- answer: Register `Viewer` as a Spring bean, inject it where needed, and let Spring
manage its lifecycle for thread‑safe reuse.
question: How do I integrate GroupDocs.Viewer with Spring Boot?
- answer: Yes – GroupDocs.Viewer also supports JPEG, SVG, and PDF‑to‑HTML conversions.
question: Can I render PDFs to formats other than PNG?
- answer: Inspect the stack trace for missing file paths or licensing issues, and
verify that the PDF is not corrupted.
question: What should I do if the rendering process fails with an exception?
- answer: Technically no, but very large files may require increased JVM memory
and benefit from splitting into smaller sections.
question: Is there a size limit for PDFs that can be rendered?
- answer: Absolutely – simply pass the password to the `Viewer` constructor or via
the `LoadOptions` object.
question: Does GroupDocs.Viewer handle password‑protected PDFs?
type: FAQPage
title: 使用 GroupDocs Viewer for Java 将 PDF 转换为 PNG
type: docs
url: /zh/java/custom-rendering/render-pdf-original-page-size-groupdocs-viewer-java/
weight: 1
---
# 如何使用 GroupDocs.Viewer for Java 以原始页面大小呈现 PDF

在渲染 PDF 时保持其原始页面大小对于在各种平台和设备上准确显示至关重要。本指南将指导您使用 GroupDocs.Viewer for Java API 实现此功能。遵循这些步骤,您将确保您的 PDF 在渲染过程中保持其保真度。
# 使用 GroupDocs Viewer for Java PDF 转换为 PNG

## 您将学到什么
- 为什么在 PDF 渲染中保留原始页面大小很重要。
- 为 Java 设置和配置 GroupDocs.Viewer。
- 详细的分步指南,以原始尺寸呈现 PDF。
- 实际应用和集成可能性。
- 用于优化此任务期间的性能的技术。
在本综合指南中,您将了解**如何将 PDF 转换为 PNG**,并保持每页的原始尺寸。保持原始页面大小对于法律文件、品牌一致的营销资产以及任何缩放都会破坏测量的技术图纸至关重要。我们将演示如何安装 GroupDocs.Viewer、配置渲染选项以及排除常见问题,以便您每次都能生成像素完美的 PNG 图像。

让我们回顾一下开始之前所需的先决条件!
![使用 GroupDocs.Viewer for Java 将 PDF 渲染为原始尺寸](/viewer/custom-rendering/render-pdfs-in-original-size.png)

### 先决条件
为了继续操作,请确保您已:
- **Java 开发工具包 (JDK):** 您的机器上必须安装 JDK 8 或更高版本。
- **GroupDocs.Viewer for Java:** 使用 Maven 集成此库。
- **集成开发环境(IDE):** 使用集成开发环境,如 IntelliJ IDEA 或 Eclipse。
## 快速答案
- **哪个库可以在 Java 中将 PDF 转换为 PNG?** GroupDocs.Viewer for Java provides a straightforward API for `convert pdf to png`.
- **如何保持原始页面尺寸?** Call `setRenderOriginalPageSize(true)` on the `PdfOptions` object.
- **生产环境是否需要许可证?** Yes – a permanent or temporary GroupDocs license is required for non‑trial use.
- **我可以渲染受密码保护的 PDF 吗?** Absolutely; supply the password when creating the `Viewer` instance.
- **需要哪个 Java 版本?** JDK 8 or higher is fully supported.

### 为 Java 设置 GroupDocs.Viewer
## 什么是“以原始尺寸渲染 PDF”?
以原始尺寸渲染 PDF 是指在不进行任何缩放的情况下导出每页的精确尺寸。当您渲染 PDF 时,查看器可以将页面缩放以适应目标格式,或保持源文件中定义的精确尺寸。以原始尺寸渲染意味着每页都以像素完美的方式导出,这对于法律文件、档案材料以及任何不能妥协布局保真度的场景至关重要。

首先,在您的开发环境中设置适用于 Java 的 GroupDocs.Viewer。如果您使用 Maven 之类的构建工具,此过程非常简单:
## 为什么要保留 PDF 页面尺寸?
保留原始 PDF 页面尺寸可确保在转换后视觉布局、精确测量和设计元素保持不变,这对于法律合规、品牌一致性以及图表或表单中的技术精度至关重要。它还能防止图形意外裁剪或失真,确保签名和水印在所有平台上都准确呈现。

## 前置条件
- **Java Development Kit (JDK):** 版本 8 或更高。
- **GroupDocs.Viewer for Java:** 通过 Maven 添加库(见下文)。
- **IDE:** IntelliJ IDEA、Eclipse 或任何兼容 Java 的编辑器。

## 设置 GroupDocs.Viewer for Java

### Maven 配置
将官方 GroupDocs 仓库和 Viewer 依赖添加到您的 `pom.xml` 中。*(请勿修改代码块——必须保持原样。)*

**Maven配置**
```xml
<repositories>
<repository>
Expand All @@ -48,18 +81,12 @@ type: docs
```

#### 许可证获取
GroupDocs 提供多种许可选项:
- **免费试用:** 从免费试用开始探索功能。
- **临时执照:** 获得临时许可证,以获得不受限制的完全访问权限。
- **购买:** 如果您的项目需要长期使用,请考虑购买。
GroupDocs 提供三种授权选项:**免费试用**(无限页面,有限时间)、**临时许可证**(完整功能,最长 30 天)和**永久购买**(无限制的生产使用)。请选择与项目时间表相匹配的选项。

### 实施指南
## 实施指南

现在,让我们专注于如何在保留原始页面大小的情况下实现 PDF 渲染。我们将详细指导您完成每个步骤。

#### 初始化 GroupDocs.Viewer
**概述:**
首先设置一个 `Viewer` 源文档的实例。
### 步骤 1:初始化 GroupDocs.Viewer
`Viewer` 是 GroupDocs.Viewer 中的核心类,用于加载文档并提供渲染功能。创建一个 `Viewer` 实例并配置 `PngViewOptions`。`PngViewOptions` 定义将页面渲染为 PNG 图像的设置。关键调用 `viewOptions.getPdfOptions().setRenderOriginalPageSize(true);` 告诉引擎**设置原始页面尺寸**。

```java
import com.groupdocs.viewer.Viewer;
Expand All @@ -69,80 +96,86 @@ import java.nio.file.Path;

public class RenderOriginalPageSize {
public static void main(String[] args) {
// 定义渲染页面的输出目录路径
// Define output directory path for rendered pages
Path outputDirectory = Path.of("YOUR_OUTPUT_DIRECTORY");

// 输出页面文件路径的格式
// Format for the output page file paths
String pageFilePathFormat = "page_{0}.png";
Path pageFilePath = outputDirectory.resolve(pageFilePathFormat);

// 使用路径格式初始化 PngViewOptions
// Initialize PngViewOptions with the path format
PngViewOptions viewOptions = new PngViewOptions(pageFilePath.toString());

// 设置选项以呈现 PDF 文档的原始页面大小
// Set option to render original page size for PDF documents
viewOptions.getPdfOptions().setRenderOriginalPageSize(true);

// 为源 PDF 文档创建查看器实例
// Create a Viewer instance for the source PDF document
try (Viewer viewer = new Viewer("YOUR_DOCUMENT_DIRECTORY/SAMPLE_PDF")) {
// 使用指定的选项渲染 PDF
// Render the PDF using the specified options
viewer.view(viewOptions);
}
}
}
```

**解释:**
- **路径配置:** 定义渲染图像的存储位置。
- **PngView选项:** 指定我们想要 PNG 输出并为每个页面配置路径格式。
- **渲染原始页面大小:** 此关键设置可确保页面不缩放,保持其原始尺寸。

#### 故障排除提示
如果您遇到问题:
- 确保路径 `outputDirectory` 和 `"YOUR_DOCUMENT_DIRECTORY/SAMPLE_PDF"` 是正确的。
- 验证 GroupDocs.Viewer 是否在您的构建工具中正确配置。

### 实际应用
使用原始页面大小渲染 PDF 可能对各种场景有益,包括:
1. **数字档案:** 保存历史文献的完整性以供存档。
2. **法律文件管理:** 确保法律文件在以数字方式查看时保持其布局。
3. **教学资料分享:** 共享教科书或教学材料而不改变内容结构。
4. **发票处理系统:** 保持自动发票处理系统的一致性和可读性。

### 性能考虑
优化 PDF 渲染的性能至关重要,尤其是对于大型文档:
- **内存管理:** 分配足够的内存以有效处理大文件。
- **延迟加载:** 处理大量文档时仅加载必要的页面或部分。
- **缓存机制:** 对经常访问的 PDF 实施缓存以减少处理时间。

### 结论
通过本指南,您学习了如何使用 GroupDocs.Viewer for Java 渲染 PDF 文件并保留其原始页面大小。这项技能对于在各种应用程序中维护文档完整性至关重要。

下一步,考虑探索 GroupDocs.Viewer 的其他功能,例如水印和转换功能。

### 常见问题解答部分
**1. 如何将 GroupDocs.Viewer 与 Spring 等其他框架集成?**
- 您可以使用依赖注入来管理应用程序上下文中的查看器实例。

**2. 我可以用 PNG 以外的格式渲染 PDF 吗?**
- 是的,GroupDocs.Viewer 支持多种输出格式,包括 JPEG 和 SVG。

**3.渲染失败怎么办?**
- 检查错误日志中的特定消息并确保正确指定了路径。

**4. 可渲染的 PDF 文件大小有限制吗?**
- 文件过大时性能可能会下降,因此请考虑将它们分成可管理的部分。

**5. 我可以直接渲染加密的 PDF 吗?**
- 如果您提供必要的凭证,GroupDocs.Viewer 支持呈现受保护的文档。

### 资源
欲了解更多阅读材料和资源:
- **文档:** [GroupDocs 查看器 Java 文档](https://docs.groupdocs.com/viewer/java/)
- **API 参考:** [Java 版 GroupDocs API 参考](https://reference.groupdocs.com/viewer/java/)
- **下载 GroupDocs.Viewer:** [官方下载](https://releases.groupdocs.com/viewer/java/)
- **购买和许可:** [购买 GroupDocs 产品](https://purchase.groupdocs.com/buy)
- **免费试用:** [GroupDocs 免费试用](https://releases.groupdocs.com/viewer/java/)
- **临时执照:** [获取临时许可证](https://purchase.groupdocs.com/temporary-license/)
- **支持论坛:** [GroupDocs 支持论坛](https://forum.groupdocs.com/c/viewer/9)

希望本指南能帮助您使用 GroupDocs.Viewer for Java 实现以原始页面大小渲染 PDF。祝您编码愉快!
**关键行说明**
- **路径配置:** 确定每个渲染的 PNG 保存的位置。
- **PngViewOptions:** 选择 PNG 作为输出格式(经典的 *pdf to png java* 场景)。
- **渲染原始页面尺寸:** 确保不进行任何缩放,保留每个 PDF 页面精确的尺寸。

### 步骤 2:运行并验证
加载您的 PDF,调用渲染例程,然后检查生成的 PNG 文件。图像应与原始 PDF 页面尺寸像素对像素匹配。如果图像出现拉伸,请再次确认已使用 `setRenderOriginalPageSize(true)`,并且您使用的是最新的 GroupDocs.Viewer 版本。

## 故障排除与常见陷阱
- **文件路径不正确:** 确保 `outputDirectory` 和源 PDF 路径都是绝对路径或相对于项目的正确相对路径。
- **缺少许可证:** 没有有效许可证时,渲染可能会降级为限制页面数的试用模式。
- **大 PDF 导致内存不足错误:** 增加 JVM 堆内存(`-Xmx2g` 或更高)或启用页面懒加载。
- **加密的 PDF:** 在构造 `Viewer` 实例时提供密码,以避免 *pdf rendering troubleshooting* 错误。

## 实际使用案例
1. **数字档案:** 在不产生任何失真的情况下保存历史扫描件。
2. **法律文档门户:** 提供符合法院要求的 PDF,显示方式与提交时完全一致。
3. **在线学习平台:** 将教材转换为图像格式,同时保持布局完整。
4. **发票自动化:** 确保转换后项目明细和总额保持可读。

## 性能提示
- **内存管理:** 为大型文档分配足够的堆空间。
- **懒加载:** 在可能的情况下,仅渲染所需页面,而不是整个文件。
- **缓存:** 为频繁访问的 PDF 存储渲染后的 PNG,以避免重复处理。

## 常见问题

**Q: 如何将 GroupDocs.Viewer 与 Spring Boot 集成?**
A: 将 `Viewer` 注册为 Spring Bean,在需要的地方注入,并让 Spring 管理其生命周期以实现线程安全的复用。

**Q: 我可以将 PDF 渲染为 PNG 之外的格式吗?**
A: 可以——GroupDocs.Viewer 还支持 JPEG、SVG 和 PDF 转 HTML 的转换。

**Q: 如果渲染过程因异常而失败,我该怎么办?**
A: 检查堆栈跟踪以查找缺失的文件路径或授权问题,并确认 PDF 未损坏。

**Q: 可渲染的 PDF 是否有大小限制?**
A: 从技术上讲没有,但非常大的文件可能需要增加 JVM 内存,并且将其拆分为更小的部分会更有益。

**Q: GroupDocs.Viewer 能处理受密码保护的 PDF 吗?**
A: 当然——只需将密码传递给 `Viewer` 构造函数或通过 `LoadOptions` 对象即可。

## 资源
- **Documentation:** [GroupDocs Viewer Java 文档](https://docs.groupdocs.com/viewer/java/)
- **API Reference:** [GroupDocs Java API 参考](https://reference.groupdocs.com/viewer/java/)
- **Download GroupDocs.Viewer:** [官方下载](https://releases.groupdocs.com/viewer/java/)
- **Purchase and Licensing:** [购买 GroupDocs 产品](https://purchase.groupdocs.com/buy)
- **Free Trial:** [GroupDocs 免费试用](https://releases.groupdocs.com/viewer/java/)
- **Temporary License:** [获取临时许可证](https://purchase.groupdocs.com/temporary-license/)
- **Support Forum:** [GroupDocs 支持论坛](https://forum.groupdocs.com/c/viewer/9)

---

**最后更新:** 2026-06-25
**测试环境:** GroupDocs.Viewer 25.2 for Java
**作者:** GroupDocs

## 相关教程

- [如何在 Java 中使用 GroupDocs.Viewer 将 PDF 渲染为 HTML 并优化图像质量](/viewer/java/advanced-rendering/adjust-image-quality-groupdocs-viewer-java/)
- [如何使用 GroupDocs.Viewer for Java 将 CAD 图纸渲染为自定义尺寸和背景颜色的 PNG](/viewer/java/advanced-rendering/render-cad-drawings-custom-png-groupdocs-java/)
Loading
Loading