【问题标题】:How can I preserve accessibility and add PDF/A 2-a conformance with Itext如何保留可访问性并添加 PDF/A 2-a 与 Itext 的一致性
【发布时间】:2013-12-31 09:29:23
【问题描述】:

我有一个可访问(标记)的 PDF 文档,我想将其添加为 PDF/A 2-a 符合 Itext 5.4.5。

我可以打开一个符合 PDF/A 2-b 的 PDFAWriter(注意 b),导入每个页面,复制它们。输出文档符合 PDF/A 2-b 合规性(我检查了两个验证器),但随后我失去了可访问性(结构标签)。

然后我尝试打开一个符合 PDF/A 2-a 的 PDFAWriter(注意 a),使用 writer.setTagged(),导入每个页面并像这样复制它们:

    Document document = new Document();
    PdfAWriter writer = PdfAWriter.getInstance(document,
        new FileOutputStream(output), PdfAConformanceLevel.PDF_A_2A);

    PdfReader pdfReader = new PdfReader(input);
    writer.setTagged();
    writer.setLanguage("en");
    writer.setLinearPageMode();
    writer.createXmpMetadata();

    document.open();
    ICC_Profile icc = ICC_Profile.getInstance(new FileInputStream(PROFILE));
    writer.setOutputIntents("Custom", "", "http://www.color.org",
            "sRGB IEC61966-2.1", icc);

    PdfContentByte cb = writer.getDirectContent();

    int n1 = pdfReader.getNumberOfPages();
    for (int i = 1; i <= n1; i++) {
        document.newPage();
        PdfImportedPage page = writer.getImportedPage(pdfReader, i);
        cb.addTemplate(page, 0, 0);
    }
    document.close();

但这会产生这个错误

Exception in thread "main" com.itextpdf.text.pdf.PdfAConformanceException: Alt entry should specify alternate description for /Figure element. at com.itextpdf.text.pdf.internal.PdfA2Checker.checkStructElem(PdfA2Checker.java:822) at com.itextpdf.text.pdf.internal.PdfAChecker.checkPdfAConformance(PdfAChecker.java:222) at com.itextpdf.text.pdf.internal.PdfAConformanceImp.checkPdfIsoConformance(PdfAConformanceImp.java:70)

有什么解决方法吗?解决这个问题?

(我知道 PDFCopy 会保留标记,但是如何指定 PDF/A 2-a 位...?)

【问题讨论】:

    标签: java pdf itext


    【解决方案1】:

    我很容易在 3-Heights 中做到这一点,但我想要一个 IText 解决方案来解决这个问题。

    (我个人对提供的界面有点失望。例如,PDFCopy 扩展了 PdfWriter,但不是 PdfAWriter)。

    【讨论】:

      猜你喜欢
      • 2016-01-25
      • 1970-01-01
      • 2012-01-05
      • 2018-05-10
      • 2021-03-09
      • 2019-03-28
      • 2016-03-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多