You need to add a logo to a letterhead, place a scanned stamp on a contract, paste a photo into a report or a signature under the text. The "Insert Image" tool in pdfredX overlays any image onto the page right in the browser: you move, scale, rotate and skew it with sliders, then save. Nothing is uploaded to a server.
Step 01. Open the page and choose an image
Load a PDF or a photo on pdfredx.com, open the page you need in the editor (FAB) and turn on the ๐ผ๏ธ "Insert" tool. A file picker opens โ choose a PNG, JPG or logo. The image is read locally through FileReader, nothing goes to a server.
The picture appears in the center of the page, scaled to about 60% of the width โ immediately visible and easy to move.
Step 02. Position, rotate and skew
The inserted image is an object with the usual handles: drag the corners to resize, the top handle to rotate, the middle to move. A panel #FAB_INSERT_PANEL opens at the bottom with extra controls:
- Skew sliders (skewX / skewY) โ shear the image horizontally and vertically in degrees. That way a stamp or photo "lies" at the angle of the page, imitating a tilt.
- Mirror H / V โ flips the picture horizontally or vertically (
โ/โ). - ๐ Delete โ removes the inserted image.
- โ OK โ fixes it in place and clears the selection.
A transparent PNG (logo, stamp, signature) lies over the text without a white background โ only the drawing itself is visible.
Step 03. Save
Press "Save" in the editor โ the image is baked into the page at full resolution (via the export multiplier), and the editUrl is updated. The result shows in the gallery at once. Then "Create PDF" assembles the final file. The download goes straight from the browser. Free, no registration, no server queue.
How it works under the hood
Insertion runs through Fabric.js. fabInsertImageFromFile reads the file into a dataURL and creates a fabric.Image: the image is scaled to 60% of the canvas and centered. It becomes a full object on the canvas โ the standard Fabric handles (move, scale, rotate) work with it.
The tilt is set by the object's skewX / skewY properties: the sliders call obj.set('skewX', โฆ) and re-render the canvas. Mirroring toggles flipX / flipY. On save, saveFab bakes everything into the page image at native resolution, so the insert doesn't blur.
Known limitations
The tilt is a skew (shear), not full perspective. The sliders shear the image along the axes โ enough to "tuck" a stamp under the page's tilt. But it isn't a 4-point perspective correction: parallel edges stay parallel, the "trapezoid" effect (where the far edge is narrower than the near one) is not reproduced.
The result is raster. The insert is baked into the page image; you can no longer move it as a separate layer in the finished PDF.
Editing page by page. The image is inserted on one open page at a time.
Want to place a semi-transparent mark on all pages rather than just insert? That is the Watermark tool. And to lock the document with a password โ Protect PDF.
Try it right now โ pdfredx.com, no registration, your files stay with you.
