使用 iText 创建具有辅助功能的 PDF 文件

Create Accessible PDF files with iText

最近我下载了一个iText的试用许可证。 我努力实现以下目标:

我尝试了以下代码:(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 文件(如名称所示)。