Skip to main content
Poradniki·8 min czytania·

Jak wyodrębnić specyfikacje materiałów z certyfikatu PDF

Szybka odpowiedź

Quick Answer

Aby wyodrębnić specyfikacje materiałów z certyfikatu PDF: w przypadku wyszukiwań jednorazowych użyj zaznaczenia tekstu PDF lub kopiowania-wklejania. W przypadku powtarzających się wyodrębniania na dużą skalę użyj narzędzia ekstrakcji opartego na AI, które mapuje skład chemiczny, właściwości mechaniczne, numer pieca oraz odnośniki normy na schemat strukturyzowany. Pliki PDF natywne zapewniają lepszą dokładność niż pliki PDF zeskanowane.

Certyfikat próby walcowni PDF zawiera pełny dowód specyfikacji materiału dla partii materiału: skład chemiczny, wyniki próby mechanicznej, normę i gatunek, wobec którego został przetestowany, oraz oświadczenie certyfikującej walcowni. Wyodrębnienie tych wartości z pliku PDF i wprowadzenie ich do systemu użytecznego—bez ręcznego ponownego wpisania—jest praktycznym wyzwaniem poruszanym przez ten przewodnik.


Zrozumienie zawartości pliku PDF ze specyfikacją materiału

Przed wyodrębnianiem wiedz, co szukasz. Typowy MTC zawiera:

Pola nagłówka/tożsamości

  • Numer pieca (czasami zwany numerem odlewu, numerem topienia lub numerem partii)
  • Numer i data certyfikatu
  • Odnośnik do zamówienia/PO
  • Nazwa i adres certyfikującej walcowni
  • Podpisujący i stanowisko

Pola specyfikacji materiału

  • Norma mająca zastosowanie (np. ASTM A106, EN 10210-1, API 5L)
  • Gatunek (np. Gatunek B, S355J2H, X52)
  • Forma produktu (rura bezszwowa, blach walcowany na gorąco, pręt)
  • Wymiary nominalne (OD, grubość ścianki, długość)
  • Stan obróbki cieplnej (wyżarzany, hartowany i odpuszczany, stan walcowania)

Tabela składu chemicznego

  • Węgiel (C), Mangan (Mn), Krzem (Si), Fosfor (P), Siarka (S) minimum
  • Dodatkowe elementy w zależności od gatunku: Chrom, Molibden, Nikiel, Wanad, Niób, Bor, Azot itp.
  • Wartości są zwykle podawane jako procent wagowy z dokładnością do 2-4 miejsc po przecinku

Wyniki próby mechanicznej

  • Wytrzymałość na rozciąganie (UTS), granica plastyczności (YS/Rp0.2), wydłużenie (%)
  • Dla gatunków badanych na uderzenie: energia pochłonięta Charpy'ego (Joule) w określonej temperaturze
  • Twardość (HB, HV, HRC) gdzie ma zastosowanie

Dane dodatkowe (gdzie mają zastosowanie)

  • Wyniki badań nieniszczących
  • Dane drutu spawalniczego / metalu dołączającego (dla produktów spawanych)
  • Rejestry obróbki cieplnej po spawaniu
  • Wyniki testów hydrostatycznych

Metoda 1: Ręczne kopiowanie-wklejanie (pojedyncze dokumenty)

Do sporadycznych, niskotonażowych wyszukiwań:

  1. Otwórz plik PDF w dowolnym czytniku PDF
  2. W przypadku natywnych plików PDF (generowanych przez maszynę): użyj narzędzia zaznaczania tekstu, aby wyróżnić i skopiować wartości bezpośrednio. Uwaga: tabele mogą nie być skopiowane prawidłowo—wartości mogą pojawić się w niewłaściwej kolejności w zależności od sposobu wygenerowania pliku PDF.
  3. W przypadku zeskanowanych plików PDF: warstwa tekstu jest obrazem, a nie tekstem do zaznaczenia. Musisz odczytać wartości wizualnie i je wpisać.

Ograniczenia: Powolne, podatne na błędy dla tabel chemicznych, brak strukturyzowanej wydajności, brak pRecord audytu.


Metoda 2: Ekstrakcja tekstu PDF z Python'em (programowy, natywne pliki PDF)

Dla deweloperów, którzy muszą przetwarzać partię natywnych plików PDF programowo:

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)

Co to ci daje: Surowy tekst i tablice z tabeli z natywnego pliku PDF. Nadal potrzebujesz logiki przetwarzania końcowego, aby określić, która tabela jest tabelą chemii, który rząd jest nagłówkiem i jak powiązać wartości z etykietami elementów.

Ograniczenia:

  • Działa tylko z natywnymi plikami PDF (nie zeskanowanymi)
  • Struktura tabeli zostaje utracona dla złożonych układów (scalene komórki, wielowierszowe nagłówki)
  • Brak identyfikacji pola—musisz napisać reguły, aby znaleźć każdą wartość
  • Nie obsługuje zmienności układu między różnymi walcowniami

Podejście to jest wykonalne dla scenariusza jednego dostawcy, dużej ilości ze stabilnym formatem PDF. Nie jest ogólnym parserem certyfikatów.


Metoda 3: Ekstrakcja oparta na AI (cel ogólny)

Do użytku w produkcji na wielu dostawcach i typach dokumentów:

Narzędzie ekstrakcji AI odbiera plik PDF, klasyfikuje typ dokumentu, określa mający zastosowanie schemat ekstrakcji, wyodrębnia wartości z ocenami ufności na pole i zwraca ustrukturyzowany rekord JSON. Proces jest taki sam dla natywnych plików PDF i dokumentów zeskanowanych, chociaż dokładność jest wyższa dla natywnych plików PDF.

Jak wygląda wyjście (uproszczone):

{
  "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 }
  }
}

Każde pole nosi swoją wartość, jednostkę i ocenę ufności. Pola o niskiej ufności są kierowane do ręcznego przeglądu.


Typowe wyzwania ekstrakcji według typu pola

Numery pieca: Format jest bardzo zróżnicowany—niektóre walcownie używają kodów czysto numerycznych, inne używają kombinacji alfanumerycznych z łącznikami, inne zawierają odnośniki do partii lub próbki testowej. Ekstraktory muszą obsługiwać zmienność formatu bez obcinania lub transpozycji znaków.

Jednostki: Właściwości mechaniczne mogą być raportowane w MPa, N/mm², ksi lub kgf/cm² w zależności od kraju walcowni i mającej zastosowanie normy. Wykrywanie i normalizacja jednostek są wymagane do porównania między certyfikatami. Wytrzymałość na rozciąganie "60 ksi" i "414 MPa" są równoważne, ale bez świadomej normalizacji jednostki będą wyglądać inaczej.

Wartości chemii bliskie limitom wykrywalności: Niektóre walcownie podają elementy jako "<0.005" (poniżej granicy wykrywalności) zamiast wartości określonej. Ekstraktor musi to obsługiwać jako wartość ograniczoną, a nie ciąg tekstu lub wartość null.

Podwójna certyfikacja: Certyfikat obejmujący dwie równoczesne normy (np. ASTM A106 Gr.B / ASME SA-106 Gr.B) musi rejestrować oba odnośniki. Ekstraktory jednonormowe milcząco odrzucają drugi odnośnik.

Tabele wymiarów produktów: W przypadku certyfikatów rur jest powszechna tabela wymiarów zawierająca OD, grubość ścianki i długość według numeru artykułu. Tabela ta musi być analizowana oddzielnie od danych chemicznych i mechanicznych i powiązana według numeru artykułu.


Po ekstrakcji: walidacja względem specyfikacji

Wyodrębnione wartości są przydatne tylko wtedy, gdy wiesz, czy są one zgodne. Walidacja wymaga porównania każdej wyodrębnionej wartości z limitami mającej zastosowania normy:

PoleWyodrębniona wartośćLimit normyWynik
Węgiel0.18 wt%≤ 0.30 wt%Zaliczył
Wytrzymałość na rozciąganie415 MPa≥ 415 MPaZaliczył (na minimum)
Granica plastyczności240 MPa≥ 240 MPaZaliczył (na minimum)
Wydłużenie28.5%≥ 30%Nie zaliczył

Bez magazynowanej, wersjonowanej bazy danych normy ta walidacja wymaga od recenzenta ręcznego wyszukania limitów—negując wiele zalet automatyzacji. Platformy takie jak TestCert integrują wyodrębnione wartości z silnikiem walidacji normy w momencie ekstrakcji, dlatego wynik zaliczył/nie zaliczył jest określany automatycznie dla każdego wyodrębnionego pola.


Często zadawane pytania

Dlaczego kopiowanie tekstu z certyfikatu PDF daje uszkodzone wyniki?

Dwie typowe przyczyny: (1) Plik PDF używa osadzonej czcionki z niestandarowym kodowaniem znaków, powodując zastępowanie znaków Unicode podczas kopiowania-wklejania. (2) Tabela chemii została utworzona jako obraz zamiast tekstu do zaznaczenia. W przypadku 1 biblioteka PDF, która prawidłowo obsługuje kodowanie, da lepsze wyniki niż proste kopiowanie-wklejanie. W przypadku 2 wymagane jest OCR lub ekstrakcja AI.

Jak mogę stwierdzić, czy plik PDF ma warstwę tekstu czy jest czystym zeskanowanym obrazem?

Spróbuj zaznaczyć tekst na stronie. Jeśli możesz wyróżnić poszczególne słowa, plik PDF ma warstwę tekstu. Jeśli zaznaczenie wyróżnia całą stronę lub nic, jest to plik PDF zawierający tylko obraz. W Python'ie pdfplumber lub PyMuPDF zwrócą pusty lub bardzo krótki ciąg tekstu dla stron zawierających tylko obraz, które możesz wykorzystać jako heurystykę wykrywania programowego.

Czy mogę wyodrębnić specyfikacje materiałów z certyfikatu osadzonego w większym pakiecie dokumentów?

Tak, ale wymaga to najpierw kroku segmentacji dokumentu. Pakiety dokumentacji projektu często łączą MTC, raporty kontroli i listy pakowania w jeden plik PDF. Ekstraktor musi określić, które strony należą do jakiego typu dokumentu, zanim zastosuje odpowiedni schemat ekstrakcji do każdej sekcji.

Jaki jest najlepszy sposób wyodrębnienia chemii z certyfikatu o niestandardowym układzie tabeli?

W przypadku niezwykłych układów—dwie tabele podzielone na stronie, obrócone tabele lub tabele z niestandardowymi nagłówkami—model języka wizji przewyższa podejścia oparte na OCR, ponieważ wizualnie interpretuje układ zamiast polegać na strukturze tekstu. Jeśli używasz narzędzia opartego na regułach lub OCR, musisz dodać niestandardowy szablon dla układu tej walcowni.

Jak powinienem radzić sobie z certyfikatem, w którym wyniki mechaniczne są raportowane w jednostce innej niż oczekiwana przez moją bazę danych?

Zaimplementuj normalizację jednostek na poziomie ekstrakcji, a nie na poziomie bazy danych. Przechowuj jednostkę kanoniczną (MPa dla wytrzymałości, % dla wydłużenia) i konwertuj w momencie ekstrakcji, używając jednostki wykrytej z certyfikatu. Rejestruj zarówno wartość oryginalną i jednostkę, jak i znormalizowaną wartość w śladzie audytu, aby konwersja była możliwa do śledzenia.

Ready to automate your certificate workflow?

Try TestCert free

Powiązane przewodniki