Skip to main content
Руководства·7 мин чтения·

Как извлечь спецификации материалов из PDF-сертификата

Краткий ответ

Quick Answer

Для извлечения спецификаций материалов из PDF-сертификата: для разовых поисков используйте выделение текста PDF или копирование-вставку. Для повторяющегося извлечения в больших объемах используйте инструмент извлечения на основе ИИ, который отображает химический состав, механические свойства, номер плавки и стандартные ссылки в структурированную схему. Нативные PDF-файлы обеспечивают лучшую точность, чем сканированные.

PDF-сертификат испытания завода содержит полное доказательство спецификации материала для партии материала: химический состав, результаты механических испытаний, стандарт и сорт, по которому он был испытан, и заявление сертифицирующего завода. Извлечение этих значений из PDF и ввод их в используемую систему—без ручного переввода—это практическая задача, которую решает это руководство.


Понимание содержимого PDF спецификации материала

Перед извлечением знайте, что вы ищете. Типичный MTC содержит:

Поля заголовка/идентификации

  • Номер плавки (иногда называемый номером отливки, номером плавления или номером партии)
  • Номер и дата сертификата
  • Ссылка на заказ/PO
  • Название и адрес сертифицирующего завода
  • Подписант и должность

Поля спецификации материала

  • Применяемый стандарт (например, ASTM A106, EN 10210-1, API 5L)
  • Сорт (например, Сорт B, S355J2H, X52)
  • Форма продукта (бесшовная труба, горячекатаный лист, стержень)
  • Номинальные размеры (внешний диаметр, толщина стенки, длина)
  • Состояние термической обработки (отожженный, закаленный, в состоянии после прокатки)

Таблица химического состава

  • Углерод (C), Марганец (Mn), Кремний (Si), Фосфор (P), Сера (S) как минимум
  • Дополнительные элементы в зависимости от сорта: Хром, Молибден, Никель, Ванадий, Ниобий, Бор, Азот и др.
  • Значения обычно указываются в процентах по массе до 2-4 десятичных знаков

Результаты механических испытаний

  • Прочность на разрыв (UTS), предел текучести (YS/Rp0.2), удлинение (%)
  • Для сортов, испытанных на удар: поглощенная энергия Шарпи (Джоули) при указанной температуре
  • Твердость (HB, HV, HRC) где применимо

Дополнительные данные (где применимо)

  • Результаты неразрушающего контроля
  • Данные сварочной проволоки / присадочного металла (для сварных изделий)
  • Записи о термической обработке после сварки
  • Результаты гидростатических испытаний

Метод 1: Ручное копирование-вставка (отдельные документы)

Для случайных поисков с низким объемом:

  1. Откройте PDF в любом PDF-ридере
  2. Для нативных PDF (машинного создания): используйте инструмент выделения текста для выделения и копирования значений непосредственно. Примечание: таблицы могут копироваться не аккуратно—значения могут приходить в неправильном порядке в зависимости от того, как был создан PDF.
  3. Для сканированных PDF: текстовый слой—это изображение, а не выделяемый текст. Вы должны визуально читать значения и вводить их.

Ограничения: Медленно, подвержено ошибкам для химических таблиц, нет структурированного вывода, нет аудита.


Метод 2: Извлечение текста PDF с помощью Python (программное, нативные PDF)

Для разработчиков, которым нужно обработать пакет нативных PDF программным способом:

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)

Что это вам дает: Необработанный текст и массивы таблиц из нативного PDF. Все еще требуется логика постобработки для определения какая таблица является таблицей химии, какая строка является заголовком и как связать значения с ярлыками элементов.

Ограничения:

  • Работает только с нативными PDF (не сканированными)
  • Структура таблицы теряется для сложных макетов (объединенные ячейки, многострочные заголовки)
  • Нет идентификации полей—нужно писать правила для поиска каждого значения
  • Не обрабатывает вариации макета между разными заводами

Этот подход применим для однопоставщика, высокообъемного сценария с стабильным форматом PDF. Это не универсальный парсер сертификатов.


Метод 3: Извлечение на основе ИИ (общего назначения)

Для производственного использования на нескольких поставщиков и типов документов:

Инструмент извлечения на базе ИИ получает PDF, классифицирует тип документа, определяет применимую схему извлечения, извлекает значения с оценками уверенности для каждого поля и возвращает структурированную запись JSON. Процесс одинаков для нативных PDF и сканированных документов, хотя точность выше для нативных PDF.

Как выглядит вывод (упрощенно):

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

Каждое поле несет значение, единицу и оценку уверенности. Поля с низкой уверенностью направляются на ручную проверку.


Общие проблемы извлечения по типам полей

Номера плавок: Формат сильно варьируется—некоторые заводы используют чисто числовые коды, другие используют буквенно-цифровые комбинации с дефисами, третьи включают ссылки на партию или испытуемый образец. Инструменты извлечения должны обрабатывать разнообразие форматов без усечения или транспонирования символов.

Единицы: Механические свойства могут быть указаны в МПа, Н/мм², кси или кгс/см² в зависимости от страны завода и применяемого стандарта. Требуется определение и нормализация единиц для сравнения между сертификатами. Прочность на разрыв "60 кси" и "414 МПа" эквивалентны, но без осведомленной нормализации единиц будут выглядеть по-разному.

Значения химии близкие к пределам обнаружения: Некоторые заводы указывают элементы как "<0.005" (ниже предела обнаружения) вместо конкретного значения. Инструмент извлечения должен обрабатывать это как ограниченное значение, а не как текстовую строку или нуль.

Двойная сертификация: Сертификат, охватывающий два одновременных стандарта (например, ASTM A106 Гр.B / ASME SA-106 Гр.B), должен регистрировать обе ссылки. Инструменты, работающие с одним стандартом, молча удаляют вторую ссылку.

Таблицы размеров продукта: Для сертификатов трубопроводов обычна таблица размеров, в которой перечислены наружный диаметр, толщина стенки и длина по номеру позиции. Эта таблица должна анализироваться отдельно от химических и механических данных и связываться по номеру позиции.


После извлечения: проверка по спецификации

Извлеченные значения полезны только если вы знаете, соответствуют ли они требованиям. Проверка требует сравнения каждого извлеченного значения с пределами применимого стандарта:

ПолеИзвлеченное значениеПредел стандартаРезультат
Углерод0.18 wt%≤ 0.30 wt%Прошло
Прочность на разрыв415 МПа≥ 415 МПаПрошло (на минимуме)
Предел текучести240 МПа≥ 240 МПаПрошло (на минимуме)
Удлинение28.5%≥ 30%Не прошло

Без сохраняемой и версионируемой базы данных стандартов эта проверка требует от рецензента ручного поиска пределов—что сводит на нет большую часть преимуществ автоматизации. Платформы как TestCert интегрируют извлеченные значения с механизмом проверки стандартов во время извлечения, поэтому результат (прошло/не прошло) определяется автоматически для каждого извлеченного поля.


ЧЗВ

Почему копирование текста из PDF-сертификата дает искаженные результаты?

Две распространенные причины: (1) PDF использует встроенный шрифт с нестандартной кодировкой символов, вызывая замену неправильными символами Unicode при копировании-вставке. (2) Таблица химии была создана как изображение, а не выделяемый текст. В случае 1 библиотека PDF, правильно обрабатывающая кодировку, даст лучшие результаты, чем простое копирование-вставка. В случае 2 требуется OCR или извлечение на основе ИИ.

Как узнать, имеет ли PDF текстовый слой или это чисто сканированное изображение?

Попробуйте выделить текст на странице. Если вы можете выделить отдельные слова, PDF имеет текстовый слой. Если выделение выделяет всю страницу или ничего, это PDF только с изображениями. В Python pdfplumber или PyMuPDF вернут пустую или очень короткую текстовую строку для страниц только с изображениями, которую можно использовать как программный эвристик обнаружения.

Могу ли я извлечь спецификации материалов из сертификата, встроенного в более крупный пакет документов?

Да, но требует предварительного этапа разделения документов. Пакеты документации проекта часто объединяют MTC, отчеты об осмотре и упаковочные листы в один PDF. Инструмент извлечения должен определить, какие страницы относятся к какому типу документа, перед применением соответствующей схемы извлечения к каждому разделу.

Каков лучший способ извлечения химии из сертификата с нестандартной структурой таблицы?

Для необычных макетов—две таблицы, разделенные по странице, повернутые таблицы или таблицы с нестандартными заголовками—модель видения и языка превосходит подходы на основе OCR, потому что она интерпретирует макет визуально, а не полагается на структуру текста. Если вы используете инструмент на основе правил или OCR, вам нужно добавить пользовательский шаблон для макета того завода.

Как я должен обрабатывать сертификат, где механические результаты указаны в единице, отличной от ожидаемой моей базой данных?

Реализуйте нормализацию единиц на уровне извлечения, а не на уровне базы данных. Сохраняйте каноническую единицу (МПа для прочности, % для удлинения) и преобразуйте во время извлечения, используя единицу, определенную из сертификата. Запишите как исходное значение и единицу, так и нормализованное значение в журнал аудита, чтобы преобразование было отслеживаемо.

Ready to automate your certificate workflow?

Try TestCert free

Связанные руководства