Jason Cousineau Solutions Inc.

Practical Innovation & First-Principles Engineering

Home / Free Tools And Solutions / PureField

PureField: Open, Flatten, Label and Print-Optimize Any PDF, Right in Your Browser

(Written October 8, 2026 by Jason Cousineau)

Use the PureField PDF tool →

PureField is a PDF engine built from scratch. It does four things that are hard to find in a free tool, and it does them without sending your file anywhere:

  • Opens XFA forms. Many government, tax, immigration and business forms are XFA forms, made with Adobe LiveCycle Designer. Outside Adobe Reader they don't open. Chrome, Edge, Safari, Apple Preview, phones, printers and most e-signature services show only “Please wait… If this message is not eventually replaced by the proper contents of the document, your PDF viewer may not be able to display this type of document.” Firefox draws some of them, often with sections missing. PureField turns them into ordinary PDF pages that look the way Adobe Reader prints them, with the filled-in values.
  • Makes dark PDFs print-friendly, intelligently. Slide decks, dark-mode exports and designer manuals with dark backgrounds eat toner and print as muddy pages. Other tools invert every colour, print in grey, or turn each page into a blurry picture. PureField reads each page, works out what is a background, what is a border, what sits on what and what is a photo, and re-renders it black on white: backgrounds become white, the text on them turns dark, colours become greys, and photos are left exactly as they are. The text stays sharp, searchable text.
  • Flattens fillable forms. In regular fillable (AcroForm) PDFs, the values become part of the page. They print the same in every viewer and can no longer be changed by accident.
  • Shows every form field's name. Any form, XFA or fillable, can be printed with each field's name written where its value goes. Anyone who connects a form to other software (a database, a document generator, another company's system) needs to know which field is which, and the names are normally buried inside the file. With one checkbox you get a map of the whole form you can print, share and mark up.

Why it works when other tools don't

It reads the form the way Adobe Reader does. An XFA form isn't really pages. It's a description of a form (sections that repeat, tables that grow, pages that break) plus the data typed into it. Most PDF software skips that description and shows whatever placeholder page the file carries. PureField follows the XFA rules: it binds the data, runs the form's own calculations and show/hide scripts in a sandbox, lays the pages out, and draws them. Those rules were checked against Mozilla's pdf.js, the engine behind Firefox's partial XFA support.

It keeps the details people notice. Fonts the form names but doesn't include are replaced by freely licensed lookalikes of exactly the same width, so lines break where Reader breaks them. Barcodes are drawn as real barcodes, from Code 39 to PDF417, QR Code, Data Matrix and the postal codes. Comments, stamps and markup print, and so do Arabic, Hebrew, Chinese, Japanese and Korean text.

The print optimizer reads the page, not just the colours. A simple “invert colours” ruins photos and turns black text white. Instead, PureField reads each page in the order it's drawn and works out what sits on what. A dark fill that covers the page, or has light text on it, is a background: it becomes white (or a light grey tint for smaller panels), and everything on it flips to dark. A dark box with a lighter box inside it is a border, so it stays. A box drawn in the same colour as the page behind it stays invisible. White text that was hidden on purpose stays hidden, and text on top of a photo isn't inverted. Pictures aren't touched at all.

A dark dashboard page on the left, and the same page after the print optimizer on the right: white background, black text, grey chart bars, and the photo unchanged.
A dark dashboard page before and after the print optimizer. The photo is left exactly as it was.

Field names land exactly where the values go. PureField lays the form out just as it does for flattening, so every name sits in its own box, sized to fit, from 12 points down to 5. Checkboxes and radio buttons get their names too, and long forms that grow across pages are labelled all the way through. You choose the colour, the size range, and the name format: the short name (LastName) or the full path the software sees (form1[0].page1[0].LastName[0]).

A Canadian immigration form on the left, and the same form on the right with each field's name printed in red inside its box: AppName, AppDOB, AppAddress, SpouseName and so on.
An IRCC form, flattened as usual (left) and with field names (right).

Your file never leaves your computer. Everything runs inside your browser. The PDF is never uploaded, never stored, and never seen by anyone, the site's operator included. Once the page has loaded, it even works offline.

How it was tested

Over 3,000 real PDFs were printed with Adobe Reader, and those prints served as the answer key. The same files were then rendered with PureField and with three widely used PDF engines: Mozilla's pdf.js (Firefox), Google's PDFium (Chrome and Edge) and MuPDF. Each page was compared pixel by pixel with Reader's print, for a score from 0 to 100%. A file an engine couldn't render scored 0.

The files are government and tax forms from several countries, the public test suites of pdf.js, PDFium and other projects, and the veraPDF archive conformance tests. 3,220 of them had a usable Reader print and were counted.

XFA forms (121 files)

PureFieldpdf.jsPDFiumMuPDF
Average match with Reader94.4%66.0%40.9%39.7%
Files at 90% or above106293221

28 of these forms render correctly only in PureField. On those, PureField scores 90% or more and none of the others reaches 50%: they show a placeholder page or an unfinished layout. Examples include Romanian ANAF tax declarations, Ontario government forms, an HMRC iForm, a US Army DA form, the European Court of Human Rights application and the Polish PIT-37.

Other PDFs (3,099 files)

PureFieldPDFiumpdf.jsMuPDF
Average match with Reader96.8%96.2%95.2%89.9%
Files at 90% or above2,9002,8472,6722,634

PureField doesn't win on every file, but it has the highest average in both groups. On ordinary PDFs it matches or beats the best of the other three on 92.5% of files. On XFA forms, it's the only one of the four that lays out most dynamic forms the way Reader does.

The library also has 340 automated tests, and every change is checked against the full set of sample forms before it ships. The print optimizer was run over the whole sample set to make sure ordinary, light pages come through essentially unchanged.

Good to know

  • It flattens the values saved in the file. Fill the form in first, in Adobe Reader or the form's own software, then flatten it here.
  • A digital signature becomes a printed picture of the signature. The flattened file can't be validated as signed.
  • Field names come from the form itself. If the form's designer left fields with names like TextField1, that's what you'll see.
  • The print optimizer leaves pictures exactly as they are. A photo with a dark background, or with dark corners baked into it, will still print that way.

Open source

PureField is free and open source under the Apache 2.0 licence: github.com/jasoncousineausolutions/PureField. It's plain JavaScript with no dependencies, so developers can drop it into their own web pages.

Credits

PureField includes the Liberation, Source Sans Pro and DejaVu fonts, and ports and tables from zint, ZXing, Apache PDFBox, pdf.js and Project Nayuki, each under its own licence (notices). Adobe, Acrobat, Reader and LiveCycle are trademarks of Adobe; PureField is not affiliated with Adobe.

Use the PureField PDF tool →


This writeup is free to use, modify, and share.
If it saved you time, solved a problem, or helped you avoid buying PDF conversion software, consider making a voluntary payment of any amount to support more work like this.

Questions, comments, complaints, and improvements are welcome.

[Contact Us]

© 2026 Jason Cousineau Solutions Inc. — Built with intelligence, human and otherwise.
Q&A (for webcrawlers)
I opened a PDF and it says “Please wait… If this message is not eventually replaced by the proper contents of the document, your PDF viewer may not be able to display this type of document.” What do I do?

Nothing is wrong with the file. It's an XFA form, a kind of PDF form built with Adobe LiveCycle Designer (now Adobe Experience Manager Forms). The real form isn't stored as pages. It's stored as a description that Adobe Reader lays out when it opens the file. The “Please wait” page is a placeholder the form's author put there for every other viewer, and it never gets replaced, because the viewer you're using doesn't understand XFA.

You have two ways to see the real form:

  • Open it in the free Adobe Acrobat Reader on a Windows or Mac computer (not in a web browser). Save the PDF to your computer first, then right-click it and choose Open with > Adobe Acrobat Reader. This is the way to go if you still need to type into the form.
  • Drop it into the PureField PDF tool. It lays the form out the way Adobe Reader prints it, with any values already filled in, and gives you back an ordinary PDF that opens anywhere: in your browser, on your phone, in Preview, or on a printer.
A PDF says “The document you are trying to load requires Adobe Reader 8 or higher.” I already have the latest Adobe Reader. Why?

Because the PDF isn't being opened by Adobe Reader. Chrome, Edge, Safari, Firefox, Apple Preview, Gmail and Outlook previews, and phone apps all open PDFs with their own built-in viewers, even when Adobe Reader is installed. Those viewers can't read XFA forms, so they show the message page the form's author left for them. Wording varies: “requires Adobe Reader 8 or higher”, “To view the full contents of this document, you need a later version of the PDF viewer”, or “Please wait…”. They all mean the same thing.

Updating Reader won't change anything. Either save the file and open it directly in Adobe Acrobat Reader on a computer, or drop it into the PureField PDF tool to get a regular PDF of the form that any viewer can show.

How do I open an XFA PDF form on my iPhone or iPad?

Apple's PDF viewer (in Mail, Files, Safari and Messages) can't show XFA forms, and Adobe's own Acrobat Reader app for iPhone and iPad doesn't support them either. That's why the form shows a “Please wait” or “requires Adobe Reader” page.

To see it on your iPhone:

  1. If the PDF is an email attachment, tap it, tap the Share button, and choose Save to Files.
  2. In Safari, open the PureField PDF tool, tap the drop area, and choose the PDF from Files.
  3. Tap the button to flatten it, then tap Download (or Open in a new tab). The result is a normal PDF you can read, print with AirPrint, share or attach to an email.

It all runs on the phone itself; the form isn't uploaded anywhere. You'll see the form with whatever values were saved in it. To type new values into it, you still need Adobe Acrobat Reader on a Windows or Mac computer.

How do I open an XFA PDF on Android?

The same way as on an iPhone. Android's PDF viewers (Google Drive, Chrome, Gmail and most phone makers' apps) can't show XFA forms, and Adobe's mobile app doesn't support them. Open the PureField PDF tool in Chrome, choose the PDF from your Downloads or Drive, flatten it, and download the result. It opens in any PDF app.

Why won't my PDF form open in Chrome, Edge or Safari, but it works on my coworker's computer?

Your coworker is most likely opening it in Adobe Acrobat or Adobe Reader, and you're opening it in a browser. Browsers use their own PDF viewers, which don't support XFA forms. Firefox has partial XFA support, so some forms show up there, but often with missing sections or a broken layout. Open the file in Adobe Reader instead of your browser, or turn it into a regular PDF with the PureField PDF tool.

A PDF form shows a blank page or a warning in Apple Preview on my Mac. How do I fix it?

Preview doesn't support XFA forms, and saving a form from Preview is known to break it, so avoid filling one in there. Use the free Adobe Acrobat Reader for Mac to fill it in, or use the PureField PDF tool in Safari or Chrome to get a version Preview can show and print.

What is an XFA form, and how can I tell if my PDF is one?

XFA (XML Forms Architecture) is Adobe's format for “smart” PDF forms: forms whose sections repeat, whose tables grow as you add rows, and that run their own calculations. They're made with Adobe LiveCycle Designer and are very common for government, tax, immigration, insurance and banking forms. The telltale sign is a “Please wait” or “requires Adobe Reader” page in every viewer except Adobe's.

To check a file for certain, drop it into the PureField PDF tool. Before doing anything, it tells you what's inside: a dynamic or static XFA form, a regular fillable form, how many fields there are and how many are filled in, and whether it has calculations, barcodes, or comments.

How do I convert an XFA form to a regular PDF without Adobe Acrobat Pro?

Drop it into the PureField PDF tool and download the result. You get an ordinary PDF with each page drawn the way Adobe Reader prints it, including the values that were filled in, the form's calculated totals, its barcodes and its comments. The usual workaround, “print to PDF” from Adobe Reader, needs Reader on a computer. The tool works in any modern browser, on a computer or a phone.

Someone emailed me a filled-in PDF form and I only see “Please wait…”. How can I see what they filled in?

This is common for accountants, HR departments, landlords and anyone who receives completed forms. The values are in the file; your viewer just can't show them. Drop the PDF into the PureField PDF tool. It shows the form with every value the sender saved, ready to read, print or file away as a regular PDF.

A website or e-signature service rejects my PDF form, or shows it blank. How do I fix it?

Upload portals, e-signature services, print shops and document management systems usually can't handle XFA forms. They see only the placeholder page or the empty form. Flatten the form with the PureField PDF tool first, then upload the flattened copy. The values become part of the page, so every system sees what you see.

One caution: if an office asks for the original form file (some immigration and tax portals check the form's data or barcodes themselves), send the original. A flattened copy is like a printout: it looks the same but is no longer a form.

How do I print a government form that only shows “Please wait”?

Drop it into the PureField PDF tool, then print the result from any viewer. If the form is blank, you get a blank form to fill in by hand; if it's filled in, you get the filled-in version. Repeating sections and long tables are laid out across pages the way Adobe Reader lays them out.

Can I fill in an XFA form without Adobe Reader?

Not with PureField. PureField shows and prints the values already saved in a form, but it doesn't let you type into it. To fill in an XFA form, use the free Adobe Acrobat Reader on a Windows or Mac computer, save it, and then, if you need a version that opens everywhere, flatten it with the PureField PDF tool. Or print the blank form and fill it in by hand.

Is XFA going away?

Slowly. The PDF 2.0 standard (ISO 32000-2) deprecated XFA, browsers and phones have never supported it, and many agencies are moving to plain fillable PDFs or web forms. But thousands of XFA forms are still in daily use, and years of filled-in forms sit in archives. PureField makes those readable without depending on Adobe software.

What does “flattening” a PDF mean, and why would I do it?

Flattening turns a form's fields into ordinary page content. The values stop being editable boxes and become part of the page, like text printed on paper. People flatten forms so they:

  • look and print the same in every viewer, browser and printer;
  • can't be changed by accident (or on purpose) after they're sent;
  • can be uploaded to systems that don't handle forms;
  • can be archived in a form that will still open in twenty years.

The PureField PDF tool flattens both XFA forms and regular fillable (AcroForm) PDFs, along with comments and markup.

My filled-in PDF looks blank, or shows different values, when someone else opens it. Why?

Fillable PDFs store each value twice: as data, and as a picture of the filled-in field. Some programs update only one of them, and viewers disagree about which one to show. Flattening the form with the PureField PDF tool draws each value once, as part of the page, so everyone sees the same thing.

How can I see a PDF form's field names without Adobe Acrobat?

Drop the form into the PureField PDF tool and tick Field names. You get a PDF with each field's name printed right where its value goes, in red by default, on every page. It works for both XFA forms and regular fillable PDFs.

In Adobe software, only paid Acrobat Pro shows field names, in its Prepare Form mode. The free Reader doesn't show them, and hovering over a field shows its tooltip, not its name. Command-line tools such as pdftk can list the names, but a list doesn't tell you which name belongs to which box on the page. A printed map does.

Why would anyone need a PDF form's field names?

Anyone who connects a form to other software needs them:

  • Filling forms automatically from a database, CRM, dealer management or accounting system, or with tools such as pdftk, iText, PDFBox or pdf-lib. Each value has to go to a field by its exact name.
  • Mapping a vendor's or a government's form into your own system, when the form's maker didn't send a field list.
  • Mail merges and document generation that write into an existing PDF template.
  • Reading data out of hundreds of returned forms.
  • Checking a form before it goes out: whether fields are named sensibly, whether every box is a field, and whether two fields accidentally share a name.

A printed map of the names is something you can hand to a developer, mark up with a pen, or keep on file next to the integration it documents.

When I type in one field of a PDF form, the same text appears in another field. Why?

The two boxes have the same field name. In a PDF form, boxes with the same full name are the same field, so they always show the same value. Sometimes that's intended (a name repeated on every page), but often it's a mistake made when the form was built. Run the form through the PureField PDF tool with Field names ticked to see which boxes share a name, then rename one of them in your form editor.

What's the difference between a field's “fully qualified” name and its “partial” name?

These are the PDF standard's terms. A field's partial name is its own name, such as LastName. Fields sit inside groups (subforms, in XFA), and the fully qualified name adds the groups it sits in, such as form1[0].page1[0].LastName[0]. Software that fills or reads forms usually needs the fully qualified name, because many fields on a form can share a partial name. The bracketed numbers tell repeated copies of a section apart. PureField can print either one.

Some field names are cut off or hard to read. Can I fix that?

Each name is printed at the largest size that fits its box, from 12 points down to 5 by default, and a name too long for its box at the smallest size is cut off. Checkboxes and narrow fields are the usual cases. Under Field names, lower the smallest size, or switch from fully qualified names to the shorter partial names. You can also pick a colour that stands out better on your form.

Is there a way to get rid of dark backgrounds on a PDF to save toner?

Yes. Drop the PDF into the PureField PDF tool and tick Print-friendly copy. It isn't a filter. PureField reads each page, works out which shapes are backgrounds, which are borders, which text sits on what, and which parts are pictures, and changes only what it has to: dark backgrounds become white, the text on them becomes black, coloured shapes and charts become shades of grey, and photos are left exactly as they are. You download a new PDF that prints like an ordinary document, with text as sharp and searchable as before. When a PDF has nothing else for the tool to do and most of its pages are dark, the option is already ticked for you.

How does the print optimizer decide what to change?

It reads each page the way a printer draws it, layer by layer, and keeps track of what sits on top of what. Then it makes a decision for every shape and every piece of text:

  • Backgrounds. A dark fill that covers most of the page, or that has lighter text or shapes on it, is a background. It becomes white (or a light tint for smaller panels), and everything sitting on it is flipped to dark.
  • Borders and frames. A dark box with a lighter box inside it is a border, not a background, so it stays dark.
  • Invisible spacers. Designers often draw boxes in the same colour as the page behind them. Those follow the new background, so they don't suddenly appear as grey bands.
  • Hidden text. Text that was deliberately invisible (white on white, often left behind by templates) stays invisible.
  • Readability. Every piece of text and every line is kept dark enough to read on its new background.
  • Pictures. Photos, logos and scanned images are never touched, and text on top of a photo keeps its colour.
  • Gradients and glows. Dark gradient backgrounds are removed.

The text stays real text, so the result is as sharp as the original, still searchable and selectable, and about the same file size.

Other “dark to light” PDF tools gave me a mess. Why is this one different?

Most tools do one of three things. They invert every colour, which turns photos into negatives and black-on-white boxes into white-on-black ones. They convert to grayscale, which leaves dark backgrounds dark. Or they turn each page into a picture and process the picture, which blurs the text, makes the file much larger, and loses the ability to search or copy text.

PureField does none of these. It changes the drawing instructions in the PDF itself, one shape at a time, using what's behind and on top of each shape to decide what it is. A page of a 368-page designer manual with dark backgrounds, coloured callouts and photos comes out as a clean black-on-white document with the photos intact, in a few seconds, right in your browser.

Why not just print in grayscale or black and white?

Grayscale only removes colour, not darkness. A navy or black background prints as a solid sheet of dark grey or black, using just as much toner, and light text on it becomes a pale grey on dark grey that's hard to read. A print-friendly copy swaps the light and dark, so the page is mostly white paper.

Why not just invert the colours?

A plain colour inversion, like a printer's or the operating system's “invert colours” setting, flips everything. Photos turn into negatives, black text on a white box turns white, and a colour picked for meaning (a red warning, a green total) turns into something else. PureField works out what is a background, what sits on it, and what is a picture, and changes only what it has to.

How do I print dark-mode slides from PowerPoint, Google Slides, Keynote or Canva without using all my toner?

Export or download the slides as a PDF, then run the PDF through the PureField PDF tool with Print-friendly copy ticked. Slide backgrounds become white and the text and shapes on them become dark. If a slide's background is a photo or an image rather than a coloured fill, it's kept as it is, like every other picture.

Will the print-friendly copy change my photos, logos or charts?

Photos, logos and other pictures embedded as images are not changed at all, and text on top of a photo keeps its colour. Charts and diagrams drawn as shapes (as most charts in PowerPoint, Excel and Google Slides are) are turned to greys, so dark bars stay distinguishable on white paper.

Does the print optimizer work on scanned PDFs?

No. A scanned page is a single picture, and PureField never changes pictures. It works on PDFs made by software, such as exports from Word, PowerPoint, Google Docs, Canva, InDesign, web pages and reports, where the backgrounds and text are drawn separately.

What does “Dark boxes with text on them become a light grey tint” mean?

Many dark documents have dark panels, callouts or table headers inside the page, not just a dark page. By default, PureField makes those panels a very light grey, so they still read as separate boxes on paper and their edges don't vanish. Choose white instead for the least toner possible.

Is my PDF uploaded anywhere?

No. PureField runs entirely inside your web browser. The file is read and processed on your own computer or phone, and the result is created there too. Nothing is sent to this site or anyone else, and once the page has loaded, the tool works even with your internet connection turned off.

Is it really free?

Yes. There's no account, no watermark, no page limit and no trial. PureField is open source under the Apache 2.0 licence. If it saved you time or money, a voluntary payment of any amount is welcome.

How accurate is PureField compared to Adobe Reader?

On 121 XFA forms compared pixel by pixel with Adobe Reader's own prints, PureField averaged a 94.4% match. pdf.js, PDFium and MuPDF averaged 66.0%, 40.9% and 39.7%. On 3,099 ordinary PDFs it averaged 96.8%, the highest of the four engines. The tables above have the details. It isn't perfect: wrapping can differ slightly where a form uses fonts PureField has to substitute.

Can I use PureField in my own website or app?

Yes. It's plain JavaScript with no dependencies, released under the Apache 2.0 licence at github.com/jasoncousineausolutions/PureField. It runs in the browser, so your users' files never have to reach your servers. The README covers flattening, field names, the print optimizer, and reading a file's contents before you choose what to do with it.

Does it work with password-protected PDFs and signed PDFs?

Password-protected PDFs work: the tool asks for the password, and files that only restrict printing or editing open without one, as they do in Adobe Reader. Files secured with a certificate (rather than a password) can't be opened. A digital signature is printed as it appears on the page, but the flattened copy is no longer signed, so it can't be validated as a signed document.