我无法弄清楚如何使用 iText 将外部图像(由 URL 引用)添加到 PDF。这种事情可能吗?
7.1.5 中的 PDF 规范说您应该能够使用 URL 规范通过 URL 引用 PDF。这是我到目前为止所得到的:
PdfFileSpecification pdfSpec =
PdfFileSpecification.url(writer, "http://www.someurl.com/test.jpg");
StringBufferInputStream sbis = new StringBufferInputStream("");
PdfStream dict = new PdfStream(sbis, writer);
dict.put(PdfName.FILTER, PdfName.DCTDECODE)
dict.put(PdfName.TYPE, PdfName.XOBJECT);
dict.put(PdfName.SUBTYPE, PdfName.IMAGE);
dict.put(PdfName.WIDTH, new PdfNumber(100));
dict.put(PdfName.HEIGHT, new PdfNumber(100));
dict.put(PdfName.BITSPERCOMPONENT, new PdfNumber(8));
dict.put(PdfName.LENGTH, new PdfNumber(0));
dict.put(PdfName.F, pdfSpec);
PdfIndirectObject img = writer.addToBody(dict);
我知道我仍然需要确保添加了色彩空间等等,但我现在主要关心的是将这个图像放入文档正文中。我不知道如何做到这一点......似乎我无法获得对 PdfPage 或资源字典或任何东西的引用。这可以使用 iText 吗?
作为旁注,如果当 View 尝试加载图像时我将收到安全警告,则此练习是无用的。有谁知道是否是这种情况?
最佳答案
PDF 规范中描述了外部内容,但几乎没有 PDF 处理器确实支持它们。到目前为止,Acrobat 9 已经支持它,但我会非常谨慎地使用该功能:您的客户或用户可能无法看到引用的内容。
关于image - 使用 iText 将外部图像添加到 PDF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1833222/