Skip to content


Choose a tag to compare
@hhrutter hhrutter released this 23 Sep 20:22
· 595 commits to master since this release


Focus of this release is enhanced stamping & watermarking.
Finally pdfcpu is able to add, update and remove stamps & watermarks for selected pages.
Go to here and scroll all the way down for examples of a typical stamp lifecycle.

Stamps and watermarks are conceptually the same with the distinction that
watermarks are rendered before the page content whereas stamps get rendered after the page content.

What applies to stamping applies to watermarking as well.
Starting with this release in the realm of pdfcpu:

  • A page stamp is the result of repeatedly Adding stamps to an individual page.
  • Updating the stamp for a selected page will replace this page stamp.
  • Removing a stamp for an individual page removes the page stamp.

Unfortunately there have been changes to the CLI for the sake of consistency:

pdfcpu stamp add    [-v(erbose)|vv] [-q(uiet)] [-pages selectedPages] [-upw userpw] [-opw ownerpw] description inFile [outFile]
pdfcpu stamp remove [-v(erbose)|vv] [-q(uiet)] [-pages selectedPages] [-upw userpw] [-opw ownerpw] inFile [outFile]
pdfcpu stamp update [-v(erbose)|vv] [-q(uiet)] [-pages selectedPages] [-upw userpw] [-opw ownerpw] description inFile [outFile]

Please update your scripts for adding stamps & watermarks accordingly and as a reminder:
pdfcpu is still Alpha!

The command config parameter parser supports prefixes now,
Just make sure you supply enough characters to for a unique prefix that can be identified.
Eg. o: .5 is ambiguous because there is opacity and offset but op: 0.5or off: 0 15will work.

You can also now position individual stamps which enables more complex page stamps/watermarks.
Until is updated please refer to pdfcpu help stamp and pdfcpu help watermark.

pdfcpu import is now optionally supporting a desired destination resolution via the dpi command description string parameter. Please refer to pdfcpu help import for more.

98e24ae Add api.PageDims
5b4caaf Ensure correct PDF version before writing.
4d4296a Fix #101, #103, #104, #107, #108, #109
954206e Make LastModified optional rather than required in validatePieceDict (#106)
87915e4 Update contributors in