45

I need to remove some stupid email watermark that expands across all pages of a public domain book. I looked at pdftk man page and some examples but still can not figure out how to remove the watermarks. I appreciate your hints.

0

4 Answers 4

44

very simply task to perform:

use sed:

 sed -e "s/watermarktextstring/ /g" <input.pdf >unwatermarked.pdf

but, after, be sure to repair resulting output pdf

pdftk unwatermarked.pdf output fixed.pdf && mv fixed.pdf unwatermarked.pdf

all into one command:

 sed -e "s/watermarktextstring/ /g" <input.pdf >unwatermarked.pdf && pdftk unwatermarked.pdf output fixed.pdf && mv fixed.pdf unwatermarked.pdf

text watermarks are nothing else than a text between two tags inside the pdf compressed code

6
  • 1
    Fantastic! worked like a charm. please just rename the email address to a fictitious one. I don't want the guy how spoiled the book be targeted by spammers. Specially as he is probably the one who has made the pdf. Many thanks.
    – hnns
    Jul 12, 2012 at 14:17
  • done! Changed specific string with a generic string
    – Dingo
    Jul 12, 2012 at 14:28
  • Does anyone know how to modify this solution to get rid of a link watermark? I got rid of the text, but there's still a small square left where the text used to be.
    – 425nesp
    Oct 20, 2013 at 7:43
  • pdftk crashed when I ran this.
    – Cerin
    Sep 3, 2018 at 11:28
  • @Dingo how do batch process it? I mean multiple files Nov 20, 2018 at 13:11
75

Just a little add-on to Dingo's answer as it did not work for me:

I had to first uncompress the PDF document in order to be able to find the watermark and replace it with sed. The first step involves uncompressing the PDF document using pdftk:

pdftk original.pdf output uncompressed.pdf uncompress 

now, the uncompressed.pdf can be used as in Dingo's answer:

sed -e "s/watermarktextstring/ /" uncompressed.pdf > unwatermarked.pdf

I then repaired and recompressed the document:

pdftk unwatermarked.pdf output fixed.pdf compress
15
  • You are a life-saver! Thank you!!! :)
    – johndodo
    Nov 7, 2013 at 11:11
  • 1
    This is really awesome!
    – qed
    Jan 29, 2014 at 14:59
  • 6
    I took this process, made it slightly fancier, and wrapped it up in a Python script. It is on github here. Apr 11, 2014 at 4:00
  • @Alexander Garden It doesn't work, TypeError: str() takes at most 1 argument (2 given) when used following the usage advice given
    – 8bitjunkie
    Feb 28, 2016 at 19:40
  • 2
    Didn't work to remove watermark added by Master PDF Editor.
    – fccoelho
    Dec 27, 2018 at 12:10
3

Another add-on to Philippe's add-on to Dingo's answer...

The watermark I needed to remove was a stream object (which is a multi-line block of code), not a single line, so a single line sed command wasn't going to work for me.

I needed to use a text editor to find and remove it.

I first used Philippe's solution to uncompress the PDF.

Then opening the uncompressed.pdf in my favourite text editor, I found a block of text more than 50 lines long which I could see was obviously the code for the watermark.

The watermark was included in the document as a PDF stream object. ** (see below)

The lines defining the stream object that I need to remove started with a line containing only:

<num> 0 obj

where <num> was a number at the start of the line identifying the specific object.

I needed to delete this line and everything from it down to and including the first instance of

endstream
endobj

that followed that obj line. i.e. the whole stream object definition.

The endobj line was followed by the next <num> 0 obj 2 more lines down.

It was easy for me to see which stream object was the watermark code because it kindly included the word "Watermark" :-)

Yours may well not have such helpful text, but if you are patient:

  1. Back up your original uncompressed PDF

  2. Make a temporary copy of the uncompressed PDF

  3. Find and remove an object stream from the temporary copy

  4. Save your changes to the temporary copy.

  5. Open the temporary copy in a PDF viewer

  6. Check if the object stream you just removed was the watermark

If it wasn't, go back to step 2, rinse and repeat removing a different object each time until you've removed the watermark object.

** I learned about stream objects, including seeing examples by searching for "PDF object stream" on the web. https://blog.didierstevens.com/2008/05/19/pdf-stream-objects/ has a great summary, and "Chapter 1. PDF Syntax" of "Developing with PDF" by Leonard Rosenthol which is available to view on O'Reilly's website goes into more detail.

2
-3

To remove watermark from pdf

  1. open the PDF in notepad++ or textpad
  2. search for desired watermark text and use 'find and replace' option to replace it with nothing (blank)
  3. save the file
  4. Open in standard adobe reader

Will throw error like - "file damaged,repair needed"

  1. Exit, you will be prompted to save the file

save it

1
  • 1
    Is this a general solution? What is www.it-ebooks.info?
    – Karlo
    Mar 31, 2018 at 17:23

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .