我想要的是在iText中加载一个普通的PDF文件,并将其导出(或写入)为PDF/A1-A。
我已经用iTextSharp手动编辑了"iText in action sec.edit“。仍然进度==为空。
发布于 2011-01-06 01:03:11
iText不支持转换PDF->PDF/A“开箱即用”。
您当然可以使用库中的低级API作为编写这样一个converter...but的起点,但这只是一个起点……
发布于 2011-01-07 06:02:11
你好,伦纳德。(Leonard作为他们的PDF开发布道者Guy为Adobe工作。他的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。
(可怕的错误引用,但仍然有一些有趣的地方,所以我留下了它。)
iTextSharp支持生成 PDF/A,只要你明目张胆地违反规范,它就会告诉你...但它可能直到您调用document.close()才能捕获它。编写生成器的程序员仍然需要“手动”填写一大堆信息。
没有人可以说:“我们将采用一些任意的PDF,并将其转换为PDF/A-1a”(而不是通过他们的牙齿)。你指给我一些软件这样说,我会给你一个完全有效的PDF,这将打破它。每次都是这样。我敢打赌。
您需要一份PDF/A ISO规范的副本($)。您需要一份PDF ISO规范(free!)的副本。你需要了解他们。然后你就会明白你面对的是什么。
现在,所有这些都是“任意PDF”。如果你有一个堆栈的一些报告的实例都来自同一个程序,那么隧道的尽头就会有一丝曙光。这仍然是一条很长的隧道,但问题降级为“硬”,而不是“几乎不可能”。一旦你有了一个工作的报告,从同一个应用程序中处理类似的报告可能会相对容易。
还是不好玩。
发布于 2011-05-18 22:20:44
尝尝这个。
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;https://stackoverflow.com/questions/4603927
复制相似问题