Passa al contenuto principale

Prepara le informazioni di analisi per il documento

Cosa tratta questa guida

Prepara le informazioni di analisi è la configurazione del cruscotto che trasforma un grezzo PDF in automatizzato PDF estrazione dati. Definisci le chiavi di acquisizione, disegni le zone su un documento di esempio e assegni a ciascuna chiave una regola di estrazione utilizzando Espressione regolare per modelli stabili o JavaScript Espressione per la logica condizionale. Una volta salvato, lo stesso modello viene eseguito da REST API, Make, Zapier, Power Automate, E n8n facendo riferimento al suo TemplateId.

Articoli correlati del blog
Non ci sono ancora post sul blog dedicati a questa funzionalità — in arrivo a breve.
Nel frattempo, dai un'occhiata al blog di PDF4me per trovare tutorial e procedure operative su tutte le piattaforme.
Visita il blog

Autenticazione della configurazione

La creazione del modello di analisi avviene nel PDF4me dashboard sviluppatore. Accedi con il tuo account, quindi crea o copia un API chiave per il documento di analisi API chiamate che utilizzano il modello che crei qui.

Informazioni importanti da non perdere

Prima le espressioni regolari, JavaScript solo dove necessario
Utilizzo Espressione regolare per qualsiasi campo con una forma stabile (numero fattura, data, totale, codice fiscale). Utilizzare JavaScript Espressione Solo quando sono necessarie logica condizionale, ramificazioni con regole multiple o classificazione dei documenti. Combinare le due funzionalità nello stesso modello è possibile e consigliato.
Un modello per ogni famiglia di layout stabile
Un singolo modello gestisce piccole variazioni come modifiche al carattere o spostamenti di posizione. Per layout effettivamente diversi (due fornitori con design di fattura differenti), è necessario creare modelli separati e indirizzare i file a quello corretto tramite classificatore o sistema di origine prima di richiamare la funzione Analizza documento.
Salva il TemplateId, non il nome
Dopo aver salvato le modifiche, la dashboard genera un GUID TemplateId per il modello. Passa sempre TemplateId in produzione API chiamate. TemplateName Funziona anche così, ma rinominare il modello interrompe qualsiasi automazione che lo richiami per nome.

Passaggio 1: Creare il modello di analisi

  1. Apri il Dashboard di analisi dei documenti.
  2. Fare clic Aggiungere e inserire un nome di modello chiaro (ad esempio, invoice O vendor-statement).
  3. Fare clic Salva per creare il modello vuoto.
  4. Apri il modello in Modificare modalità per iniziare a configurare i tasti di acquisizione.
Elenco dei modelli di analisi dei documenti PDF4me nella dashboard per sviluppatori, con il pulsante Aggiungi per creare un nuovo modello di analisi per l'estrazione automatica dei dati PDF.

Passaggio 2: Carica un campione e configura i tasti di acquisizione

La dashboard visualizza un caricamento PDF sulla destra e mostra il Analizza le informazioni Modulo a sinistra. Utilizza campioni reali con la forma di quelli di produzione, non file di test sintetici, in modo che le aree di acquisizione corrispondano a ciò che vedrai nel traffico reale.

  1. Fare clic Carica il file modello e selezionare un campione rappresentativo (fattura, contratto, modulo).
  2. Sotto Chiavi, clicca + Per aggiungere un tasto di acquisizione. Assegnagli un nome in formato camelCase: invoiceNumber, customerName, totalAmount.
  3. Scegliere Scegli il tipo di attività per la legenda: Javascript Expression O Regex Expression.
  4. Incolla il corpo dell'espressione nel campo che appare.
  5. Impostato Pagine A all per scansionare ogni pagina o fino a un numero di pagina specifico (1, 2, ecc.) per limitare l'ambito.
  6. Attiva/disattiva Cerca nell'intera pagina Si attiva quando il valore non si trova in una posizione fissa. Disattivandola, viene effettuata la ricerca solo nell'area di cattura disegnata.
Interfaccia utente di configurazione di PDF4me Parse Document. Il pannello di sinistra mostra le informazioni di analisi con il nome del modello fattura, l'ID di analisi e una chiave KeyName con le opzioni Scegli tipo di espressione Espressione Javascript, corpo dell'espressione Javascript, tutte le pagine e l'interruttore Cerca nell'intera pagina. Il pannello di destra mostra il PDF della fattura caricato, con i pulsanti di azione Carica file modello, Verifica analisi e Salva modifiche in alto, in ordine di esecuzione da sinistra a destra.

Schermata di configurazione di Parse Document. A sinistra: modulo Parse Info con chiavi e tipo di espressione. A destra: esempio caricato. PDFI pulsanti di azione sono disposti da sinistra a destra: Carica file modello, Verifica analisi, Salva modifiche.

Passaggio 3: Selezionare il tipo di espressione per chiave

Tipo di espressioneIdeale perUso tipicoComplessità
Regex ExpressionFixed text patternsInvoice number, dates, totals, tax IDs, postal codesLow
JavaScript ExpressionConditional and multi-rule extractionDocument classification, fallback logic, rule orchestrationMedium to High

Modelli di espressioni regolari (nozioni di base sull'analisi PDF tramite espressioni regolari)

Utilizzo Espressione regolare quando il campo ha una forma stabile e prevedibile. L'area catturata viene scansionata per la prima corrispondenza.

INV-\d{6,10}
\d{2}/\d{2}/\d{4}
\$?\d{1,3}(?:,\d{3})*(?:\.\d{2})?

Mappature dei tasti comuni per una fattura:

  • invoiceNumberINV-\d{6,10}
  • invoiceDate\d{2}/\d{2}/\d{4}
  • totalAmount\$?\d{1,3}(?:,\d{3})*(?:\.\d{2})?

Questi stessi schemi funzionano anche per gli stessi campi negli estratti conto dei fornitori, negli ordini di acquisto e nei documenti di spedizione, poiché i numeri di fattura, le date e gli importi hanno la stessa struttura nella maggior parte dei documenti aziendali.

JavaScript Espressione per la logica condizionale

Utilizzo JavaScript Espressione quando l'output dipende dalla presenza o dalla combinazione di più marcatori nel documento. PDF4me passa il testo estratto alla tua funzione come variabile textLa tua funzione valuta il testo e restituisce una stringa che diventa il valore per la chiave.

Esempio 1: classificare in base ai marcatori di contenuto

Distingue un documento di Termini e Condizioni da un documento d'Ordine verificando quali frasi di riferimento compaiono:

function functionFormatTextDate1(text) {
console.log("Hello");
var term = [...text.matchAll(/General Terms and Conditions/gi)];
var order = [...text.matchAll(/your ordernumber/gi)];

if (term.length) {
if (order.length) {
return "Order document";
} else {
return "Terms and Conditions";
}
} else {
return "Not Terms and Conditions";
}
}

return functionFormatTextDate1(text);

Esempio 2: rilevamento fattura vs ordine

Un breve classificatore che decide se il documento è una fattura o un ordine in base alla presenza delle parole invoice E ordernumber:

function functionGetInvoiceOrder(text) {
// You get all PDF text in `text`
var invoice = [...text.matchAll(/invoice/gi)];
var order = [...text.matchAll(/ordernumber/gi)];

if (invoice.length) {
if (order.length) {
return "Order document";
} else {
return "invoice";
}
} else {
return "";
}
}

return functionGetInvoiceOrder(text);

Suggerimento per l'implementazione: Avvolgi la tua logica in una funzione denominata e chiamala con restituisci functionName(text); in basso. La dashboard esegue il corpo dell'espressione come una funzione il cui valore finale restituito popola la chiave.

Passaggio 4: Testare l'analisi e salvare le modifiche

I pulsanti di azione nella parte superiore dell'editor sono disposti da sinistra a destra, nell'ordine in cui vengono utilizzati:

  1. Carica il file modello carica il campione PDF Utilizzato per disegnare aree di cattura.
  2. Analisi del test esegue tutte le chiavi rispetto al campione caricato e mostra i valori estratti in linea. Usalo per convalidare ogni Regex o JavaScript espressione prima del salvataggio.
  3. Salva le modifiche persiste il modello e assegna un valore stabile TemplateId (GUID). Copia quel GUID per usarlo in API piattaforme per chiamate e automazione.

Itera su ogni tasto finché Analisi del test Restituisce il valore atteso per ogni campo. Restringi l'area di acquisizione se vedi del testo adiacente, oppure perfeziona l'espressione se le corrispondenze del modello sono troppo ampie.

Utilizzare il modello in API o chiamate di automazione

Una volta Salva le modifiche assegna un TemplateIdLo stesso modello di analisi viene eseguito ovunque tramite riferimento. Non è necessario ricreare la configurazione su ogni piattaforma.

CampoFonteScopo
TemplateIdGUID visualizzato nel pannello dei dettagli del modello dopo il salvataggioIdentificatore stabile per l'automazione della produzione. Preferisco sempre questo a TemplateName.
TemplateNameIl nome che hai digitato nel passaggio 1Alternativa per la ricerca. Rinominare il modello interrompe le chiamate che lo referenziano per nome.
ParseIdUn GUID che generi lato client (uno per chiamata)Correlaziona la tua richiesta con l'output del parsing, utile per la registrazione e la tracciabilità delle operazioni.
docNameFonte PDF nome fileUtilizzato per il tracciamento e i messaggi di errore.
docContentFonte PDF codificato come Base64Il file da analizzare.
asyncfalse per sincrono, true per i sondaggiControlla l'erogazione della risposta.

Esempio REST corpo della richiesta:

{
"docName": "invoice.pdf",
"docContent": "BASE64_ENCODED_PDF_CONTENT",
"TemplateId": "12345678-1234-1234-1234-123456789abc",
"ParseId": "87654321-4321-4321-4321-cba987654321",
"async": false
}

La risposta contiene un campo per ogni chiave definita nel modello. Instradalo JSON in qualsiasi nodo a valle: Google Sheets, Airtableun database, Excel o un webhook.

Flussi di lavoro comuni

Modelli tipici di analisi sintatticaHow a saved parse template moves from dashboard to production.
Dalla casella di posta delle fatture al foglio di calcolo contabile
  1. Una fattura del fornitore PDF arriva in una casella di posta elettronica monitorata o in una cartella cloud.
  2. Make, Zapier, Power Automate, O n8n chiama Analizza documento con il tuo TemplateId.
  3. La struttura JSON output (invoiceNumber, totalAmount, invoiceDate) viene aggiunto come riga in Google Sheets o Excel.
  4. L'ufficio contabilità esamina e approva direttamente dal foglio di calcolo.
Inserimento del modulo nel database
  1. Un cliente carica un modulo compilato PDF modulo tramite il tuo portale.
  2. Il tuo backend chiama Analizza documento con TemplateId e il Base64 PDF.
  3. L'analisi JSON viene mappato in un'operazione INSERT del database, con una colonna per ogni chiave del modello.
  4. Un'e-mail di conferma viene inviata al cliente utilizzando il nome e il numero di riferimento elaborati.
Classificatore ed estrattore di documenti
  1. Una singola cartella monitorata riceve documenti di vario tipo (fatture, ordini, contratti).
  2. UN JavaScript La chiave di espressione nel modello restituisce il tipo di documento (vedere l'esempio 2 sopra).
  3. Il flusso di lavoro instrada ciascun file al sistema a valle corretto in base al tipo restituito.
  4. I file identificati come fatture proseguono con l'estrazione dei campi basata su espressioni regolari nella stessa chiamata al modello.

Procedure consigliate per la configurazione dei modelli

  • Disegna aree di acquisizione leggermente più grandi del valore previsto, in modo che lo spostamento del carattere o della posizione non spinga il valore fuori dall'inquadratura.
  • Mantieni i nomi delle chiavi coerenti in formato camelCase in tutti i modelli, in modo che la mappatura successiva in fogli di calcolo, database e webhook rimanga prevedibile.
  • Testa ogni chiave su almeno tre esempi reali, inclusi casi limite come campi opzionali mancanti, fatture di seconda pagina e OCR-testo derivato dalla scansione PDFs.
  • Utilizzo JavaScript Espressione solo laddove le espressioni regolari non possono esprimere la regola. Mantenere la logica semplice semplifica il debug del modello.
  • Versione dei tuoi modelli per nome (invoice-v1, invoice-v2) quando si apportano modifiche sostanziali, in modo che l'automazione della produzione possa migrare al proprio ritmo.
  • Esegui la scansione PDFs Attraverso OCR primo (il PDF4me OCR endpoint) prima dell'analisi. I modelli vengono estratti dal livello di testo, che è stato scansionato PDFs non avere fino a OCR viene applicato.

Azioni correlate

Analizza il documento API
REST endpoint che esegue il modello salvato su qualsiasi PDF utilizzando TemplateId e rendimenti strutturati JSON.
Configura il documento di classificazione
Guida complementare per output che mostrano solo categorie senza estrazione di campi. Utile come pre-router prima di Parse Document.
Analizza il documento in Make
Applica il tuo modello nei flussi di lavoro visivi con moduli di routing, archiviazione e notifica a valle.
Analizza il documento in Zapier
Eseguire l'analisi del modello basata su trigger SaaS Automazioni su oltre 6.000 app.
Analizza il documento in Power Automate
Integrare l'output dell'analisi con Microsoft 365 flussi di approvazione, SharePoint registrazioni e Dynamics pipeline.
Analizza il documento in n8n
Flusso di lavoro self-hosted con regex o JavaScript espressione basata PDF Estrazione dei dati, oltre al pieno controllo sui nodi a valle.

Domande frequenti

Should I use Regex Expression or JavaScript Expression first?+
Start with Regex Expression for fixed-shape fields like invoice numbers, dates, totals, and tax IDs. Move to JavaScript Expression when extraction depends on multiple conditions, fallback rules, or document classification. Most production templates use Regex for around 80% of keys and JavaScript for the rest.
Where does the text variable in JavaScript Expression come from?+
PDF4me passes the extracted text of the captured region (or the full PDF when Search Whole Page is enabled) into the expression context as the variable named text. Your function evaluates that string and returns a string for the configured key.
Does parse template extraction work on scanned PDFs?+
Yes, when the PDF has been OCR-processed first. Scanned PDFs are images until OCR is applied. Run the source file through the PDF4me OCR endpoint or upload an already-OCR'd PDF to the dashboard before drawing capture areas. The template then extracts from the OCR text layer.
Can one template handle multiple invoice layouts?+
It can absorb small differences in font, position, or page count. For genuinely different layouts (two vendors with different invoice designs) create separate templates and route files to the right one by classifier or source system before calling Parse Document.
What do I need to call the parse template from the API?+
Send docName, docContent (the PDF as Base64), TemplateId (the GUID copied from the dashboard after Save Changes), ParseId (a client-generated GUID), and async (false for immediate response, true for polling). TemplateName works instead of TemplateId but TemplateId is recommended for stable automation.
How do I move extracted data into Excel, Google Sheets, or a database?+
The parse output is structured JSON, with one field per key you defined in the template. Route that JSON to any destination from your automation platform: Add Row in Google Sheets, Insert Row in Airtable or a database, or write to Excel via the Excel module in Make, Power Automate, n8n, or Zapier. The same TemplateId works on every platform.
How does this compare with Python PDF data extraction libraries?+
Tools like pdfplumber, PyMuPDF, and pdfminer give you raw extraction primitives in Python, but you write and maintain the matching logic yourself. PDF4me parse templates give you a saved, named template you configure once in a dashboard and call from any language or platform. Use Python libraries when you need full programmatic control inside a single codebase; use PDF4me parse templates when you want the same extraction running across the REST API, Make, Zapier, Power Automate, and n8n without copying logic between systems.
How should I test a parse template before production?+
Validate each key against at least three real samples, including edge cases such as missing optional fields, alternate fonts, multi-page documents, and second-page positions. Use Test Parse in the dashboard for each sample, confirm the output matches expectations, then run a small automation against live files in monitor mode before enabling end-to-end automation.
How do I connect this setup to no-code platforms?+
Use the platform-specific guides under Related actions. Each platform exposes the same TemplateId and ParseId fields so the parsing logic stays identical to what you tested in the dashboard. The output structure also matches across platforms.

Richiedi assistenza