Skip to content
documentflare
Tutorials

Split a PDF by Keyword: One File per Invoice, No Upload

A single export contains dozens of invoices or certificates? Text-based splitting cuts the PDF at every marker page, locally in your browser.

This page contains affiliate links: we may earn a commission if you use them, at no extra cost to you. This does not influence our recommendations. As an Amazon Associate, we earn from qualifying purchases.

Table of contents

Your accounting software just exported a single 200-page PDF: the quarter’s invoices, one per page. You now need to send each invoice to a different client — in other words, turn that block into 200 separate files. That’s exactly what text-based splitting is for: rather than cutting “every N pages” or “at bookmarks”, you cut at every page containing a marker word — here, “Invoice #”.

How text-based splitting works

The mechanism is easy to grasp — and two of its details matter a lot in practice:

  1. The marker page opens the next segment. If the word “Invoice” appears on pages 1, 40 and 87, you get three files: pages 1-39, 40-86 and 87-200. Each invoice therefore starts with its title page — the intended behavior.
  2. The search is case-sensitive. The engine tests for the exact string: “INVOICE”, “Invoice” and “invoice” are three different markers. Pick the most stable string possible (“Invoice #”, “CERTIFICATE”, “Separator page”) rather than an ambiguous word.
  3. Page 1 never triggers a cut — a marker on the first page is simply ignored, since there is nothing before it.
  4. No occurrences? The document is returned as-is, with no error.
Brother PT-H110 — portable label makerBrother PT-H110 — portable label makerDurable laminated labels: filing that lasts.affiliate

The right hardware

Brother PT-H110 — portable label makerBrother PT-H110 — portable label makerDurable laminated labels: filing that lasts.affiliate Oxford Top File+ — pack of 10 foldersOxford Top File+ — pack of 10 foldersThree flaps and elastic: the standard format to file a case.affiliate

Step-by-step workflow

Back to our invoice batch:

  1. Check the marker. Open the PDF and find the text that appears at the top of each invoice and only there — a word that also shows up in the terms and conditions or the footer will create spurious cuts.
  2. Run the text-based split with that exact string. Processing happens in the browser: the file is never sent to a server (50 MB and 1,000 pages maximum).
  3. Download the ZIP containing one PDF per segment, then rename the files if needed — output names follow the segment order, not the marker content.

Tip: if your batch has no marker word but the invoices have a fixed length (one page each), splitting every X pages does the same job with a single parameter. And if the source document has per-chapter bookmarks, bookmark splitting or outline-based extraction is even cleaner.

Limits to know before you start

  • A pure scan won’t work. Detection reads the PDF’s text layer. A scanned document is an image: nothing to search. Our local OCR produces raw text — it does not inject a text layer back into the PDF, so it won’t prepare a scan for this tool. Text splitting targets digitally generated PDFs (software exports, print-to-PDF output) or files already OCR’d elsewhere.
  • The marker must be unique to starting pages. Test it with your PDF reader’s search: it should only appear on pages that open a new document.
  • Case and spacing matter. “Invoice #” with two spaces won’t match “Invoice #”.
  • Output is a ZIP, one file per segment. If you actually wanted a single PDF containing certain pages, page extraction is what you need.

In short

For a homogeneous batch — invoices, certificates, payslips, statements exported as a single PDF — text-based splitting turns an indivisible block into files you can name and send, with no upload and no page-by-page handling. The key is choosing the marker: precise, stable, unique to starting pages. Ten seconds of checking before the split prevents a ZIP full of incoherent segments.