PDF to flat product rows
Plan a PDF Catalog-to-CSV Workflow Without Losing Source Context
A reliable PDF catalog-to-CSV workflow extracts products into a richer intermediate record, reviews exceptions against the source, and only then flattens approved fields into named columns. This order prevents table layout, missing units, and cross-page context from silently becoming incorrect inventory data.
Updated August 28, 2026
Define the CSV contract before extraction
Start with the destination rather than the PDF layout. List the exact columns the importer accepts, which are required, how multi-value attributes are encoded, and whether identifiers must be unique. A supplier heading such as “Dimensions” is not automatically a target column.
A practical first mapping often includes supplier_sku, name, brand, description, category, price, currency, and a controlled set of specification columns. Keep source_page and source_quote during review even if the final importer cannot store them.
- Choose one delimiter and character encoding for the destination system.
- Define decimal, date, boolean, and unit conventions explicitly.
- Decide whether variants become rows or separate attribute columns.
- Reserve an exception file for records that fail required-field or identity checks.
Flatten only after product boundaries are stable
PDF tables optimize for reading, not data interchange. Repeated headers, continuation pages, footnotes, and shared cells can change the meaning of a row. Extracting into structured JSON first preserves those relationships while reviewers resolve ambiguous boundaries.
Once a record is reviewable, a mapping profile can select and rename fields for CSV. The catalog workspace previews required-field failures and exports only approved records; it does not send them directly to a destination system.
| Review field | CSV column | Rule |
|---|---|---|
| supplierSku | supplier_sku | Required; preserve leading zeroes |
| name | product_name | Required; trim layout whitespace |
| attributes.material | material | Blank when not supported by source |
| fieldEvidence[0].pageNumber | source_page | Keep in review export |
Validate the file as an import, not a preview
Open-looking rows are not enough. Parse the generated file with the same delimiter and encoding expected by the destination, confirm a stable header order, reject duplicate identifiers, and count only reviewed records. Keep a machine-readable error report for anything excluded.
Run the import against a staging catalog before replacing live product data. The target system may treat blank cells as deletions, preserve old values, or reject the whole batch; that behavior belongs in the mapping profile and acceptance tests.
Illustrative example
Example reviewed row to CSV
This illustrative mapping shows how a reviewed product record can become a flat row in the generic catalog CSV export.
Reviewed product record
supplierSku: ACM-1043 name: Hex bolt M8 × 55 material: A2 stainless steel sourcePage: 18
CSV row
supplier_sku,product_name,material,source_page ACM-1043,"Hex bolt M8 × 55",A2 stainless steel,18
Illustrative only. Configure required columns against the destination importer before using an export.
Limitations
- CSV cannot naturally preserve nested evidence, repeated attributes, or several validation failures in one cell.
- The target importer determines delimiter, encoding, required columns, and blank-value behavior; there is no universal PIM CSV shape.
- toSchema creates generic CSV and JSON artifacts; it does not validate a file against a vendor-specific PIM importer.
Frequently asked questions
Can a PDF catalog be converted directly to CSV?
It can, but direct flattening is risky when products span pages or have different attributes. A structured intermediate record makes product boundaries, evidence, and validation failures reviewable before values are assigned to CSV columns.
Which columns should a product catalog CSV contain?
Use the columns required by the destination system. Common fields include supplier SKU, product name, brand, description, category, price, currency, and selected specifications, but required fields and blank-value behavior vary by importer.
Does toSchema export catalog CSV files today?
Yes. The catalog workspace can apply a reusable field mapping and export approved records as CSV or JSON after required fields pass preview validation.
Put it into practice