pdfbox-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Tilman Hausherr <THaush...@t-online.de>
Subject Re: How to remove a specific image from PDF?
Date Tue, 12 Dec 2017 18:55:18 GMT
Somewhat answered in comments in
https://stackoverflow.com/questions/47757971/how-to-remove-a-specific-image-from-a-pdf-with-pdfbox

Tilman

Am 12.12.2017 um 13:29 schrieb Alexander Teut:
> I need to remove a specific image from PDF file according its
> metadata. Sadly. all examples I can find in Internet are using
> discarded methods.
>
> I draw this image with contentStream.drawImage() method and mark it
> with a metadata. I needto allow my soft to remove added images as
> well/
>
>
> I'm using the following code:
>
> List<COSName> itemsToRemove = new ArrayList<>();
>
> COSDictionary imagesContainer =
> (COSDictionary)resources.getCOSObject().getDictionaryObject(COSName.XOBJECT);
>
> try (PDDocument doc = PDDocument.load(new ByteArrayInputStream(pdf))) {
> doc.getPages().forEach(page ->
>      {
>          PDResources resources = page.getResources();
>          List<COSName> itemsToRemove = new ArrayList<>();
>
>          resources.getXObjectNames().forEach(propertyName -> {
>              if(!resources.isImageXObject(propertyName)) {
>                  return;
>              }
>              PDXObject pdxObject = resources.getXObject(propertyName);
>              PDImageXObject pdImageXObject = (PDImageXObject)pdxObject;
>              PDMetadata metadata = pdImageXObject.getMetadata();
>              if(checkMetadata(metadata)){
>
>                 itemsToRemove.add(propertyName);
>
>                  // What should I use here?
>              }
>          });
>
>          itemsToRemove.forEach(imagesContainer::removeItem);
>       });
>      doc.save(baos);
> } catch (Exception e) {
>      //Code here
>
> }
>
> It produces a cleared PDF that shows an error when I open it. Looks like I
> should remove it from contentStream too. How to do that?
>


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@pdfbox.apache.org
For additional commands, e-mail: users-help@pdfbox.apache.org


Mime
View raw message