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-fitzsudo apt install mupdfsudo apt install python3-fitz sudo apt install mupdfsudo 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
暂无评论内容