PDF tools

Merging, splitting, rotating and converting PDFs — page work done by copying page objects across whole, so the text, links and pictures inside them arrive unchanged.

11 tools · nothing uploaded · no sign-up

A page is an object

A PDF is not one document but a numbered set of page objects, each holding its own text, links and images. Merging, splitting and reordering rewrite a list of references: copyPages carries a page whole, so an index taken twice gives two independent pages. Nothing there is rasterised, so a photograph inside a page is never re-compressed. The page editor rebuilds the file once at the end, not after each change.

Rotation is the clearest case. A page carries a rotation value — 0, 90, 180 or 270 — that the reader applies as it draws; nothing is redrawn. It appears in no file listing, so a sideways page is found only by looking. A turn is added to the angle already there: 90° on a page at 90° ends at 180°.

Reading a PDF back out

Text comes out through a second engine: pdf-lib has no text layer, so pdf.js parses the file in a background worker. What it returns is not OCR but the characters already in the file. A scan holds none, so the result is empty and the tool sends you to OCR. Word order is the drawing order — nothing sorts the pieces by position, so two columns or a table can interleave.

Rendering to JPG or PNG has a ceiling: each page is clamped to 4096 pixels on its longest side, because iOS Safari caps one canvas near 16.7 megapixels and a page drawn larger comes back blank, not an error. At 300 DPI an A4 page is 3508 pixels tall; an A3 page meets that ceiling and lands near 248 DPI.

What will not work

A PDF that wants a password before it opens is turned away, and says so rather than failing vaguely; take the password off in your own reader first.

Stamped text uses Helvetica, hence WinAnsi only: Latin letters, digits, common punctuation. Cyrillic and emoji cannot be encoded in it, so a watermark containing them is refused rather than quietly dropped.

Photographs become pages through a library that embeds JPEG and PNG and nothing else, so a WebP or AVIF picture is re-decoded by the browser and re-encoded as JPEG at quality 0.92 — a second lossy pass. The browser cannot decode everything: an iPhone HEIC often arrives with no image type and is skipped by name instead of becoming a page.