Мне сложно понять, как добавить внешнее изображение (на которое ссылается URL-адрес) в PDF-файл с помощью iText. Возможно ли такое?
В спецификации PDF в 7.1.5 говорится, что вы должны иметь возможность ссылаться на PDF-файл через URL-адрес, используя спецификацию URL-адреса. Вот что у меня есть на данный момент:
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?
Кстати, это упражнение бесполезно, если я собираюсь получить предупреждение системы безопасности, когда представление пытается загрузить изображение. Кто-нибудь знает, так ли это?