Editing text
Editing text in a PDF
How to edit PDF text in blupdf: select a block, retype it, keep the original font, size, color and alignment - and what happens when a font is not embedded.
Updated 2026-08-27 · 4 min read
Editing text is the core of blupdf. Every page is analyzed into blocks — paragraphs, headings, table cells, labels, footers — and each block can be clicked and retyped. This page explains what happens at each step so you know what to expect from the result.
Selecting a block
Move the pointer over a page and blocks light up with a thin accent outline. Click one to select it; the outline turns solid and a small toolbar shows the detected font, size and color. Blocks are detected automatically when a document is parsed (50 credits per digital page, 80 per scanned page), so there is nothing to set up.
If two pieces of text that belong together were split into separate blocks — a heading over two lines, for example — edit them one at a time. Each block keeps its own position, so neighbouring text never moves.
Retyping and re-wrapping
Start typing to replace the block's text, or click inside it to place the cursor and change part of it. Your text re-wraps inside the block's original box: the left and right edges, the line height and the alignment stay exactly as they were. Press Enter for a deliberate line break; otherwise wrapping is automatic.
A block is committed when you click outside it or select another block. Credits for rendering (1 per character of the new text) are charged at that point, not while you type.
Font, size, color and alignment
blupdf reads four properties from the original block and applies them to whatever you type:
| Property | Digital PDF | Scanned PDF |
|---|---|---|
| Font | The embedded font, reused as-is | Estimated from the image, closest library match |
| Size | Exact point size | Estimated from letter height |
| Color | Exact fill color | Sampled from the glyph pixels |
| Alignment | Left, right, centered or justified, as detected | As detected from the line edges |
You can override any of them from the block toolbar — for example, to make a corrected heading bold or to shrink a long replacement by half a point so it fits on the same number of lines.
When the font is not embedded
Most PDFs embed the fonts they use, often as a subset that contains only the characters that appear in the document. If you type a character that the subset does not contain, or if the font was referenced but never embedded, blupdf falls back to the closest match from its font library. The match is chosen by classification (serif, sans, slab, mono), weight, width and x-height, so the substitution is designed to be invisible at reading size. The block toolbar shows a small "matched" badge when this happens, and you can pick a different font from the list if you prefer.
See Editing scanned PDFs with OCR for how fonts are estimated when there is no embedded font at all.
Line breaks and long edits
A replacement that is much longer than the original will wrap onto more lines than the block originally had. Because the block's box is preserved, extra lines can extend below the original bottom edge. Two ways to handle it: shorten the text, or reduce the size by a fraction of a point from the toolbar. The editor shows the result immediately, so you can judge it before exporting.
Undo and versions
Every commit is recorded. Use Undo (⌘Z / Ctrl+Z) to step back through your edits within a session. Each export creates a new version of the document; earlier versions stay available from the document's page until the document is deleted.
Credits used
- Preparing the document: 50 credits per digital page, 80 per scanned page (charged once).
- Rendering: 1 credit per character of new text, charged when a block is committed.
- Export: 20 credits per page.
The full rate table is on the pricing page, and Credits & billing explains how plan and top-up credits are spent.