Watermark pdf

You can do a lot of neat things using the Python programming language. Using Python you can easily watermark a pdf. You can use a module called python3-fitz which uses MuPDF underneath (install this too)

If you don’t know the Python programming language, I recommend this tutorial as a starting point.

You can install both fitz and mupdf using your package manager.

sudo apt install python3-fitz
sudo apt install mupdf
sudo apt install python3-fitz
sudo apt install mupdf
sudo apt install python3-fitz sudo apt install mupdf

Enter fullscreen mode Exit fullscreen mode

Python watermark

Then you need an input file and an image. Set the position using the fitz.Rect() function.

Load the module like this:

<span>import</span> <span>fitz</span>
<span>import</span> <span>fitz</span>
import fitz

Enter fullscreen mode Exit fullscreen mode

Install it using your operating systems package manager. If you use pip, there seem to be some other packages named fitz which are conflicting.

Then open the pdf

doc = fitz.open("input.pdf")
doc = fitz.open("input.pdf")
doc = fitz.open("input.pdf")

Enter fullscreen mode Exit fullscreen mode

Set the location of your watermark

<span>rect</span> <span>=</span> <span>fitz</span><span>.</span><span>Rect</span><span>(</span><span>0</span><span>,</span> <span>0</span><span>,</span> <span>100</span><span>,</span> <span>100</span><span>)</span>
<span>rect</span> <span>=</span> <span>fitz</span><span>.</span><span>Rect</span><span>(</span><span>0</span><span>,</span> <span>0</span><span>,</span> <span>100</span><span>,</span> <span>100</span><span>)</span>
rect = fitz.Rect(0, 0, 100, 100)

Enter fullscreen mode Exit fullscreen mode

Iterate over the pages and insert the water mark

<span>for</span> <span>page</span> <span>in</span> <span>doc</span><span>:</span>
<span>page</span><span>.</span><span>insertImage</span><span>(</span><span>rect</span><span>,</span> <span>filename</span><span>=</span><span>"logo.jpeg"</span><span>)</span>
<span>for</span> <span>page</span> <span>in</span> <span>doc</span><span>:</span>
    <span>page</span><span>.</span><span>insertImage</span><span>(</span><span>rect</span><span>,</span> <span>filename</span><span>=</span><span>"logo.jpeg"</span><span>)</span>
for page in doc: page.insertImage(rect, filename="logo.jpeg")

Enter fullscreen mode Exit fullscreen mode

And save it. The full code:

<span>import</span> <span>fitz</span>
<span>doc</span> <span>=</span> <span>fitz</span><span>.</span><span>open</span><span>(</span><span>"input.pdf"</span><span>)</span>
<span>rect</span> <span>=</span> <span>fitz</span><span>.</span><span>Rect</span><span>(</span><span>0</span><span>,</span> <span>0</span><span>,</span> <span>100</span><span>,</span> <span>100</span><span>)</span>
<span>for</span> <span>page</span> <span>in</span> <span>doc</span><span>:</span>
<span>page</span><span>.</span><span>insertImage</span><span>(</span><span>rect</span><span>,</span> <span>filename</span><span>=</span><span>"logo.jpeg"</span><span>)</span>
<span>doc</span><span>.</span><span>save</span><span>(</span><span>"output.pdf"</span><span>)</span>
<span>import</span> <span>fitz</span>
<span>doc</span> <span>=</span> <span>fitz</span><span>.</span><span>open</span><span>(</span><span>"input.pdf"</span><span>)</span>
<span>rect</span> <span>=</span> <span>fitz</span><span>.</span><span>Rect</span><span>(</span><span>0</span><span>,</span> <span>0</span><span>,</span> <span>100</span><span>,</span> <span>100</span><span>)</span>

<span>for</span> <span>page</span> <span>in</span> <span>doc</span><span>:</span>
    <span>page</span><span>.</span><span>insertImage</span><span>(</span><span>rect</span><span>,</span> <span>filename</span><span>=</span><span>"logo.jpeg"</span><span>)</span>

<span>doc</span><span>.</span><span>save</span><span>(</span><span>"output.pdf"</span><span>)</span>
import fitz doc = fitz.open("input.pdf") rect = fitz.Rect(0, 0, 100, 100) for page in doc: page.insertImage(rect, filename="logo.jpeg") doc.save("output.pdf")

Enter fullscreen mode Exit fullscreen mode

If you run the program it will output a new pdf with the watermark image on top of every page.

Make a backup of your file before you run it. If you want, you can build a GUI around it using something like tkinter or pyqt

原文链接:Watermark pdf

© 版权声明
THE END
喜欢就支持一下吧
点赞8 分享
Happiness isn't about getting what you want all the time, it's about loving what you have.
幸福并不是一味得到自己想要的,而是珍爱自己拥有的
评论 抢沙发

请登录后发表评论

    暂无评论内容