PDFEngines supports watermark and stamp in three ways:
PDFEngines.watermark()for/forms/pdfengines/watermark.PDFEngines.stamp()for/forms/pdfengines/stamp.- Optional
watermark/stamponPDFEngines.merge()andPDFEngines.split().
Dedicated routes
source and expression are required — the SDK asserts both are set before sending the request. downloadFrom, webhook, outputFilename, and trace are also accepted (see Request tracing); downloadFrom can fetch the watermark/stamp file itself remotely via field: "watermark" or field: "stamp".
Merge and split with overlays
source/expression aren’t required when watermark/stamp are used as optional post-processing on merge() and split().
Watermark/stamp payload shape
UsePdfEngineWatermark and PdfEngineStamp:
source: "image" or source: "pdf", set expression to the uploaded filename and provide the asset in file.