Domanda

Ho problemi a capire come aggiungere un'immagine esterna (a cui fa riferimento un URL) per un PDF utilizzando iText. È questo tipo di cosa possibile?

La specifica PDF in 7.1.5 dice che si dovrebbe essere in grado di fare riferimento a un file PDF tramite un URL utilizzando una specifica URL. Questo è quello che ho finora:

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);

So che ho ancora bisogno di assicurarsi che si aggiunge e roba lo spazio colore, ma la mia preoccupazione principale in questo momento è in realtà sempre questa immagine nel corpo del documento. Io non riesco a capire come fare questo ... sembra non riesco a ottenere un riferimento a un PdfPage oppure il dizionario risorse o niente. Questo è possibile utilizzando iText?

Come nota a margine, questo esercizio è inutile se ho intenzione di essere presentato con un avviso di protezione quando la vista cerca di andare caricare l'immagine. Qualcuno sa se questo è il caso?

È stato utile?

Soluzione

Il contenuto esterno è descritto nelle specifiche PDF, ma quasi nessuno processore PDF realtà non li supporta. Ormai Acrobat 9 ha il supporto per esso, ma sarei molto cauto con questa caratteristica: i vostri clienti o gli utenti potrebbero non essere in grado di vedere il contenuto di riferimento.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top