One-time downloads · $2.99–$9.99 USD. No subscription.

Perunlight

Step-by-step guide

NornaForms

Fill existing PDF form text fields from CSV rows. Match CSV columns to existing AcroForm text fields and download a ZIP containing one filled PDF for each row.

You need many copies of the same fillable PDF, such as certificates, labels or letters, each with different values from a spreadsheet you can save as CSV.

Get NornaForms · $9.99

The guide and practice files are free to read and download. The complete program is in the paid download; the free practice pack does not include it.

See it in use

Fill three fictional certificate forms

A screenshot walkthrough with fictional practice data. Select a step to explore.

The preview is a four-invoice example, distinct from the guide’s three workshop certificates.

1. Start with

Fill three fictional certificate forms

The guide provides one four-field certificate PDF and three participant rows.

Sample files and contents

examples/nornaforms/workshop-certificate-form.pdf, a fictional form with four text fields (participant_name, workshop, date, hours), and examples/nornaforms/participants.csv, three fictional participants under the same column names.

Practice files and guides are free. The complete app is included only where the product page says so.

2. In the app

Real desktop Google Chrome capture using the bundled synthetic example
Real desktop Google Chrome capture using the bundled synthetic example; four synthetic invoice rows generated into separate PDF forms in a ZIP. Enlarge image ↗

Try it in three steps

  1. Load the form PDF and CSV.
  2. Auto-map four fields and check all three rows.
  3. Generate the certificate ZIP.
Show every click and setting
  1. Open your local NornaForms page. In 1 Form template click Choose a PDF and select workshop-certificate-form.pdf.
  2. In 2 CSV data click Choose a CSV and select participants.csv.
  3. In 3 Mapping click Auto-map by name.
  4. In 4 Preview & checks, replace the Output filename template with certificate-{{participant_name}} and click Check all rows.
  5. In 5 Generate click Generate ZIP.

3. The result

A separate demonstration

The guide expects three filled certificates. The shown four-invoice preview is a separate demonstration, not this certificate result.

The preview is a four-invoice example, distinct from the guide’s three workshop certificates.

NornaForms local four-invoice example with checked rows and an in-app first-page PDF preview.
Separate invoice demonstration: four CSV rows pass checks and row one has an in-app PDF preview. The ZIP is ready, not shown opened in a PDF reader. Enlarge image ↗
What to check in the practice result

NornaForms accepts the form (“4 text fields on 1 pages”) and the CSV (“3 rows, 4 columns”), maps 4 of 4 fields and reports “Checks finished: all 3 row(s) pass, 3 warning(s)”. The warnings only say that spaces in file names became “_”. The browser downloads workshop-certificate-form-3-copies.zip containing certificate-Ada_Example.pdf, certificate-Bruno_Sample.pdf, certificate-Chen_Placeholder.pdf and _nornaforms-report.csv. Each PDF's fields hold that participant's values.

See the workflow at a glance

Choose a short explanation, then follow the worked example below. Check the requirements and compatibility before using your own files.

One certificate form. A checked copy for each attendee.

Keep the certificate you already designed and fill its existing text fields from a CSV. NornaForms maps column names to AcroForm fields, checks the rows and downloads one filled PDF per participant in a ZIP. The fictional workshop example maps four fields across three attendees and includes a report alongside the certificates. It runs locally in desktop Chrome. This is for existing AcroForm text fields, up to 100 rows; scans and XFA are unsupported. Inspect every result before sending.

View the illustrated card
One certificate form. A checked copy for each attendee. — the same explanation written above, with a labelled illustrative panel.
Download the full-size PNG card

Is this certificate ready for a CSV batch?

Check the template before preparing a large class list. Use the three-person certificate example to distinguish a file-naming warning from a content problem.

  1. Can you fill real PDF text fields?

    Continue with an AcroForm containing editable text fields. A scanned certificate or printed blank line is not a form field; NornaForms does not create those fields.

    Check supported PDFs

  2. Do all four columns have a destination?

    Map participant_name, workshop, date and hours in the example. After changing any mapping, run Check all rows again; a previous check does not validate the new mapping.

    Follow the four-field mapping

  3. Which warning needs action?

    Spaces changed to underscores in an output filename do not mean certificate text is missing. An overflow warning needs a shorter value or a suitable template. Inspect an exported PDF before distributing the batch; a preview is not proof of final layout.

    Review and export a small batch

Before you start

  • Desktop Google Chrome or another Chromium-based browser, version 110 or newer. Checked in desktop Chrome.
  • A PDF that already has fillable text fields (an AcroForm). XFA forms, scans, encrypted, signed and JavaScript-carrying PDFs are rejected.
  • A UTF-8 CSV file with column names in the first row and at most 100 rows.
  • Open app/index.html in desktop Google Chrome.

Your first result

  1. Open the downloaded local edition

    Buy and extract the NornaForms ZIP, then open its NornaForms folder. Open app/index.html in desktop Google Chrome. Follow the illustrated example below before buying; the program runs from your purchased local copy.

  2. Open NornaForms

    In your open local copy, follow the controls described below. The page has five numbered panels.

  3. Choose the form

    In 1 Form template, click Choose a PDF and select your form. NornaForms lists its text fields; the file itself is never modified.

  4. Choose the data

    In 2 CSV data, click Choose a CSV. The Delimiter is detected automatically; you can also pick comma, semicolon, tab or pipe.

  5. Connect columns to fields

    In 3 Mapping, click Auto-map by name to connect columns and fields with the same name, or pick a CSV column for each PDF field. Export mapping (.json) saves the mapping for next time; Import mapping loads it.

  6. Name the files and check the rows

    In 4 Preview & checks, set the Output filename template, for example certificate-{{participant_name}}. Placeholders are {{Column name}}, {{#row}}, {{#rownum}}, {{#index}} and {{#total}}; .pdf is added for you. Click Check all rows and fix anything marked as blocking, such as text that will not fit, duplicate file names, missing values or missing characters.

  7. Generate the ZIP

    In 5 Generate, choose the options: Flatten copies, Automatically de-duplicate identical filenames, Generate even when text is predicted to overflow, and Include _nornaforms-report.csv in the ZIP (ticked by default). Changing an option means running Check all rows again. Click Generate ZIP.

  8. Review the copies

    Open the ZIP and check a few PDFs in the reader you will use.

A worked example

Fill three workshop certificates

Input: examples/nornaforms/workshop-certificate-form.pdf, a fictional form with four text fields (participant_name, workshop, date, hours), and examples/nornaforms/participants.csv, three fictional participants under the same column names.

  1. Open your local NornaForms page. In 1 Form template click Choose a PDF and select workshop-certificate-form.pdf.
  2. In 2 CSV data click Choose a CSV and select participants.csv.
  3. In 3 Mapping click Auto-map by name.
  4. In 4 Preview & checks, replace the Output filename template with certificate-{{participant_name}} and click Check all rows.
  5. In 5 Generate click Generate ZIP.

Expected result: NornaForms accepts the form (“4 text fields on 1 pages”) and the CSV (“3 rows, 4 columns”), maps 4 of 4 fields and reports “Checks finished: all 3 row(s) pass, 3 warning(s)”. The warnings only say that spaces in file names became “_”. The browser downloads workshop-certificate-form-3-copies.zip containing certificate-Ada_Example.pdf, certificate-Bruno_Sample.pdf, certificate-Chen_Placeholder.pdf and _nornaforms-report.csv. Each PDF's fields hold that participant's values.

Troubleshooting

The PDF is rejected or has no fields.

NornaForms needs a PDF that already has fillable text fields; it does not create fields or read scans. XFA, encrypted, signed and JavaScript-carrying PDFs are rejected with the reason shown.

Generate ZIP stays disabled.

Click Check all rows after every change to the mapping, file name template or options, and fix all blocking problems.

Text is predicted to overflow a field.

Shorten the value, or tick Generate even when text is predicted to overflow and inspect those copies. The prediction is a measurement, not a rendering in your reader.

Check boxes or dropdowns stay empty.

Only text fields are filled. Check boxes, dropdowns and buttons are left untouched.

I have to redo the mapping every time.

Nothing is kept after you close or reload the page. Use Export mapping (.json) and load it next time with Import mapping.

Compatibility & limits

  • Existing AcroForm text fields only; no OCR, no scanned-form recognition and no new form creation.
  • At most 100 CSV rows (100 copies) per batch.
  • Copies embed the bundled Liberation Sans font; check the results in the reader you will use.
  • The complete program is supplied as a purchased local download. The public guide and practice data help you assess the workflow before buying.

Need a hand?

Tell us the product, host application and version, what you tried, and the exact error. Contact support with a fictional example; keep private customer files and passwords out of your message.