Thanks!

That's actually my question and my answer :)

On 12 December 2017 at 21:55, Tilman Hausherr <[email protected]> wrote:

> 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: [email protected]
> For additional commands, e-mail: [email protected]
>
>


-- 
Regards,
Alexander Teut
http://g <http://rikkimongoose.ru>ithub.com/rikkimongoose

Reply via email to