سؤال

أواجه مشكلة في معرفة كيفية إضافة صورة خارجية (تمت الإشارة إليها عن طريق عنوان 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 أو قاموس الموارد أو أي شيء. هل هذا ممكن باستخدام السيء؟

كملاحظة جانبية، هذا التمرين عديم الفائدة إذا سأقدم مع تحذير أمان عندما يحاول الرأي أن يذهب تحميل الصورة. هل يعرف أحد إذا كان هذا هو الحال؟

هل كانت مفيدة؟

المحلول

يتم وصف المحتوى الخارجي في مواصفات PDF، ولكن لا يوجد أي معالج PDF تقريبا يدعمها بالفعل. الآن Acrobat 9 لديه دعم لذلك، لكنني سأكون حذرا جدا مع هذه الميزة: قد لا يتمكن عملائك أو المستخدمون من رؤية المحتوى المشار إليه.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top