Pull data out of a PDF
Get the fields you name out of a document as JSON, with the ones it lacks named.
What this does
An invoice is a table to the person who wrote it and a picture of one to everything downstream. Name the fields you want — an invoice number, a total, a date — and you get an object with exactly those keys, ready to import. The rule that makes it usable is the one about absence: a field the document does not carry comes back empty and is listed as missing, never filled in with something plausible. A plausible VAT number is wrong, not obviously wrong, and will be paid.
What it will not do
Every tool here says what it cannot do, in its own words, before you rely on it.
- A field the document does not carry comes back as null and is listed as missing. It is never filled in with a likely value.
- A key the model returned that you did not ask for is dropped and reported. What comes back has exactly the keys that went in.
- Values are copied as the document writes them. A date written 04/03 stays 04/03, because whether that is March or April is not something this can know.
- The shape is one flat object. Line items and tables are not read into arrays; use PDF to CSV or PDF to Excel for a table.
- A scanned page holds a picture of words and has nothing to send. Run OCR over it first.
Questions people ask
How do I say which fields I want?
Write them as an object: a name for each field, and a short note saying what goes in it. {"invoice number": "the number at the top right", "total": "the amount due"} is a complete answer.
What happens to a field the document does not have?
It comes back empty and is listed under what was missing. Nothing is guessed, because a guessed reference number is worse than a missing one in every way that matters.
What exactly is sent to the provider?
The text on the screen under “what will be sent”, and nothing else of your document. It is not a summary of the request — it is the request. Nothing is sent until you press send, and the page cannot send it before showing it to you, because the code refuses.
What does this cost?
Pagecraft charges nothing and never will. Your provider charges you for what you send it, at their rates, on your own account — and you are shown the token count and an estimate in dollars before you send anything. A model on your own machine costs nothing at all.
Do I have to pay for an API key?
No. Install Ollama or LM Studio, run a model on your own computer, and point Pagecraft at it: no key, no bill, and your document never leaves the device. That path is first-class here rather than a degraded fallback.