Skip to main content
Guide·9 min di lettura·

Come estrarre le specifiche dei materiali da un certificato PDF

Risposta rapida

Quick Answer

Per estrarre le specifiche dei materiali da un certificato PDF: per ricerche occasionali, utilizzare la selezione del testo PDF o copia-incolla. Per l'estrazione ricorrente su larga scala, utilizzare uno strumento di estrazione basato su IA che mappi la composizione chimica, le proprietà meccaniche, il numero di colata e i riferimenti standard in uno schema strutturato. I PDF nativi producono una precisione migliore rispetto ai PDF scansionati.

Un certificato di prova della fonderia PDF contiene la prova completa della specifica dei materiali per una partita di materiale: la composizione chimica, i risultati delle prove meccaniche, lo standard e il grado rispetto al quale è stato testato, e la dichiarazione della fonderia certificante. Estrarre questi valori dal PDF e inserirli in un sistema utilizzabile—senza riscrittura manuale—è la sfida pratica affrontata da questa guida.


Comprensione del contenuto di un PDF di specifica del materiale

Prima di estrarre, sapere cosa stai cercando. Un MTC tipico contiene:

Campi di intestazione/identità

  • Numero di colata (a volte chiamato numero di fusione, numero di lotto o numero di partita)
  • Numero del certificato e data
  • Riferimento all'ordine/PO
  • Nome e indirizzo della fonderia certificante
  • Firmatario e titolo

Campi di specifica del materiale

  • Standard applicabile (ad esempio ASTM A106, EN 10210-1, API 5L)
  • Grado (ad esempio Grado B, S355J2H, X52)
  • Forma del prodotto (tubo senza saldatura, lamiera laminata a caldo, barra)
  • Dimensioni nominali (OD, spessore della parete, lunghezza)
  • Condizione del trattamento termico (normalizzato, bonificato, laminato)

Tabella di composizione chimica

  • Carbonio (C), Manganese (Mn), Silicio (Si), Fosforo (P), Zolfo (S) come minimo
  • Elementi aggiuntivi a seconda del grado: Cromo, Molibdeno, Nichel, Vanadio, Niobio, Boro, Azoto, ecc.
  • I valori sono generalmente riportati come percentuale in peso con 2-4 decimali

Risultati delle prove meccaniche

  • Resistenza a trazione (UTS), limite di snervamento (YS/Rp0.2), allungamento (%)
  • Per i gradi testati per urto: energia assorbita Charpy (Joule) a temperatura specificata
  • Durezza (HB, HV, HRC) ove applicabile

Dati supplementari (dove applicabile)

  • Risultati dei controlli non distruttivi
  • Dati del filo di saldatura / metallo di apporto (per prodotti saldati)
  • Registri del trattamento termico post-saldatura
  • Risultati delle prove idrostatiche

Metodo 1: Copia-incolla manuale (documenti singoli)

Per ricerche occasionali e a basso volume:

  1. Aprire il PDF in qualsiasi lettore PDF
  2. Per i PDF nativi (generati da macchina): utilizzare lo strumento di selezione del testo per evidenziare e copiare i valori direttamente. Nota: le tabelle potrebbero non copiarsi correttamente—i valori potrebbero arrivare in ordine errato a seconda di come è stato generato il PDF.
  3. Per i PDF scansionati: il livello del testo è un'immagine, non testo selezionabile. È necessario leggere i valori visivamente e digitarli.

Limitazioni: Lento, soggetto a errori per le tabelle chimiche, nessun output strutturato, nessun audit trail.


Metodo 2: Estrazione del testo PDF con Python (programmatico, PDF nativi)

Per gli sviluppatori che hanno bisogno di elaborare un lotto di PDF nativi a livello programmatico:

import pdfplumber

with pdfplumber.open("milling_cert.pdf") as pdf:
    for page in pdf.pages:
        # Extract all text
        text = page.extract_text()
        
        # Extract tables as lists
        tables = page.extract_tables()
        for table in tables:
            for row in table:
                print(row)

Ciò che ottieni: Testo grezzo e array di tabelle da un PDF nativo. È comunque necessaria una logica di post-elaborazione per identificare quale tabella è la tabella chimica, quale riga è l'intestazione e come associare i valori alle etichette degli elementi.

Limitazioni:

  • Funziona solo con i PDF nativi (non scansionati)
  • La struttura della tabella va persa per i layout complessi (celle unite, intestazioni multi-riga)
  • Nessuna identificazione dei campi—è necessario scrivere regole per trovare ogni valore
  • Non gestisce la variazione del layout tra diverse fonderie

Questo approccio è praticabile per uno scenario a fornitore singolo e ad alto volume con un formato PDF stabile. Non è un parser di certificati per scopi generali.


Metodo 3: Estrazione basata su IA (uso generale)

Per l'uso in produzione su più fornitori e tipi di documenti:

Uno strumento di estrazione IA riceve il PDF, classifica il tipo di documento, identifica lo schema di estrazione applicabile, estrae i valori con punteggi di confidenza per campo e restituisce un record JSON strutturato. Il processo è lo stesso per i PDF nativi e i documenti scansionati, anche se la precisione è superiore per i PDF nativi.

Aspetto dell'output (semplificato):

{
  "heat_number": "A87234",
  "applicable_standard": "ASTM A106",
  "grade": "Grade B",
  "chemical_composition": {
    "carbon": { "value": 0.18, "unit": "wt%", "confidence": 0.97 },
    "manganese": { "value": 1.06, "unit": "wt%", "confidence": 0.96 },
    "phosphorus": { "value": 0.012, "unit": "wt%", "confidence": 0.94 },
    "sulfur": { "value": 0.008, "unit": "wt%", "confidence": 0.95 }
  },
  "mechanical_properties": {
    "tensile_strength": { "value": 415, "unit": "MPa", "confidence": 0.98 },
    "yield_strength": { "value": 240, "unit": "MPa", "confidence": 0.97 },
    "elongation": { "value": 28.5, "unit": "%", "confidence": 0.95 }
  }
}

Ogni campo porta il suo valore, unità e punteggio di confidenza. I campi a bassa confidenza vengono instradati alla revisione manuale.


Sfide comuni di estrazione per tipo di campo

Numeri di colata: Il formato varia ampiamente—alcune fonderie utilizzano codici puramente numerici, altre utilizzano combinazioni alfanumeriche con trattini, altre includono riferimenti di lotto o pezzo di prova. Gli estrattori devono gestire la variabilità del formato senza troncamento o trasposizione di caratteri.

Unità: Le proprietà meccaniche possono essere riportate in MPa, N/mm², ksi o tf/in² a seconda del paese della fonderia e dello standard applicabile. È necessario il rilevamento e la normalizzazione delle unità per il confronto tra certificati incrociati. Una resistenza a trazione di "60 ksi" e "414 MPa" sono equivalenti ma sembreranno diverse senza normalizzazione consapevole dell'unità.

Valori chimici vicini ai limiti di rilevazione: Alcune fonderie segnalano elementi come "<0.005" (inferiore al limite di rilevazione) piuttosto che un valore specifico. L'estrattore deve gestire questo come valore delimitato, non come stringa di testo o null.

Certificazione doppia: Un certificato che copre due standard simultanei (ad esempio ASTM A106 Gr.B / ASME SA-106 Gr.B) deve registrare entrambi i riferimenti. Gli estrattori a standard singolo perdono silenziosamente il secondo riferimento.

Tabelle delle dimensioni del prodotto: Per i certificati dei tubi, una tabella di dimensioni che elenca OD, spessore della parete e lunghezza per numero articolo è comune. Questa tabella deve essere analizzata separatamente dai dati chimici e meccanici e collegata per numero articolo.


Dopo l'estrazione: convalida rispetto alla specifica

I valori estratti sono utili solo se sai se sono conformi. La convalida richiede il confronto di ogni valore estratto rispetto ai limiti dello standard applicabile:

CampoValore estrattoLimite standardRisultato
Carbonio0.18 wt%≤ 0.30 wt%Conforme
Resistenza a trazione415 MPa≥ 415 MPaConforme (al minimo)
Limite di snervamento240 MPa≥ 240 MPaConforme (al minimo)
Allungamento28.5%≥ 30%Non conforme

Senza un database di standard archiviato e versionato, questa convalida richiede al revisore di cercare manualmente i limiti—negando molti dei vantaggi dell'automazione. Piattaforme come TestCert integrano i valori estratti con un motore di convalida degli standard al momento dell'estrazione, quindi il pass/fail è determinato automaticamente per ogni campo estratto.


Domande frequenti

Perché la copia di testo da un certificato PDF produce risultati distorti?

Due cause comuni: (1) Il PDF utilizza un carattere incorporato con codifica dei caratteri non standard, causando copia-incolla per sostituire caratteri Unicode errati. (2) La tabella chimica è stata creata come immagine piuttosto che testo selezionabile. Nel caso 1, una libreria PDF che gestisce correttamente la codifica produrrà risultati migliori rispetto alla semplice copia-incolla. Nel caso 2, è necessario l'OCR o l'estrazione IA.

Come faccio a sapere se un PDF ha un livello di testo o è puramente un'immagine scansionata?

Prova a selezionare il testo sulla pagina. Se puoi evidenziare singole parole, il PDF ha un livello di testo. Se la selezione evidenzia l'intera pagina o nulla, è un PDF solo immagine. In Python, pdfplumber o PyMuPDF restituirà una stringa di testo vuota o molto breve per le pagine solo immagine, che puoi utilizzare come euristica di rilevamento programmatico.

Posso estrarre le specifiche dei materiali da un certificato incorporato in un pacchetto di documenti più grande?

Sì, ma richiede prima un passaggio di segmentazione del documento. I pacchetti di documentazione del progetto spesso raggruppano MTC, rapporti di ispezione ed elenchi di imballaggio in un singolo PDF. L'estrattore deve identificare quali pagine appartengono a quale tipo di documento prima di applicare lo schema di estrazione appropriato a ogni sezione.

Qual è il modo migliore per estrarre la chimica da un certificato con un layout di tabella non standard?

Per layout insoliti—due tabelle divise sulla pagina, tabelle ruotate o tabelle con intestazioni non standard—un modello di linguaggio della visione supera gli approcci basati su OCR perché interpreta il layout visivamente piuttosto che basarsi sulla struttura del testo. Se stai utilizzando uno strumento basato su regole o OCR, dovrai aggiungere un modello personalizzato per il layout di quella fonderia.

Come dovrei gestire un certificato in cui i risultati meccanici sono riportati in un'unità diversa da quella prevista dal mio database?

Implementare la normalizzazione delle unità al livello di estrazione, non al livello del database. Archiviare un'unità canonica (MPa per la resistenza, % per l'allungamento) e convertire al momento dell'estrazione utilizzando l'unità rilevata dal certificato. Registrare sia il valore originale che l'unità insieme al valore normalizzato nel trail di audit, in modo che la conversione sia tracciabile.

Ready to automate your certificate workflow?

Try TestCert free

Guide correlate