我无法弄清楚如何使用 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 吗?
附带说明一下,如果在视图尝试加载图像时向我显示安全警告,则此练习毫无用处。有谁知道是不是这样?