Description
A tiny command line tool for watermarking PDF files using image or text.
With simple options to configure position, opacity, rotation, stretch etc.
Highlights:
- Very simple and easy to use
- Extreamly fast!
- Stretching watermark image to height or weight proportionately
- Options to adjust position, opacity, rotation of image
- Free and open source
markpdf alternatives and similar packages
Based on the "PDF" category.
Alternatively, view markpdf alternatives based on common mentions on social networks and blogs.
-
go-wkhtmltopdf
Handcrafted Go bindings for wkhtmltopdf and high-level HTML to PDF conversion interface
SaaSHub - Software Alternatives and Reviews
Do you think we are missing an alternative of markpdf or a related project?
README
markpdf - Watermark PDF files using image or text
A tiny command line tool for watermarking PDF files using image or text. With simple options to configure position, opacity, rotation, stretch etc.
Highlights -
- Very simple and easy to use
- Extreamly fast!
- Stretching watermark image to height or weight proportionately
- Options to adjust position, opacity, rotation of image
- Free and open source
Install
It's just a single binary file, no external dependencies. Just download the appropriate version of executable from latest release for your OS. Then rename and give it execute permission.
mv markpdf_linux-amd64 markpdf
sudo chmod +x markpdf
If you want to install it globally (run from any directory of your system), put it in your systems $PATH directory.
sudo mv markpdf /usr/local/bin/markpdf
Done!
How to use
Image watermarking
Command options are shown in both, shorthand and full name.
# watermark with all default options (on top left corner with 50% opacity)
markpdf "path/to/source.pdf" "img/logo.png" "path/to/output.pdf"
# watermark at center
markpdf "path/to/source.pdf" "img/logo.png" "path/to/output.pdf" --center
markpdf "path/to/source.pdf" "img/logo.png" "path/to/output.pdf" -c
# watermark at right top with 20px offset from edge and full opaque
markpdf "path/to/source.pdf" "img/logo.png" "path/to/output.pdf" --offset-x=-20 --offset-y=20 --opacity=1.0
markpdf "path/to/source.pdf" "img/logo.png" "path/to/output.pdf" -x -20 -y 20 -o 1.0
# watermark at left bottom with 100px offset and 45 degree rotation
markpdf "path/to/source.pdf" "img/logo.png" "path/to/output.pdf" --offset-x=100 --offset-y=-100 --angle=45
markpdf "path/to/source.pdf" "img/logo.png" "path/to/output.pdf" -x 100 -y -100 -a 45
# stretch full with of page at page middle, with 30% opacity
markpdf "path/to/source.pdf" "img/logo.png" "path/to/output.pdf" --scale-width-center --opacity=0.3
markpdf "path/to/source.pdf" "img/logo.png" "path/to/output.pdf" -Wo 0.3
# Note the capital "W"
# stretch full with of page at page bottom
markpdf "path/to/source.pdf" "img/logo.png" "path/to/output.pdf" --scale-width --offset-y=-10
markpdf "path/to/source.pdf" "img/logo.png" "path/to/output.pdf" -wy -10
Text watermarking
# watermark text at right top with 20px offset from edge
markpdf "path/to/source.pdf" "The Company Name" "path/to/output.pdf" --offset-x=-20 --offset-y=20
markpdf "path/to/source.pdf" "The Company Name" "path/to/output.pdf" -x -20 -y 20
# Place text at center with bold-italic "Times Roman" font in blue color
markpdf "path/to/source.pdf" "The Company Name" "path/to/output.pdf" --center --font=times_bold_italic --color=0000FF
markpdf "path/to/source.pdf" "The Company Name" "path/to/output.pdf" -cf times_bold_italic -l 0000FF
# Place text at center with large bold-italic "Times Roman" font in blue color
markpdf "path/to/source.pdf" "The Company Name" "path/to/output.pdf" --center --font=times_bold_italic --font-size=24.0 --color=0000FF
markpdf "path/to/source.pdf" "The Company Name" "path/to/output.pdf" -cf times_bold_italic -s 24.0 -l 0000FF
Allowed font identifiers
Currently the following font names are supported:
- Courier:
courier
,courier_bold
,courier_oblique
,courier_bold_oblique
- Helvetica:
helvetica
,helvetica_bold
,helvetica_oblique
,helvetica_bold_oblique
- Times Roman:
times
,times_bold
,times_italic
,times_bold_italic
Additional notes
Specifying Colors: write them as 6 or 3 digit hexadecilal as used in CSS, without the #
--color
,--font
and--font-size
flag has no impact for Image watermarking--scale-*
and--opacity
flag has no impact for Text watermarkingNegative offset will set content positioning from opposite side (right for offsetX and botom from offsetY)
Text with opacity is not supported at this moment. Instead, you can create a transperent background PNG image with your text and then use it for watermarking.
Roadmap
✅ Draw image on every page of PDF
✅ Configure Opacity option
✅ Configure watermark position by X and Y offset
✅ Allow negative values to for offset to adjust from opposite direction
✅️ Easy option for positioning image at center
✅ Configure image rotation angle
✅ Options to Stretch watermark to page width or height, proportionately
✅ Options to Stretch watermark to page width or height at the middle of page
◻️ Tile Image all over the page
✅ Render text on every page
✅ Configure text color, style and font
◻️ Configure text opacity
✅ Configure text rotation angle
✅ Text placement by offset
✅ Put text at page center
Contribute
If you fix a bug or want to add/improve a feature, and it's alligned with the focus of this tool - watermarking PDF with ease, I will be glad to accept your PR. :)
Thanks
This tool was made using the beautiful Unidoc library. Thanks and ❤️ to Unidoc.
"This is the Book about which there is no doubt, a guidance for those conscious of Allah" - Al-Quran