使用 iText 创建具有辅助功能的 PDF 文件
Create Accessible PDF files with iText
最近我下载了一个iText的试用许可证。
我努力实现以下目标:
- 从 WORD、PP、Excel 等创建 PDF 文档
- 正在处理现有的 PDF 文件。
- (最重要)- 必须根据 WCAG 502 要求创建/转换文件以供残疾人完全访问 (PDF/UA)
我尝试了以下代码:(C#)
LicenseKey.LoadLicenseFile(@"D:\Development\itextkey-0.xml");
PdfDocument pdfDoc = new PdfDocument(new PdfReader(SRC), new PdfWriter(DEST, new WriterProperties().SetPdfVersion(PdfVersion.PDF_1_7)));
pdfDoc.SetTagged();
pdfDoc.GetCatalog().SetLang(new PdfString("HE-IL"));
pdfDoc.GetCatalog().SetViewerPreferences(
new PdfViewerPreferences().SetDisplayDocTitle(true));
PdfDocumentInfo info = pdfDoc.GetDocumentInfo();
info.SetTitle("iText7 PDF/UA example");
pdfDoc.Close();
但是,在 Acrobat Reader 检查输出文件后,标记为 "Not Tagged" PDF 文件。
请告知我应该如何使用 iText 来实现我的目标。
无法完成。
让我给你最简单的证明:
假设输入文档包含两只猫争夺一团毛线的图像。
pdf/UA 要求您插入 合理的替代文本 以供您想象。
目前没有可用的系统能够为您随意输入的任何图像提供合理的说明。
更不用说任何带有图片说明的系统都必须链接到完美的翻译服务。由于大多数图像识别服务都是英文的,这可能不是您编写文档所用的语言。这也意味着您需要一个能够检测您所用语言的系统。
我们现在添加了 3 个极其困难的问题,只是为了能够处理图像:
- 标记
- 翻译
- 语言检测
现在想象一下另一种有趣的东西,比如
- 表
- 图形和图表
- ..
此外,PDF/UA 需要嵌入字体。如果您遇到使用未嵌入字体的 PDF,该怎么办?您是否可以访问可用于替代这些字体的字体程序?
在您的代码段中,您使用了 PdfReader
,并提供了文件 SRC
的路径。您需要转换 Word、PPT 和其他文件,但 iText 不会将 Word、PPT 等文件转换为 PDF。 PdfReader
只接受 PDF 文件(如名称所示)。
最近我下载了一个iText的试用许可证。 我努力实现以下目标:
- 从 WORD、PP、Excel 等创建 PDF 文档
- 正在处理现有的 PDF 文件。
- (最重要)- 必须根据 WCAG 502 要求创建/转换文件以供残疾人完全访问 (PDF/UA)
我尝试了以下代码:(C#)
LicenseKey.LoadLicenseFile(@"D:\Development\itextkey-0.xml");
PdfDocument pdfDoc = new PdfDocument(new PdfReader(SRC), new PdfWriter(DEST, new WriterProperties().SetPdfVersion(PdfVersion.PDF_1_7)));
pdfDoc.SetTagged();
pdfDoc.GetCatalog().SetLang(new PdfString("HE-IL"));
pdfDoc.GetCatalog().SetViewerPreferences(
new PdfViewerPreferences().SetDisplayDocTitle(true));
PdfDocumentInfo info = pdfDoc.GetDocumentInfo();
info.SetTitle("iText7 PDF/UA example");
pdfDoc.Close();
但是,在 Acrobat Reader 检查输出文件后,标记为 "Not Tagged" PDF 文件。
请告知我应该如何使用 iText 来实现我的目标。
无法完成。
让我给你最简单的证明:
假设输入文档包含两只猫争夺一团毛线的图像。
pdf/UA 要求您插入 合理的替代文本 以供您想象。
目前没有可用的系统能够为您随意输入的任何图像提供合理的说明。
更不用说任何带有图片说明的系统都必须链接到完美的翻译服务。由于大多数图像识别服务都是英文的,这可能不是您编写文档所用的语言。这也意味着您需要一个能够检测您所用语言的系统。
我们现在添加了 3 个极其困难的问题,只是为了能够处理图像:
- 标记
- 翻译
- 语言检测
现在想象一下另一种有趣的东西,比如
- 表
- 图形和图表
- ..
此外,PDF/UA 需要嵌入字体。如果您遇到使用未嵌入字体的 PDF,该怎么办?您是否可以访问可用于替代这些字体的字体程序?
在您的代码段中,您使用了 PdfReader
,并提供了文件 SRC
的路径。您需要转换 Word、PPT 和其他文件,但 iText 不会将 Word、PPT 等文件转换为 PDF。 PdfReader
只接受 PDF 文件(如名称所示)。