2013-07-02 8 views
5

So ersetzen Sie Bild in PDF durch ein anderes Bild pdf-Box. Wie geht das?Ersetzen Sie Bild in PDF mit einem anderen Bild pdf-Box

Ich möchte VisualSignature auf der PDF mit einem anderen Bild ändern.

ich Visuelle Apereance wie folgt aus:

PDDocument doc= PDDocument.load(new FileInputStream("c:\\temp\\template.pdf")); 
File dir= new File("c:\\temp\\"); 

Iterator<Entry<COSObjectKey, Long>> xrefEntriesIt = 
    doc.getDocument().getXrefTable().entrySet().iterator(); 
while(xrefEntriesIt.hasNext()) { 
    COSObject object = doc.getDocument().getObjectFromPool(
     xrefEntriesIt.next().getKey()); 
    if (object.getDictionaryObject(COSName.SUBTYPE) == COSName.IMAGE) { 
     changeImage(object, doc); 
    } 
} 

und Verfahren zur Bild ändern

private static void changeImage(COSObject obj, PDDocument doc) { 

    PDXObjectImage imageInPdf = 
     (PDXObjectImage) PDXObject.createXObject(
      (COSStream) obj.getObject()); 

    File inputFile = new File("C:\\temp\\SIGNATURE.jpg"); 
    PDXObjectImage newImage = new PDJpeg(
     doc, new FileInputStream(inputFile)); 
    imageInPdf.getCOSStream().replaceWithStream(newImage.getCOSStream()); 
} 

I getestet. imageInPdf ist ein Rallye-Bild vom visuellen Erscheinungsbild eines signierten Unterschriftsfeldes.

jetzt, wie man neues visuelles Aussehen eines signierten Unterschriftsfeldes entfernt und hinzufügt?

+0

Meinst du das visuelle Erscheinungsbild eines signierten Unterschriftsfeldes? Oder ein noch nicht unterzeichnetes, leeres? – mkl

+0

Ich habe gerade meinen Beitrag aktualisiert. Ja, Erscheinen eines signierten Unterschriftsfeldes. Ich bekomme das Bild. von COSObject. aber kann es nicht ändern. –

Antwort

3

Ich habe gerade doc.save() hinzugefügt. das ist alles

Verwandte Themen