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.

Original file line number Diff line number Diff line change
@@ -1,47 +1,58 @@
---
"date": "2025-04-24"
"description": "了解如何使用 GroupDocs.Viewer for Java 将 WMZ 和 WMF 文件转换为 HTML、JPG、PNG 和 PDF 格式。这份全面的指南将简化转换过程。"
"title": "如何使用 GroupDocs Viewer for Java 转换 WMZ/WMF 文档——综合指南"
"url": "/zh/java/export-conversion/convert-wmz-wmf-groupdocs-viewer-java/"
"weight": 1
date: '2026-02-18'
description: 了解如何使用 GroupDocs Viewer for Java 将 WMZ 和 WMF 文件转换为 PDF、HTML、JPG 和 PNG。本指南涵盖
GroupDocs Viewer Java 以及 Java 转换矢量图形。
keywords:
- convert WMZ/WMF documents
- GroupDocs Viewer for Java
- rendering formats
title: 如何使用 GroupDocs Viewer for Java 将 WMZ 转换为 PDF 及其他格式
type: docs
url: /zh/java/export-conversion/convert-wmz-wmf-groupdocs-viewer-java/
weight: 1
---
# 如何使用 GroupDocs Viewer for Java 转换 WMZ/WMF 文档:综合指南

## 介绍
# 如何使用 GroupDocs Viewer for Java 将 WMZ 转换为 PDF 及其他格式

由于 Windows 图元文件 (WMF) 和 Web 图元文件 (WMZ) 格式的结构独特,将其转换为 HTML、JPG、PNG 或 PDF 等更易于访问的格式可能颇具挑战性。使用 GroupDocs.Viewer for Java,您可以轻松地将 WMZ/WMF 文档渲染为各种常用格式
将 WMZ(Web Metafile)和 WMF(Windows Metafile)文件转换为更易访问的格式——尤其是 **convert WMZ to PDF**——可能比较棘手,因为这些矢量图形格式存储的是绘图指令而非像素数据。使用 **GroupDocs Viewer for Java**,您可以仅用几行代码将 WMZ/WMF 文档渲染为 HTML、JPG、PNG、**PDF** 以及其他流行格式

在本教程中,我们将指导您使用 Java 中强大的 GroupDocs.Viewer 库将 WMZ 和 WMF 文件转换为 HTML、JPG、PNG 和 PDF。通过学习,您将掌握无缝文档转换所需的技能。
![使用 GroupDocs.Viewer for Java 转换 WMZ/WMF 文档](/viewer/export-conversion/convert-wmz-wmf-documents.png)

**您将学到什么:**
- 使用 GroupDocs.Viewer for Java 设置您的环境
- 将 WMZ/WMF 文档渲染为包含嵌入资源的 HTML 格式
- 将 WMZ/WMF 文件转换为高质量 JPG 图像
- 从 WMZ/WMF 文档生成清晰的 PNG 图像
- 创建 WMZ/WMF 文件的 PDF 版本
在本教程中,您将学习如何设置库、将 WMZ/WMF 文件渲染为所需的输出,并处理常见的陷阱。完成后,您就能将 **groupdocs viewer java** 集成到您的 Java 应用程序中,快速可靠地 **java convert vector graphics**。

让我们深入探讨开始所需的先决条件。
## 快速答案
- **WMZ/WMF 可以转换为哪些格式?** 完全支持 HTML、JPG、PNG 和 PDF。
- **开发是否需要许可证?** 免费试用可用于测试;商业许可证可去除评估限制。
- **需要哪个 Java 版本?** 推荐使用 Java 8 或更高版本。
- **我可以只渲染特定页面吗?** 可以,您可以在视图选项中指定页面范围。
- **大文件的内存使用是否是个问题?** 使用 try‑with‑resources 并仅渲染所需页面以保持低内存占用。

## 先决条件
## 什么是 “convert WMZ to PDF”?
将 WMZ 转换为 PDF 意味着将基于矢量的 WMZ 文件进行光栅化(或保留其矢量数据)并嵌入 PDF 容器中。PDF 可在任何平台上查看、搜索和打印,非常适合归档和共享 WMZ 图形。

在开始之前,请确保您已完成以下设置:
## 为什么使用 GroupDocs Viewer for Java 来转换矢量图形?
- **高保真**:库能够保留原始绘图质量,无论输出为 PDF 还是 PNG。
- **零外部依赖**:无需本地 Windows 库;只要有 JDK,任何平台都能运行。
- **简洁 API**:一个 `Viewer` 实例和一次 `view` 调用即可完成整个转换。
- **可扩展**:对单页图标和多页技术图纸同样适用。

### 所需库
- **GroupDocs.Viewer for Java**:这个库将成为我们文档渲染任务的核心。
- Java 开发工具包 (JDK):建议使用版本 8 或更高版本,以便与 GroupDocs 库兼容。
## 前置条件

### 必需的库
- **GroupDocs.Viewer for Java** – 核心渲染引擎。
- Java Development Kit (JDK) 8+。

### 环境设置
- 集成开发环境 (IDE),例如 IntelliJ IDEA 或 Eclipse。
- 对 Java 编程有基本的了解,并熟悉使用 Maven 进行依赖管理
- IDE,例如 IntelliJ IDEA 或 Eclipse。
- Maven 用于依赖管理(如果喜欢也可以使用 Gradle)

### 知识前提
- 使用 Java 理解文件路径 `javanio.file.Path`.
- 熟悉文档查看器的概念以及软件应用程序中的渲染
- 熟悉 Java 文件 I/O(`java.nio.file.Path`)。
- 基本了解文档查看器如何渲染内容

## 为 Java 设置 GroupDocs.Viewer
## 设置 GroupDocs.Viewer for Java

要开始使用 GroupDocs.Viewer,您需要设置项目环境。如果您使用的是 Maven,请在您的 `pom.xml` 文件
将仓库和依赖添加到您的 `pom.xml`

```xml
<repositories>
Expand All @@ -60,66 +71,50 @@ type: docs
</dependencies>
```

### 许可证获取
- **免费试用**:GroupDocs 提供免费试用,让您探索其库的全部功能。
- **临时执照**:申请临时许可证以消除开发期间的评估限制。
- **购买**:如果您发现该库适合您的长期需求,请考虑购买许可证。
> **许可证提示:** 使用免费试用进行评估,然后应用临时或购买的许可证以解锁全部功能。

配置完成后,通过创建以下实例来初始化 GroupDocs.Viewer `Viewer` 类。这将在后续的每个功能实现中使用
依赖解析后,您可以创建一个 `Viewer` 实例,该实例将在每个转换步骤中重复使用

## 实施指南

我们将渲染过程分解为四个主要功能:HTML、JPG、PNG 和 PDF 转换。每个部分都包含分步说明,指导您完成整个实现过程
我们将演示四种转换场景:HTML、JPG、PNG 和 PDF。每个示例遵循相同的模式——定义输出路径、使用源 WMZ 文件实例化 `Viewer`、配置相应的视图选项,然后调用 `view`

### 将 WMZ/WMF 渲染为 HTML

#### 概述
将 WMZ/WMF 文件转换为 HTML 允许在 HTML 文件中直接以网页友好的方式查看带有嵌入资源(例如图像和样式)的矢量图形
HTML 输出允许您将图形直接嵌入网页,所有资源(图像、CSS)都包含在单个文件中

**步骤 1:定义输出目录路径**

首先,设置保存 HTML 文件的输出目录:

```java
Path outputDirectory = Utils.getOutputDirectoryPath("RenderingWmzAndWmf");
Path pageFilePathFormat = outputDirectory.resolve("wmz_result.html");
```

**步骤 2:使用 WMZ 示例文档初始化查看器**

使用 `try-with-resources` 阻止以确保查看器自动关闭:
**步骤 2:初始化 Viewer 并渲染为 HTML**

```java
try (Viewer viewer = new Viewer(TestFiles.SAMPLE_WMZ)) {
// 步骤 3:为嵌入资源创建 HTML 视图选项
// Create options that embed all resources inside the HTML file
HtmlViewOptions options = HtmlViewOptions.forEmbeddedResources(pageFilePathFormat);

// 步骤 4:将文档呈现为 HTML 格式
// Perform the rendering
viewer.view(options);
}
```

**解释**
- `HtmlViewOptions.forEmbeddedResources` 包含结果 HTML 中的所有资源,使其成为自包含的。
- 这 `viewer.view(options)` 方法执行渲染过程。

### 将 WMZ/WMF 渲染为 JPG

#### 概述
转换为 JPG 可创建一种适合在各种平台上分发和显示的便携式图像格式
JPG 是一种广泛支持的光栅格式,适合快速预览或电子邮件附件

**步骤 1:定义输出目录路径**

设置 JPG 文件的输出路径:

```java
Path outputDirectory = Utils.getOutputDirectoryPath("RenderingWmzAndWmf");
Path pageFilePathFormat = outputDirectory.resolve("wmz_result.jpg");
```

**步骤 2:初始化查看器并渲染为 JPG**

将您的 WMZ/WMF 文档渲染为 JPG 图像:
**步骤 2:初始化 Viewer 并渲染为 JPG**

```java
try (Viewer viewer = new Viewer(TestFiles.SAMPLE_WMZ)) {
Expand All @@ -128,27 +123,19 @@ try (Viewer viewer = new Viewer(TestFiles.SAMPLE_WMZ)) {
}
```

**解释**
- `JpgViewOptions` 指定渲染过程的输出格式。
- 转换后会产生高质量的图像文件。

### 将 WMZ/WMF 渲染为 PNG

#### 概述
PNG 非常适合需要透明度的图形,此功能演示了如何从 WMZ/WMF 文档创建 PNG 文件
PNG 支持透明度,非常适合需要与不同背景混合的图形

**步骤 1:定义输出目录路径**

确定 PNG 文件的保存位置:

```java
Path outputDirectory = Utils.getOutputDirectoryPath("RenderingWmzAndWmf");
Path pageFilePathFormat = outputDirectory.resolve("wmz_result.png");
```

**步骤 2:初始化查看器并渲染为 PNG**

将您的文档转换为 PNG 格式:
**步骤 2:初始化 Viewer 并渲染为 PNG**

```java
try (Viewer viewer = new Viewer(TestFiles.SAMPLE_WMZ)) {
Expand All @@ -157,27 +144,19 @@ try (Viewer viewer = new Viewer(TestFiles.SAMPLE_WMZ)) {
}
```

**解释**
- `PngViewOptions` 配置渲染过程以输出 PNG 文件。
- 生成的图像支持透明度,使其能够满足各种设计需求。

### 将 WMZ/WMF 渲染为 PDF

#### 概述
PDF 是一种通用格式,可以在安装了 PDF 阅读器的任何设备上轻松共享和查看
PDF 提供了一个跨平台、可搜索的文档,保留原始布局

**步骤 1:定义输出目录路径**

设置 PDF 文件的输出路径:

```java
Path outputDirectory = Utils.getOutputDirectoryPath("RenderingWmzAndWmf");
Path pageFilePathFormat = outputDirectory.resolve("wmz_result.pdf");
```

**步骤 2:初始化查看器并渲染为 PDF**

从您的 WMZ/WMF 文档生成 PDF:
**步骤 2:初始化 Viewer 并渲染为 PDF**

```java
try (Viewer viewer = new Viewer(TestFiles.SAMPLE_WMZ)) {
Expand All @@ -186,27 +165,38 @@ try (Viewer viewer = new Viewer(TestFiles.SAMPLE_WMZ)) {
}
```

**解释**
- `PdfViewOptions` 指定所需的输出格式。
- PDF 文件与原始文档保持了高度的保真度。
## 常见问题及解决方案

## 实际应用
| 问题 | 原因 | 解决方案 |
|------|------|----------|
| **OutOfMemoryError** 在大型 WMZ 文件上 | Viewer 将整个文档加载到内存中 | 使用 `PageStreamViewOptions` 一次渲染一页,或增加 JVM 堆大小(`-Xmx`)。 |
| **PDF 中缺少字体** | 源 WMZ 中未嵌入字体 | 在主机上安装所需字体,或使用 `FontSettings` 提供自定义字体。 |
| **PNG 输出为空白** | 输出路径不正确或写权限不足 | 确认 `outputDirectory` 存在且应用程序具有写入权限。 |
| **HTML 资源未加载** | 使用 `forExternalResources` 而未复制文件 | 使用 `forEmbeddedResources` 以获得自包含的 HTML 文件。 |

以下是渲染 WMZ/WMF 文件的一些实际用例:
## 常见问答

1. **Web 开发**:将矢量图形转换为适用于 Web 应用程序的 HTML,增强兼容性和用户体验。
2. **数字出版**:使用 JPG 或 PNG 来获取在线杂志或电子书中的高质量图像。
3. **归档文件**:创建 PDF 以在不同平台和设备上保持文档保真度。
4. **多媒体项目**:将渲染的格式集成到多媒体演示或交互式应用程序中。
**问:我可以使用相同的代码将 WMF 转换为 PNG 吗?**
**答:** 可以。PNG 示例适用于 WMZ 和 WMF 文件,只需将 `TestFiles.SAMPLE_WMZ` 替换为您的 WMF 源文件。

## 性能考虑
**问:是否可以只转换部分页面?**
**答:** 当然。使用 `PdfViewOptions`(或其他格式对应的选项),并在渲染前调用 `setPageNumbers(List<Integer>)`。

为确保使用 GroupDocs.Viewer 时获得最佳性能:
**问:每种输出格式需要单独的许可证吗?**
**答:** 不需要。单一的 GroupDocs Viewer 许可证覆盖所有支持的格式,包括 HTML、JPG、PNG 和 PDF。

- **内存管理**:请注意内存使用情况,尤其是在处理大型文档时。请考虑根据应用程序的需求优化 JVM 设置。
- **资源使用情况**:如果处理多页文档,则仅呈现必要的页面,以最大限度地减少资源消耗。
- **最佳实践**:定期更新到 GroupDocs.Viewer 的最新版本,以获得性能改进和错误修复。
**问:“java convert vector graphics” 对性能有何影响?**
**答:** 矢量转光栅的转换会消耗大量 CPU。对于大批量处理,考虑使用多线程并在文件之间复用同一个 `Viewer` 实例。

**问:PDF 会保留矢量质量,还是会被光栅化?**
**答:** 将 WMZ/WMF 转换为 PDF 时,GroupDocs Viewer 会在可能的情况下保留矢量指令,从而生成可缩放的 PDF。

## 结论

在本教程中,我们探索了如何使用 GroupDocs.Viewer for Java 将 WMZ/WMF 文档渲染为 HTML、JPG、PNG 和 PDF 格式。掌握这些技能后,您可以高效地将文档渲染功能集成到您的应用程序中。如需进一步探索,请考虑深入了解 GroupDocs.Viewer 的高级功能。
现在,您已经拥有一份完整的、可用于生产环境的指南,使用 **GroupDocs Viewer for Java** 将 **convert WMZ to PDF** 以及其他常见格式进行转换。无论您是构建即时提供图形的 Web 服务,还是用于将文档存储为 PDF 的归档工具,上述步骤都能帮助您快速实现目标。

---

**最后更新:** 2026-02-18
**测试版本:** GroupDocs.Viewer 25.2 for Java
**作者:** GroupDocs
Loading