Skip to content

Commit 00e02c9

Browse files
Merge pull request #8 from aspose-pdf/optimize/pdf/java/20251202180852
Optimize 2 Pdf Java pages
2 parents 00b8097 + e7800b0 commit 00e02c9

File tree

46 files changed

+5324
-4280
lines changed
  • pdf
    • arabic/java/advanced-features
    • chinese/java/advanced-features
    • czech/java/advanced-features
    • dutch/java/advanced-features
    • english/java/advanced-features
    • french/java/advanced-features
    • german/java/advanced-features
    • greek/java/advanced-features
    • hindi/java/advanced-features
    • hongkong/java/advanced-features
    • hungarian/java/advanced-features
    • indonesian/java/advanced-features
    • italian/java/advanced-features
    • japanese/java/advanced-features
    • korean/java/advanced-features
    • polish/java/advanced-features
    • portuguese/java/advanced-features
    • russian/java/advanced-features
    • spanish/java/advanced-features
    • swedish/java/advanced-features
    • thai/java/advanced-features
    • turkish/java/advanced-features
    • vietnamese/java/advanced-features

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+5324
-4280
lines changed

pdf/arabic/java/advanced-features/create-pdf-layers-aspose-java/_index.md

Lines changed: 125 additions & 87 deletions
Large diffs are not rendered by default.

pdf/arabic/java/advanced-features/create-tagged-pdfs-aspose-pdf-java/_index.md

Lines changed: 117 additions & 109 deletions
Large diffs are not rendered by default.

pdf/chinese/java/advanced-features/create-pdf-layers-aspose-java/_index.md

Lines changed: 122 additions & 84 deletions
Original file line numberDiff line numberDiff line change
@@ -1,55 +1,75 @@
11
---
2-
"date": "2025-04-14"
3-
"description": "掌握如何使用 Aspose.PDF for Java 创建分层 PDF。本指南涵盖设置、代码示例和实际应用。"
4-
"title": "如何使用 Aspose.PDF for Java 创建和自定义 PDF 图层——分步指南"
5-
"url": "/zh/java/advanced-features/create-pdf-layers-aspose-java/"
6-
"weight": 1
2+
date: '2025-12-02'
3+
description: 学习如何使用 Aspose.PDF for Java 创建 PDF 图层。本 Aspose PDF 教程涵盖设置、授权以及自定义 PDF
4+
图层颜色。
5+
keywords:
6+
- Aspose.PDF for Java
7+
- create PDF layers
8+
- layered PDF applications
9+
language: zh
10+
title: 如何使用 Aspose.PDF for Java 创建 PDF 图层 – 步骤指南
11+
url: /java/advanced-features/create-pdf-layers-aspose-java/
12+
weight: 1
713
---
814

915
{{< blocks/products/pf/main-wrap-class >}}
1016

1117
{{< blocks/products/pf/main-container >}}
1218

1319
{{< blocks/products/pf/tutorial-page-section >}}
14-
# 如何使用 Aspose.PDF for Java 创建和自定义 PDF 图层
20+
# 如何使用 Aspose.PDF for Java 创建 PDF 图层
1521

16-
**创建一个富含 SEO 的标题** 了解如何使用 Aspose.PDF Java 创建和自定义带有图层的 PDF
22+
**创建 SEO 丰富的标题** 学习如何使用 Aspose.PDF Java 创建和自定义带图层的 PDF
1723

18-
## 介绍
24+
## Introduction
1925

20-
以编程方式创建具有专业外观的 PDF 文档可能颇具挑战性,尤其是在添加图层等复杂元素时。本指南将引导您使用 Aspose.PDF for Java 创建基本 PDF 文档,并为其配置多个图层,每个图层包含自定义内容
26+
以编程方式创建专业外观的 PDF 文档可能具有挑战性,尤其是当您需要 **创建 pdf 图层** 并能够在打开或关闭时切换。在本 **aspose pdf 教程** 中,我们将逐步讲解您需要了解的全部内容——从搭建开发环境到编写 Java 代码生成 PDF、添加多个图层以及自定义每个图层的颜色。完成后,您将能够为建筑平面图、设计草稿或任何需要将视觉元素分离的场景生成分层 PDF
2127

22-
掌握这项技术后,您将能够动态生成分层 PDF,并将其用于各种应用,例如建筑平面图、设计草图等等。本教程涵盖了从环境设置到 PDF 图层的实现和自定义的所有内容。
28+
**您将学到的内容**
29+
- 如何使用 Aspose.PDF for Java **创建 PDF 文档**
30+
- **创建 pdf 图层** 并分配不同颜色的步骤。
31+
- **自定义 pdf 图层颜色** 以实现更好的视觉区分的技术。
32+
- **aspose pdf 许可** 的工作原理以及为何在生产环境中必须使用。
33+
- 大型分层 PDF 的真实案例和性能提示。
2334

24-
**您将学到什么:**
25-
- 如何使用 Aspose.PDF for Java 创建新的 PDF 文档。
26-
- 在 PDF 中添加和配置多个图层的步骤。
27-
- 使用特定颜色和绘图操作调整图层内容的技术。
28-
- 分层 PDF 在现实场景中的实际应用。
29-
- 处理大型文档时的性能优化技巧。
35+
现在,在深入代码之前,请确保您已准备好所有必需的内容。
3036

31-
现在,让我们先了解一下在深入了解实施细节之前您需要满足的先决条件。
37+
## Quick Answers
38+
- **主要库是什么?** Aspose.PDF for Java。
39+
- **本指南针对的关键字是什么?** create pdf layers。
40+
- **需要许可证吗?** 是——请参阅 **aspose pdf licensing** 部分。
41+
- **可以更改图层颜色吗?** 当然——我们将展示如何 **customize pdf layer colors**
42+
- **实现大约需要多长时间?** 基本示例约需 10‑15 分钟。
3243

33-
## 先决条件
44+
## What is “create pdf layers”?
45+
创建 PDF 图层是指向 PDF 文件添加 **可选内容组 (OCG)**。每个图层可以包含自己的绘图指令、文本或图像,用户可以在 PDF 查看器中显示或隐藏图层。此功能非常适合将设计元素、批注或不同版本的内容分离开来。
46+
47+
## Why use Aspose.PDF for Java to create pdf layers?
48+
- **完全控制** PDF 结构,无需 Adobe Acrobat。
49+
- **跨平台**——在 Windows、Linux 和 macOS 上均可运行。
50+
- **稳健的授权模型**,拥有有效许可证后即可解除使用限制。
51+
- **丰富的 API**,支持绘图、文本和图层操作,轻松 **customize pdf layer colors**
52+
53+
## Prerequisites
3454

3555
在开始之前,请确保您具备以下条件:
3656

37-
### 所需库
38-
您需要 Aspose.PDF for Java。本教程使用的版本是 25.3。保持库的更新至关重要,这样才能充分利用新功能和改进
57+
### Required Libraries
58+
您需要 **Aspose.PDF for Java**(本教程使用 25.3 版编写,任何近期版本均可)。保持库的最新可确保您拥有最新的错误修复和功能增强
3959

40-
### 环境设置要求
41-
- **Java 开发工具包 (JDK):** 确保安装了 JDK 8 或更高版本。
42-
- **集成开发环境(IDE** 使用 IntelliJ IDEA、Eclipse 或 NetBeans 等 IDE 以便于开发
60+
### Environment Setup Requirements
61+
- **Java Development Kit (JDK):** 8 版或更高。
62+
- **IDE:** IntelliJ IDEA、Eclipse 或 NetBeans——任选其一进行 Java 开发
4363

44-
### 知识前提
45-
需要具备 Java 编程的基本知识。如果您需要管理项目中的依赖项,熟悉 Maven 或 Gradle 将大有裨益
64+
### Knowledge Prerequisites
65+
具备 Java 基础并熟悉 Maven 或 Gradle 的依赖管理将使步骤更加顺畅
4666

47-
## 为 Java 设置 Aspose.PDF
67+
## Setting Up Aspose.PDF for Java
4868

49-
要开始使用 Aspose.PDF for Java,需要将库添加到您的项目中。您可以使用 Maven 或 Gradle 进行以下操作:
69+
要在 Java 项目中使用 Aspose.PDF,需将库添加到项目中。以下是两种最常见的构建工具配置方式。
5070

5171
### Maven
52-
将以下依赖项添加到您的 `pom.xml` 文件
72+
`pom.xml` 文件中添加以下依赖
5373
```xml
5474
<dependency>
5575
<groupId>com.aspose</groupId>
@@ -59,25 +79,26 @@
5979
```
6080

6181
### Gradle
62-
将其包含在您的 `build.gradle` 文件
82+
`build.gradle` 文件中加入此行
6383
```gradle
6484
implementation 'com.aspose:aspose-pdf:25.3'
6585
```
6686

67-
#### 许可证获取步骤
68-
- **免费试用:** 从免费试用开始探索该库的功能。
69-
- **临时执照:** 您可以从 Aspose 的网站申请临时许可证以用于评估目的。
70-
- **购买:** 要获得完整的访问权限和功能,请考虑购买许可证。
87+
#### License Acquisition Steps
88+
- **免费试用:** 先使用试用版探索库的功能。
89+
- **临时许可证:** 从 Aspose 网站申请临时密钥进行评估。
90+
- **购买:** 生产环境使用时,请购买许可证以解锁全部功能并去除评估水印。
91+
92+
要激活许可证,请在项目中添加以下 Java 代码:
7193

72-
要在您的 Java 项目中初始化 Aspose.PDF,请确保按如下方式设置许可代码:
7394
```java
7495
import com.aspose.pdf.License;
7596

7697
public class PDFSetup {
7798
public static void main(String[] args) {
7899
License license = new License();
79100
try {
80-
// 如果有许可证文件,请应用它
101+
// Apply the license file if you have one
81102
license.setLicense("path/to/Aspose.Total.Java.lic");
82103
} catch (Exception e) {
83104
System.out.println("Error setting license: " + e.getMessage());
@@ -86,22 +107,19 @@ public class PDFSetup {
86107
}
87108
```
88109

89-
## 实施指南
110+
> **专业提示:** 将许可证文件放在源码控制之外,并使用绝对路径或环境变量引用。
111+
112+
## Implementation Guide
90113

91-
### 创建 PDF 文档
114+
### Create a PDF Document
92115

93-
#### 概述
94-
创建新的 PDF 文档是此过程的第一步。本节将指导您初始化文档并将其保存到所需的目录
116+
#### Overview
117+
第一个构建块是简单的 **create pdf document** 调用。本节展示如何实例化 `Document`、添加页面并保存到磁盘
95118

96-
#### 创建新 PDF 的步骤
97-
1. **初始化文档:**
98-
- 首先创建一个实例 `Document`
99-
100-
2. **添加页面:**
101-
- 使用 `add()` 方法。
102-
103-
3. **保存文档:**
104-
- 使用 `save()` 方法将您的文档存储在指定的目录中。
119+
#### Steps
120+
1. **初始化 Document** —— 创建一个新的 `Document` 对象。
121+
2. **添加页面** —— 使用 `doc.getPages().add()`
122+
3. **保存文件** —— 调用 `doc.save()` 并指定输出路径。
105123

106124
```java
107125
import com.aspose.pdf.Document;
@@ -110,32 +128,28 @@ public class CreatePDF {
110128
public static void main(String[] args) {
111129
String outputDir = "YOUR_OUTPUT_DIRECTORY";
112130

113-
// 初始化新文档
131+
// Initialize a new Document
114132
Document doc = new Document();
115133

116-
// 向文档添加页面
134+
// Add a page to the document
117135
doc.getPages().add();
118136

119-
// 保存文档
137+
// Save the document
120138
doc.save(outputDir + "/output.pdf");
121139
}
122140
}
123141
```
124142

125-
### 为 PDF 创建和配置图层
143+
### Create and Configure Layers for PDF
126144

127-
#### 概述
128-
下一个功能是在 PDF 中创建图层,让您能够以结构化的方式组织内容。本节将展示如何使用不同的图层添加多种颜色的线条
145+
#### Overview
146+
接下来我们将 **create pdf layers****customize pdf layer colors**。每个图层将包含一条彩色线条,以演示可选内容组的工作方式
129147

130-
#### 创建和配置图层的步骤
131-
1. **初始化页面:**
132-
- 首先创建要添加图层的页面。
133-
134-
2. **创建图层:**
135-
- 使用名称和颜色等特定属性定义每个图层。
136-
137-
3. **添加绘图操作:**
138-
- 使用绘图操作将线条等内容添加到图层。
148+
#### Steps
149+
1. **初始化页面** —— 从一个空白页面开始放置图层。
150+
2. **创建图层** —— 实例化 `Layer` 对象,设置名称,并添加绘图操作符。
151+
3. **添加绘图操作** —— 使用 `SetRGBColorStroke``MoveTo``LineTo``Stroke` 绘制彩色线条。
152+
4. **保存文档** —— 将带有图层的 PDF 持久化。
139153

140154
```java
141155
import com.aspose.pdf.*;
@@ -145,26 +159,26 @@ public class CreatePDFWithLayers {
145159
public static void main(String[] args) {
146160
String outputDir = "YOUR_OUTPUT_DIRECTORY";
147161

148-
// 在文档中初始化一个新页面
162+
// Initialize a new page in the document
149163
Page page = new Document().getPages().add();
150164

151-
// 准备存储图层
165+
// Prepare to store layers
152166
ArrayList<Layer> layers = new ArrayList<>();
153167
page.setLayers(layers);
154168

155-
// 红线层
169+
// Red Line Layer
156170
Layer redLayer = createRedLineLayer();
157171
layers.add(redLayer);
158172

159-
// 绿线层
173+
// Green Line Layer
160174
Layer greenLayer = createGreenLineLayer();
161175
layers.add(greenLayer);
162176

163-
// 蓝线层
177+
// Blue Line Layer
164178
Layer blueLayer = createBlueLineLayer();
165179
layers.add(blueLayer);
166180

167-
// 保存带有图层的文档
181+
// Save the document with layers
168182
new Document().getPages().add(page).save(outputDir + "/output_with_layers.pdf");
169183
}
170184

@@ -197,25 +211,49 @@ public class CreatePDFWithLayers {
197211
}
198212
```
199213

200-
### 故障排除提示
201-
- **常见问题:** 如果图层不可见,请确保绘图坐标和颜色设置正确。
202-
- **性能问题:** 对于具有多层的大型文档,通过减少不必要的操作或将内容拆分到多个 PDF 中进行优化。
214+
### Troubleshooting Tips
215+
- **图层不可见?** 请确认绘图坐标在页面范围内,并且每个图层都有唯一名称。
216+
- **大型 PDF 性能下降?** 减少每个图层的绘图操作数量,或将文档拆分为多个文件。
217+
- **许可证警告?** 确保 `license.setLicense(...)` 指向有效的 `.lic` 文件且运行时可访问该文件。
218+
219+
## Practical Applications
220+
分层 PDF 在许多领域大放异彩:
221+
1. **建筑平面图:** 将结构、电气和管道图纸分别放在不同图层。
222+
2. **设计草稿:** 将概念草图、批注和最终渲染放在独立图层,便于切换。
223+
3. **教育材料:** 将章节、练习和答案分层,教师可按需显示答案。
224+
225+
您可以将这些 PDF 嵌入网页门户、移动应用或支持可选内容组的桌面查看器中。
226+
227+
## Performance Considerations
228+
在生成包含大量图层的 PDF 时,请遵循以下最佳实践:
229+
- **批量处理:** 在一次运行中处理多个文档,以降低 JVM 启动开销。
230+
- **资源管理:** 及时关闭流并释放文件句柄(如果打开了流,调用 `doc.close()`)。
231+
- **性能分析:** 使用 VisualVM、YourKit 等工具定位内存热点,尤其是在创建成千上万图层时。
203232

204-
## 实际应用
205-
分层 PDF 有各种实际应用:
206-
1. **建筑平面图:** 使用不同的层来表示结构组件,如电线、管道和墙壁。
207-
2. **设计绘图:** 分离工程草图中的设计元素,以获得更好的清晰度和编辑性。
208-
3. **教育材料:** 使用不同的层次按主题或章节组织教育内容。
233+
遵循这些指南,即使在大规模生成时也能保持 PDF 生成的快速响应。
209234

210-
集成可能性包括将分层 PDF 嵌入到 Web 应用程序或移动应用程序中,以提供交互式文档体验。
235+
## Frequently Asked Questions
211236

212-
## 性能考虑
213-
使用 Aspose.PDF 时,性能至关重要,尤其是处理大型文档时。以下是一些建议:
214-
- **批处理:** 如果可能的话,批量处理多个文档以优化资源使用。
215-
- **资源管理:** 通过在使用后关闭文件来确保文件句柄和内存等资源得到正确管理。
216-
- **分析:** 使用分析工具来识别瓶颈并优化代码性能。
237+
**Q: 创建 pdf 图层需要付费许可证吗?**
238+
A: 试用许可证可用于实验,但完整的 **aspose pdf licensing** 密钥可去除评估限制,并在生产环境中启用所有图层功能。
239+
240+
**Q: 我可以向图层添加文本或图像,而不仅仅是线条吗?**
241+
A: 可以。任何 PDF 操作符(文本、图像、表单字段)都可以添加到 `Layer` 的内容集合中。
242+
243+
**Q: 如何在 PDF 创建后以编程方式隐藏或显示图层?**
244+
A: 使用 `OptionalContentGroup` API 设置可见性状态,或让支持 OCG 的 PDF 查看器让终端用户切换图层。
245+
246+
**Q: 图层数量有限制吗?**
247+
A: 从技术上讲没有限制,但极高的图层数量会影响查看器性能。为获得最佳效果,请保持在几百而非数千层。
248+
249+
**Q: Aspose.PDF 是否支持带图层的 PDF/A 或 PDF/UA 合规性?**
250+
A: 支持,您可以在保存前为 `Document` 设置合规性标志,图层将在合规输出中得到保留。
251+
252+
---
217253

218-
通过遵循这些指南,您可以使用 Aspose.PDF for Java 创建高效且有效的分层 PDF。
254+
**最后更新:** 2025-12-02
255+
**测试环境:** Aspose.PDF for Java 25.3
256+
**作者:** Aspose
219257

220258
{{< /blocks/products/pf/tutorial-page-section >}}
221259

0 commit comments

Comments
 (0)