0

最近我下载了 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 检查后,输出文件标记为“未标记”PDF 文件。

请告知我应该如何使用 iText 来实现我的目标。

4

1 回答 1

2

做不到。

让我给你一个最简单的证明:
假设输入文档包含两只猫争夺一团毛线的图像。

pdf/UA 要求您为您的想象插入合理的替代文本
目前没有可用的系统能够为您扔给它的任何随机图像提供合理的标题。

更不用说任何系统为图像提供标题,都必须与完美的翻译服务相关联。由于大多数图像识别服务都是英文的,而这可能不是您编写文档的语言。这也意味着您需要一个能够检测您正在编写的语言的系统。

我们现在添加了 3 个非常困难的问题,只是为了能够处理图像:

  • 标记
  • 翻译
  • 语言检测

现在想象另一种有趣的东西,比如

  • 图形和图表
  • ..

此外,PDF/UA 需要嵌入字体。如果您遇到使用未嵌入字体的 PDF 怎么办。您是否可以访问可用于替换这些字体的字体程序?

在您的代码段中,您使用PdfReader,并提供文件的路径SRC。您需要转换 Word、PPT 和其他文件,但 iText 不会将 Word、PPT 等转换为 PDF。PdfReader仅接受 PDF 文件(如名称所示)。

于 2017-11-06T14:01:39.633 回答