Document Processing
Flow-Like can read, transform, and extract structured information from document collections. Prefer deterministic readers and converters first, then add schema extraction or a configured AI model when layout or language makes rules insufficient.
Choose a processing path
Section titled “Choose a processing path”| Input | Start with | Add when needed |
|---|---|---|
| Digital PDF | Text extraction or page rendering | AI extraction for complex visual layouts |
| Scanned PDF | Render pages to images | Vision-capable extraction and validation |
| Excel workbook | Cell, worksheet, or table nodes | AI table extraction for unusual layouts |
| CSV | Buffered reader or database registration | Batching and schema validation |
| Image | Read, inspect dimensions, crop, resize, convert | Barcode reading, annotation, or AI extraction |
| DOCX or PPTX | Native extraction and editing nodes | Template-specific replacement or generation |
| HTML | Convert to Markdown | Section or keyword extraction |
PDF processing
Section titled “PDF processing”Inspect, render, and extract
Section titled “Inspect, render, and extract”| Need | Node |
|---|---|
| Count pages | PDF Page Count |
| Render one page | PDF Page To Image |
| Render every page | PDF To Images |
| Extract selectable text | Extract Text |
| Split or extract page ranges | Split PDF, Extract Pages |
| Rotate pages | Rotate Pages |
| Merge files | Merge PDFs |
Use text extraction for digitally generated PDFs. Render pages when downstream work depends on the visual layout or when the source is scanned.
AI-assisted extraction
Section titled “AI-assisted extraction”AI Extract Document can describe images and recover content from visually complex documents. AI Extract Documents handles multiple files in parallel.
Pass a configured model that supports the source format. Do not hard-code a vendor-specific model name into reusable boards. Model availability and capabilities depend on the configured provider.
For structured output, define a schema and validate the extracted values before writing them. An invoice schema might look like:
{ "vendor": "string", "invoice_number": "string", "date": "date", "line_items": [ { "description": "string", "quantity": "number", "price": "number" } ], "total": "number"}Use deterministic checks for totals, dates, identifiers, and required fields. Route low-confidence or invalid records to review instead of silently accepting them.
Spreadsheet processing
Section titled “Spreadsheet processing”Cells and worksheets
Section titled “Cells and worksheets”| Need | Node |
|---|---|
| Read a cell | Excel Read Cell |
| Write a cell | Excel Write Cell |
| List sheets | Get Sheet Names |
| Create a sheet | New Worksheet |
| Copy a sheet | Copy Worksheet |
Tables
Section titled “Tables”Use Extract Tables (Excel) for predictable workbook layouts. Use Extract Tables AI (Excel) when tables have irregular headers, spacing, or multiple regions that deterministic extraction cannot identify reliably.
For either path:
- inspect sheet names and choose the intended worksheet;
- define expected columns and types;
- normalize headers;
- validate row counts and required fields;
- preserve the source workbook or a stable reference to it.
CSV processing
Section titled “CSV processing”Buffered CSV Reader reads large CSV files in batches. Keep the batch size appropriate to row width and downstream work, and validate the header before processing the first batch.
CSV files can also be registered in a DataFusion session and queried with SQL:
SELECT c.name, SUM(s.amount) AS totalFROM sales AS sJOIN customers AS c ON s.customer_id = c.idGROUP BY c.nameORDER BY total DESC;SQL is useful for joins, aggregation, and filtering, but it does not replace source validation. Confirm delimiters, quoting, encoding, and numeric or date conventions when files come from multiple systems.
Image processing
Section titled “Image processing”| Need | Node |
|---|---|
| Load an image | Read Image |
| Read dimensions | Get Dimensions |
| Resize | Resize Image |
| Crop | Crop Image |
| Convert color representation | Color Convert |
| Adjust contrast | Contrast |
| Read a QR code or barcode | Read QR-/Barcode |
| Draw review annotations | Draw Boxes |
| Save an image | Write Image |
Resize large scans before model-based extraction when the reduced image still preserves the required text. Keep the original file for audit, reprocessing, or a higher-resolution retry.
DOCX and presentation files
Section titled “DOCX and presentation files”The document catalog includes native operations for office files:
- Extract Text from DOCX, replace text or images, merge documents, and build documents from paragraphs, tables, images, and links.
- Extract Text from PPTX, replace slide content, merge presentations, and add slides, tables, charts, shapes, or speaker notes.
Use placeholder and replacement operations for controlled templates. Use native creation nodes when the workflow needs to assemble a new document from structured data.
Text and template processing
Section titled “Text and template processing”| Task | Node |
|---|---|
| Convert HTML to Markdown | HTML to Markdown |
| Extract content sections | Extract Content Sections |
| Extract deterministic keywords | RAKE Keywords, YAKE Keywords |
| Extract semantic keywords | AI Keywords |
| Summarize a document | Summarize Document |
| Render a text template | Render Template |
Choose deterministic keyword extraction when reproducibility and cost matter most. Use a model when the task depends on meaning rather than surface terms, and record the provider and model configuration with the run when reproducibility matters.
Batch-processing pattern
Section titled “Batch-processing pattern”For a folder or upload collection:
- enumerate the input files;
- identify or validate each file type;
- send each type through its dedicated reader;
- normalize all results into a shared schema;
- validate required fields and business rules;
- store the structured result and source reference;
- route failures or uncertain extractions to review;
- emit a summary with processed, skipped, reviewed, and failed counts.
Limit concurrency for large documents and external model calls. A large collection should be restartable, so save progress or make each file operation idempotent.
Quality and safety checklist
Section titled “Quality and safety checklist”- File type is validated instead of trusted from the extension alone
- Original files or stable source references are retained
- Deterministic extraction is preferred where it is sufficient
- Model choice is configurable and supports the input format
- Required fields and business rules are validated
- Large collections are batched and concurrency-limited
- Low-confidence results have a review path
- Sensitive document content is not exposed in logs
- Output records include provenance back to the source