Skip to content

Commit 0bed0d8

Browse files
Merge pull request #10 from aspose-pdf/optimize/pdf/java/20251209050711
Optimize 2 Pdf Java pages
2 parents ed2aed3 + a7c4b89 commit 0bed0d8

File tree

46 files changed

+4863
-3476
lines changed
  • pdf
    • arabic/java/advanced-features
      • master-tagged-pdfs-java-aspose-pdf-guide
      • mastering-pdf-open-actions-aspose-pdf-java
    • chinese/java/advanced-features
      • master-tagged-pdfs-java-aspose-pdf-guide
      • mastering-pdf-open-actions-aspose-pdf-java
    • czech/java/advanced-features
      • master-tagged-pdfs-java-aspose-pdf-guide
      • mastering-pdf-open-actions-aspose-pdf-java
    • dutch/java/advanced-features
      • master-tagged-pdfs-java-aspose-pdf-guide
      • mastering-pdf-open-actions-aspose-pdf-java
    • english/java/advanced-features
      • master-tagged-pdfs-java-aspose-pdf-guide
      • mastering-pdf-open-actions-aspose-pdf-java
    • french/java/advanced-features
      • master-tagged-pdfs-java-aspose-pdf-guide
      • mastering-pdf-open-actions-aspose-pdf-java
    • german/java/advanced-features
      • master-tagged-pdfs-java-aspose-pdf-guide
      • mastering-pdf-open-actions-aspose-pdf-java
    • greek/java/advanced-features
      • master-tagged-pdfs-java-aspose-pdf-guide
      • mastering-pdf-open-actions-aspose-pdf-java
    • hindi/java/advanced-features
      • master-tagged-pdfs-java-aspose-pdf-guide
      • mastering-pdf-open-actions-aspose-pdf-java
    • hongkong/java/advanced-features
      • master-tagged-pdfs-java-aspose-pdf-guide
      • mastering-pdf-open-actions-aspose-pdf-java
    • hungarian/java/advanced-features
      • master-tagged-pdfs-java-aspose-pdf-guide
      • mastering-pdf-open-actions-aspose-pdf-java
    • indonesian/java/advanced-features
      • master-tagged-pdfs-java-aspose-pdf-guide
      • mastering-pdf-open-actions-aspose-pdf-java
    • italian/java/advanced-features
      • master-tagged-pdfs-java-aspose-pdf-guide
      • mastering-pdf-open-actions-aspose-pdf-java
    • japanese/java/advanced-features
      • master-tagged-pdfs-java-aspose-pdf-guide
      • mastering-pdf-open-actions-aspose-pdf-java
    • korean/java/advanced-features
      • master-tagged-pdfs-java-aspose-pdf-guide
      • mastering-pdf-open-actions-aspose-pdf-java
    • polish/java/advanced-features
      • master-tagged-pdfs-java-aspose-pdf-guide
      • mastering-pdf-open-actions-aspose-pdf-java
    • portuguese/java/advanced-features
      • master-tagged-pdfs-java-aspose-pdf-guide
      • mastering-pdf-open-actions-aspose-pdf-java
    • russian/java/advanced-features
      • master-tagged-pdfs-java-aspose-pdf-guide
      • mastering-pdf-open-actions-aspose-pdf-java
    • spanish/java/advanced-features
      • master-tagged-pdfs-java-aspose-pdf-guide
      • mastering-pdf-open-actions-aspose-pdf-java
    • swedish/java/advanced-features
      • master-tagged-pdfs-java-aspose-pdf-guide
      • mastering-pdf-open-actions-aspose-pdf-java
    • thai/java/advanced-features
      • master-tagged-pdfs-java-aspose-pdf-guide
      • mastering-pdf-open-actions-aspose-pdf-java
    • turkish/java/advanced-features
      • master-tagged-pdfs-java-aspose-pdf-guide
      • mastering-pdf-open-actions-aspose-pdf-java
    • vietnamese/java/advanced-features
      • master-tagged-pdfs-java-aspose-pdf-guide
      • mastering-pdf-open-actions-aspose-pdf-java

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

+4863
-3476
lines changed

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

Lines changed: 113 additions & 63 deletions
Large diffs are not rendered by default.

pdf/arabic/java/advanced-features/mastering-pdf-open-actions-aspose-pdf-java/_index.md

Lines changed: 94 additions & 82 deletions
Large diffs are not rendered by default.

pdf/chinese/java/advanced-features/master-tagged-pdfs-java-aspose-pdf-guide/_index.md

Lines changed: 114 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,59 @@
11
---
2-
"date": "2025-04-14"
3-
"description": "学习如何使用 Aspose.PDF 在 Java 中创建易于访问、结构良好且带有标签的 PDF。本指南涵盖如何设置标题、语言以及添加复杂元素。"
4-
"title": "使用 Aspose.PDF 掌握 Java 中的标记 PDF——可访问性和结构化的完整指南"
5-
"url": "/zh/java/advanced-features/master-tagged-pdfs-java-aspose-pdf-guide/"
6-
"weight": 1
2+
date: '2025-12-09'
3+
description: 学习如何使用 Aspose.PDF 在 Java 中为 PDF 文件添加标签。本教程展示了如何生成可访问的 PDF、在 Java 中添加段落
4+
PDF,以及应用 PDF 可访问性标签。
5+
keywords:
6+
- tagged PDFs in Java
7+
- Aspose.PDF for Java
8+
title: 使用 Aspose.PDF 在 Java 中标记 PDF:可访问性与结构化完整指南
9+
url: /zh/java/advanced-features/master-tagged-pdfs-java-aspose-pdf-guide/
10+
weight: 1
711
---
812

913
{{< blocks/products/pf/main-wrap-class >}}
1014

1115
{{< blocks/products/pf/main-container >}}
1216

1317
{{< blocks/products/pf/tutorial-page-section >}}
14-
# 使用 Aspose.PDF 掌握 Java 中的标记 PDF:可访问性和结构化的完整指南
18+
# 如何在 Java 中使用 Aspose.PDF 标记 PDF:可访问性和结构化的完整指南
1519

1620
## 介绍
17-
对于依赖屏幕阅读器和其他辅助技术的用户来说,创建可访问的 PDF 文档至关重要。确保您的 PDF 既易于访问又结构良好可能颇具挑战性。幸运的是,Aspose.PDF for Java 提供了强大的工具来高效地处理这个问题,允许开发人员在 PDF 文档中设置标题、语言和结构化内容。
21+
创建可访问的 PDF 文档并学习 **how to tag PDF** 文件对于依赖屏幕阅读器和其他辅助技术的用户至关重要。确保 PDF 既可访问又结构良好可能具有挑战性,但 Aspose.PDF for Java 通过让您直接在 PDF 中设置标题、语言和结构化内容,使过程变得简单
1822

19-
在本教程中,我们将探索如何利用 Aspose.PDF 库在 Java 中创建带标签的 PDF 文档。您将学习如何:
20-
- 设置 PDF 的标题和语言属性
21-
- 添加段落和跨度元素以增强文档结构
22-
- 将跨度元素嵌套在段落内,以实现更复杂的布局
23+
在本教程中,我们将探讨如何利用 Aspose.PDF 库在 Java 中创建带标签的 PDF 文档。您将学习如何:
24+
- PDF 设置标题和语言属性
25+
- 添加段落和 span 元素以增强文档结构
26+
- 在段落中嵌套 span 元素以实现更复杂的布局
2327

24-
让我们深入了解如何设置您的环境并实现这些功能
28+
让我们深入了解环境设置和这些功能的实现
2529

26-
### 先决条件
27-
在开始之前,请确保您已准备好以下事项:
28-
- **Java开发环境:** 已安装 JDK(版本 8 或更高版本)。
29-
- **Maven/Gradle 构建工具:** 熟悉使用 Maven 或 Gradle 进行依赖管理。
30-
- **Java基础知识:** 了解 Java 编程概念。
30+
### 快速回答
31+
- **What is PDF accessibility tagging?** 这是向 PDF 添加逻辑结构(标签)的过程,使屏幕阅读器能够正确解释内容。
32+
- **Why use Aspose.PDF for tagging?** 它提供流畅的 API,用于创建、修改和标记 PDF,无需 Adobe Acrobat。
33+
- **How long does the basic implementation take?** 简单文档大约需要 10–15 分钟。
34+
- **Do I need a license?** 试用版可用于评估,但生产环境需要许可证。
35+
- **Which Java versions are supported?** 支持 Java 8 及更高版本(包括 Java 11、17 和 21)。
3136

32-
## 为 Java 设置 Aspose.PDF
33-
要在您的 Java 项目中使用 Aspose.PDF,您需要将该库添加为依赖项。以下是使用 Maven 和 Gradle 的操作方法:
37+
### 前置条件
38+
在开始之前,请确保具备以下条件:
39+
- **Java 开发环境:** 已安装 JDK(版本 8 或更高)。
40+
- **Maven/Gradle 构建工具:** 熟悉使用 Maven 或 Gradle 进行依赖管理。
41+
- **基本的 Java 知识:** 了解 Java 编程概念。
42+
43+
## 什么是 PDF 可访问性标记?
44+
PDF 可访问性标记涉及在 PDF 中嵌入逻辑结构(标题、章节、段落、span、表格等),该结构使辅助技术能够以有意义的顺序呈现内容,从而 **generate accessible PDF** 输出。
45+
46+
## 为什么在 Java 中使用 Aspose.PDF?
47+
Aspose.PDF for Java 是一个 **aspose pdf java tutorial** 级别的解决方案,能够:
48+
- 在任何支持 Java 的平台上运行。
49+
- 以编程方式创建、编辑和标记 PDF。
50+
- 对段落和 span 等标记元素提供细粒度控制,这对于 **add paragraph pdf java** 场景至关重要。
51+
52+
## 设置 Aspose.PDF for Java
53+
要在 Java 项目中使用 Aspose.PDF,您需要将库作为依赖项引入。以下展示了使用 Maven 和 Gradle 的方式:
3454

3555
### Maven 安装
36-
将以下依赖项添加到您的 `pom.xml` 文件
56+
将以下依赖添加到您的 `pom.xml` 文件中
3757
```xml
3858
<dependency>
3959
<groupId>com.aspose</groupId>
@@ -43,27 +63,27 @@
4363
```
4464

4565
### Gradle 安装
46-
将其包含在您的 `build.gradle` 文件
66+
在您的 `build.gradle` 文件中加入以下内容
4767
```gradle
4868
implementation 'com.aspose:aspose-pdf:25.3'
4969
```
5070

5171
### 许可证获取
52-
要在试用期之外继续使用 Aspose.PDF,您可以获取临时许可证或购买完整许可证。操作方法如下
53-
- **免费试用:** 从下载最新版本 [Aspose PDF Java 版本](https://releasesaspose.com/pdf/java/).
54-
- **临时执照:** 通过以下方式申请免费临时许可证 [Aspose 临时许可证页面](https://purchaseaspose.com/temporary-license/).
55-
- **购买许可证:** 购买完整许可证 [Aspose 购买页面](https://purchaseaspose.com/buy).
72+
要在试用限制之外使用 Aspose.PDF,您可以获取临时许可证或购买完整许可证。操作步骤如下
73+
- **Free Trial:** [Aspose PDF Java Releases](https://releases.aspose.com/pdf/java/) 下载最新版本。
74+
- **Temporary License:** 通过 [Aspose Temporary License Page](https://purchase.aspose.com/temporary-license/) 申请免费临时许可证。
75+
- **Purchase License:** [Aspose Purchase Page](https://purchase.aspose.com/buy) 购买完整许可证。
5676

57-
获得许可证文件后,将其应用到 Java 应用程序中以解锁所有功能
77+
获取许可证文件后,在 Java 应用程序中应用它以解锁全部功能
5878

59-
## 实施指南
60-
我们将把实现过程分解为三个主要功能:设置标题和语言、添加段落和 span 元素,以及在段落内嵌套 span。为了清晰起见,每个部分都包含详细的步骤和代码片段
79+
## 实现指南
80+
我们将实现分为三个主要功能:设置标题和语言、添加段落和 span 元素、以及在段落中嵌套 span。每个章节都提供了详细步骤和代码片段以便清晰理解
6181

62-
### 设置 PDF 文档的标题和语言
63-
**概述:** 此功能演示如何定义标记的 PDF 文档的标题和语言,确保辅助技术可以访问并正确解释该文档
82+
### PDF 文档设置标题和语言
83+
**概述:** 本功能演示如何为带标签的 PDF 文档定义标题和语言,确保其可访问并被辅助技术正确解释
6484

65-
#### 逐步实施
66-
1. **初始化 Aspose.PDF 文档:**
85+
#### 步骤实现
86+
1. **Initialize the Aspose.PDF Document:**
6787
```java
6888
import com.aspose.pdf.Document;
6989
import com.aspose.pdf.tagged.ITaggedContent;
@@ -74,33 +94,33 @@ implementation 'com.aspose:aspose-pdf:25.3'
7494
Document document = new Document();
7595
ITaggedContent taggedContent = document.getTaggedContent();
7696
```
77-
2. **设置标题和语言:**
97+
2. **Set Title and Language:**
7898
```java
79-
// 设置PDF文档的标题
99+
// Set the title of the PDF document
80100
taggedContent.setTitle("Text Elements Example");
81101

82-
// 定义语言(例如,英语 - 美国)
102+
// Define the language (e.g., English - United States)
83103
taggedContent.setLanguage("en-US");
84104
```
85-
3. **保存文档:**
105+
3. **Save the Document:**
86106
```java
87107
document.save(outFile);
88108
```
89-
**解释** 通过设置标题和语言,您可以提供有助于可访问性的重要元数据
109+
**说明** 通过设置标题和语言,您提供了关键的元数据,有助于 **pdf accessibility tagging** 并帮助屏幕阅读器正确朗读文档
90110

91-
### 添加段落和跨度元素
92-
**概述:** 通过添加段落和跨度元素来增强 PDF 的结构,以创建逻辑组织的文档
111+
### 添加段落和 Span 元素
112+
**概述:** 通过添加段落和 span 元素来增强 PDF 的结构,创建逻辑组织的文档
93113

94-
#### 逐步实施
95-
1. **创建文档和标记内容:**
114+
#### 步骤实现
115+
1. **Create Document and Tagged Content:**
96116
```java
97117
String dataDir = "YOUR_DOCUMENT_DIRECTORY";
98118
String outFile = dataDir + "AddParagraphAndSpanElements_Output.pdf";
99119

100120
Document document = new Document();
101121
ITaggedContent taggedContent = document.getTaggedContent();
102122
```
103-
2. **附加段落和跨度元素:**
123+
2. **Append Paragraph and Span Elements:**
104124
```java
105125
import com.aspose.pdf.tagged.logicalstructure.elements.StructureElement;
106126
import com.aspose.pdf.tagged.logicalstructure.elements.bls.ParagraphElement;
@@ -116,30 +136,30 @@ implementation 'com.aspose:aspose-pdf:25.3'
116136
SpanElement span12 = taggedContent.createSpanElement();
117137
span12.setText(" and Span_12.");
118138

119-
// 将 span 附加到段落
139+
// Append spans to the paragraph
120140
p1.setText("Paragraph with ");
121141
p1.appendChild(span11);
122142
p1.appendChild(span12);
123143
```
124-
3. **保存您的文档:**
144+
3. **Save Your Document:**
125145
```java
126146
document.save(outFile);
127147
```
128-
**解释** 本节演示如何在 PDF 中创建结构化文本流,以提高可读性和导航性
148+
**说明** 本节演示了一个基本的 **add paragraph pdf java** 场景,创建结构化的文本流以提升可读性和导航性
129149

130150
### 在段落元素中嵌套 Span 元素
131-
**概述:** 通过在段落内嵌套跨度元素来创建更复杂的文本结构
151+
**概述:** 通过在段落内部嵌套 span 元素,创建更复杂的文本结构
132152

133-
#### 逐步实施
134-
1. **初始化文档结构:**
153+
#### 步骤实现
154+
1. **Initialize Document Structure:**
135155
```java
136156
String dataDir = "YOUR_DOCUMENT_DIRECTORY";
137157
String outFile = dataDir + "NestSpanElements_Output.pdf";
138158

139159
Document document = new Document();
140160
ITaggedContent taggedContent = document.getTaggedContent();
141161
```
142-
2. **创建和嵌套跨度元素:**
162+
2. **Create and Nest Span Elements:**
143163
```java
144164
StructureElement rootElement = taggedContent.getRootElement();
145165

@@ -158,41 +178,68 @@ implementation 'com.aspose:aspose-pdf:25.3'
158178
span42.appendChild(span421);
159179
span42.setText("Span_42");
160180

161-
// 附加到段落
181+
// Append to paragraph
162182
p4.appendChild(span41);
163183
p4.appendChild(span42);
164184

165185
p4.setText(".");
166186
```
167-
3. **保存文档:**
187+
3. **Save the Document:**
168188
```java
169189
document.save(outFile);
170190
```
171-
**解释** 嵌套允许创建更详细、结构更丰富的内容,从而增强用户体验
191+
**说明** 嵌套使您能够构建更丰富、更细致的结构,这对于创建符合严格可访问性标准的 **generate accessible PDF** 文档至关重要
172192

173193
## 实际应用
174-
Aspose.PDF 的标记功能有许多实际应用
175-
- **数字出版:** 创建具有结构化内容的可访问电子书。
176-
- **政府文件** 确保符合无障碍标准。
177-
- **公司报告** 增强利益相关者的文档导航和可读性。
194+
Aspose.PDF 的标记功能在真实场景中有广泛应用
195+
- **数字出版:** 使用结构化内容创建可访问的电子书。
196+
- **政府文档** 确保符合可访问性法规。
197+
- **企业报告** 提升利益相关者的导航和可读性。
178198
- **教育材料:** 为学生提供可访问的学习资源。
179199

180200
## 性能考虑
181-
处理大型 PDF 或复杂结构时,请记住以下提示:
182-
- **内存管理:** 通过在使用后及时处置对象来优化内存使用。
183-
- **批处理:** 批量处理文档以有效管理资源消耗。
184-
- **使用最新的库版本:** 始终确保您使用最新版本来提高性能和修复错误。
201+
在处理大型 PDF 或复杂结构时,请注意以下提示:
202+
- **内存管理:** 使用后及时释放对象。
203+
- **批处理:** 批量处理文档以控制资源消耗。
204+
- **保持更新:** 使用最新的 Aspose.PDF 版本以获得性能提升和错误修复。
205+
206+
## 常见问题及解决方案
207+
| 问题 | 解决方案 |
208+
|-------|----------|
209+
| **标签未在 PDF 查看器中显示** | 确保在保存之前调用 `taggedContent.setTitle()``setLanguage()`|
210+
| **文件大小过大** |`save()` 之前调用 `document.optimizeResources()` 以压缩资源。 |
211+
| **文本顺序异常** | 确保按所需顺序将 span 追加到段落中。 |
212+
213+
## 常见问题
214+
215+
**Q: 如何确保我的 PDF 符合 WCAG 2.1 可访问性标准?**
216+
A: 使用 Aspose.PDF 设置文档标题、语言和适当的标记(段落、span、标题)。通过可访问性检查工具(例如 PAC 3)对 PDF 进行检查以验证合规性。
217+
218+
**Q: 我可以标记已经创建但没有标签的现有 PDF 吗?**
219+
A: 可以。加载 PDF,获取其 `ITaggedContent`,在保存前以编程方式添加缺失的标签。
220+
221+
**Q: Aspose.PDF 是否支持其他语言和从右到左的脚本?**
222+
A: 完全支持。设置相应的语言代码(例如 `ar-SA` 表示阿拉伯语)并向 span 添加 Unicode 文本。
223+
224+
**Q: 处理非常大的文档(数百页)有哪些最佳做法?**
225+
A: 将文档分段处理,使用 `Document.optimizeResources()`,并考虑流式输出以避免高内存占用。
226+
227+
**Q: 创建后是否可以验证标签层次结构?**
228+
A: 可以使用 `document.getTaggedContent().getRootElement()` 导出 PDF 的结构树,并通过编程方式或 PDF 工具进行检查。
185229

186230
## 结论
187-
现在,您已经掌握了使用 Aspose.PDF for Java 在 PDF 中设置标题、语言和结构化内容的技巧。这些技能对于创建易于理解、结构清晰、适合更广泛受众的文档至关重要。
231+
您已经掌握了使用 Aspose.PDF 在 Java 中 **how to tag PDF** 文件的技巧——设置标题、语言,并通过段落和嵌套 span 构建结构化内容。这些技术使您能够生成符合现代可访问性标准的可访问 PDF,为所有用户提供卓越的阅读体验。
232+
233+
**后续步骤:**
234+
- 尝试使用表格、列表和图形等其他标签类型。
235+
- 将标记工作流集成到现有的文档生成管道中。
236+
- 探索 Aspose.PDF 的 OCR 和转换功能,以拓宽文档处理能力。
188237

189-
接下来,请考虑探索 Aspose.PDF 库的其他功能或将这些解决方案集成到您现有的系统中。
238+
---
190239

191-
## 常见问题解答部分
192-
1. **如何确保我的 PDF 符合可访问性标准?**
193-
- 通过使用 Aspose.PDF 的标记功能,您可以设置标题和语言以增强可访问性。
194-
2. **Aspose.PDF 能有效处理大型文档吗?**
195-
- 是的,通过适当的内存管理技术和批处理,它甚至可以有效地管理大型 PDF。
240+
**Last Updated:** 2025-12-09
241+
**Tested With:** Aspose.PDF for Java 25.3
242+
**Author:** Aspose
196243

197244
{{< /blocks/products/pf/tutorial-page-section >}}
198245

0 commit comments

Comments
 (0)