2011-01-05 137 views

回答

1

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

你当然可以使用低级别的API库为出发点写这种转换器...但它woudl仅是一个开始......

6

你好伦纳德。 (伦纳德的作品为Adobe的PDF格式的开发传播者盖伊他的PDF福是强大我会从我们的强力在假谦虚一些模糊的尝试比较克制。)> :)

任意PDF - > PDF/A1-A几乎不可能。 1-A需要在您的标记中嵌入一大堆格式化信息...尽可能多地提供信息,以便将html重建为html/css。

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

PDF/A1-b更现实,但仍不容易。您需要将所有内容放入一组特定的颜色空间并呈现意图和things with molecular structures that your primitive intellect wouldn't understand

(可怕的错误引用,但仍然在那里有些好笑,所以我离开了。)

iText的[夏普]支持产生 PDF/A的一样,因为它会告诉你,当你做的东西招摇违反规范......但在调用document.close()之前它可能无法捕获它。编写生成器的程序员仍然需要手动填写整个信息。

是不是没有人可以说“我们会采取一些任意的PDF并将其转换为PDF/A-1a”(没有通过他们的牙齿)。你指向我的一些软件说,所以我会给你一个完全有效的PDF来打破它。每次。我会赌钱。

您需要一份PDF/A ISO规格($)。您需要PDF ISO规范(free!)的副本。你需要知道他们。然后你就会明白你的反对意见。

现在所有的是“任意PDF”。如果你有一堆报告的实例来自同一个程序,那么隧道尽头就有一盏灯。这仍然是一个漫长的隧道,但问题会降低到“硬”而不是“几乎不可能”。一旦你有一个报告的工作,从同一个APP递交类似的报告可能是相对容易。

还是不好玩。

0

试试这个。

 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;