【问题标题】:Converting PDF to PDFA1-A with iTextSharp使用 iTextSharp 将 PDF 转换为 PDFA1-A
【发布时间】:2011-06-03 23:40:36
【问题描述】:

我想要的是在 iText 中加载一个纯 PDF 文件并将其导出(或写入)为 PDF/A1-A。

我已经手动使用 iTextSharp 获得了“iText in action sec.edit”。 Still Progress == null。

【问题讨论】:

    标签: c# itextsharp itext pdfa


    【解决方案1】:

    嗨,伦纳德。 (Leonard 为 Adob​​e 工作,担任他们的 PDF Dev Evangelist Guy。他的 PDF-Fu 是强大。我将避免在一些虚假的谦虚尝试中比较我们的强大。)>:)

    任意 PDF -> PDF/A1-A 几乎是不可能的。 1-A 需要在您的标记中嵌入大量格式信息...大约与将 PDF 重建为 html/css 所需的信息一样多。

    从“这是一堆带有这些坐标的行和字符”到“这是一个包含 X 列和 Y 行的表格,并且其单元格中有以下信息”非常困难。几乎不可能。

    PDF/A1-b 更加逼真,但仍然不容易。您需要将所有内容放入一组特定的色彩空间和渲染意图和things with molecular structures that your primitive intellect wouldn't understand

    (严重的错误引用,但其中仍有一些有趣的地方,所以我放弃了。)

    iText[Sharp] 支持生成 PDF/A,因为它会告诉你什么时候公然违反规范......但它可能无法捕捉到它,直到你调用 document.close ()。编写生成器的程序员仍然需要“手动”填写一整套信息。

    不是没有人会说“我们将任意 PDF 转换成 PDF/A-1a”(不会说谎)。你把我指向一些这样说的软件,我会给你一个完全有效的 PDF,它会破坏它。每次。我敢赌它。

    您需要一份 PDF/A ISO 规范 ($)。您需要一份 PDF ISO 规范 (free!)。你需要了解他们。然后你就会明白你的对手是什么。

    现在就是“任意 PDF”。如果你有一堆来自同一个程序的报告实例,那么隧道尽头就有一盏灯。这仍然是一条很长的隧道,但问题降级为“困难”而不是“几乎不可能”。而且,一旦您有一份报告工作,从同一个应用程序处理类似的报告可能会相对容易。

    还是不好玩。

    【讨论】:

      【解决方案2】:

      iText 不支持 PDF->PDF/A “开箱即用”的转换。

      您当然可以使用库中的低级 API 作为编写此类转换器的起点...但这只是一个开始...

      【讨论】:

        【解决方案3】:

        试试这个。

                PdfStamper pst = null;
        
                PdfReader reader = new PdfReader(GetTemplateBytes());
                pst = new PdfStamper(reader, Response.OutputStream);
        
                pst.Writer.SetPdfVersion(PdfWriter.PDF_VERSION_1_4);
                pst.Writer.PDFXConformance = PdfWriter.PDFA1A;
        

        【讨论】:

          猜你喜欢
          • 2011-01-22
          • 2022-03-07
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-09-29
          • 2015-12-19
          相关资源
          最近更新 更多