PDF-файл, содержащий дюжину таблиц данных, каждая из которых представляет собой отдельный раздел отчета, представляет собой проблему преобразования. Преобразование всего PDF-файла в один CSV приводит к беспорядочной электронной таблице, в которой заголовки таблиц из третьего раздела появляются посередине данных из второго раздела. Инструменты PDF в Excel, конвертирующие весь документ одновременно, не различают таблицы. Извлечение каждой таблицы в отдельный файл CSV требует более избирательного подхода, рассматривая каждую таблицу как независимый источник данных в более крупном документе.
Цель состоит в том, чтобы создать по одному файлу CSV для каждой таблицы, причем каждый CSV будет содержать правильные заголовки столбцов и строки данных из исходной таблицы в PDF-файле. Количество выходных файлов соответствует количеству отдельных таблиц в документе. Такой подход сохраняет каждый набор данных чистым и готовым к импорту в инструменты анализа, базы данных или отдельные вкладки электронных таблиц без ручной постобработки для разделения смешанных табличных данных.
Инструменты Extract PDF Data WukongPDF идентифицируют структуры таблиц в PDF-файлах и экспортируют их в структурированные форматы. Для документов с несколькими независимыми таблицами описанный ниже рабочий процесс извлечения обеспечивает чистый вывод CSV для каждой таблицы.

Как работает извлечение таблиц PDF
Механизмы извлечения таблиц анализируют пространственное положение текстовых символов на каждой странице PDF. Символы, расположенные близко друг к другу по горизонтали, образуют слова. Слова, расположенные горизонтальными рядами через равные вертикальные интервалы, образуют строки таблицы. Вертикальные промежутки между столбцами определяют границы столбцов. Механизм группирует символы в ячейки, ячейки в строки и строки в структуру таблицы, а затем экспортирует таблицу как текст с разделителями. Точность извлечения зависит от того, насколько четко была отформатирована исходная таблица PDF. Таблицы с видимыми линиями сетки, одинаковой шириной столбцов и отсутствием объединенных ячеек извлекаются с почти идеальной точностью.
Объединенные ячейки, когда одна ячейка охватывает несколько столбцов или строк, запутывают пространственный анализ, поскольку механизм не может определить, к какому столбцу принадлежит объединенная ячейка. Таблицы с фоновой заливкой, которая чередуется по строкам, могут привести к тому, что механизм неправильно интерпретирует границы заливки как границы столбцов. Таблицы, в которых содержимое ячеек переносится на несколько строк, могут привести к тому, что механизм будет рассматривать каждую обернутую строку как отдельную строку. Прежде чем выбрать метод извлечения, визуально проверьте таблицу PDF на наличие этих функций и установите соответствующие ожидания.
Попробуйте PDF в Excel
Никакой установки не требуется. Работает прямо в вашем браузере.
Метод 1: экспорт отдельных таблиц с помощью Adobe Acrobat Pro
Acrobat Pro может экспортировать PDF-файл в Excel, а оттуда вы можете разделить книгу на отдельные файлы CSV. Откройте PDF-файл в Acrobat Pro, выберите «Инструменты», затем «Экспортировать PDF». Выберите «Электронная таблица» в качестве выходного формата и выберите «Книга Microsoft Excel». Нажмите «Экспорт». Acrobat обрабатывает весь документ и создает файл XLSX. Откройте XLSX в Excel. Содержимое каждой страницы PDF отображается на отдельном листе или в непрерывном диапазоне данных в зависимости от макета документа.
Определите, где начинается и заканчивается каждая таблица в выходных данных Excel. Выберите диапазон данных первой таблицы, включая строку заголовка, и скопируйте его в новую книгу Excel. Сохраните эту книгу как файл CSV с описательным именем, например Sales_Q1_2025.csv. Повторите для каждой последующей таблицы. Этот ручной подход надежно работает для документов, содержащих до пяти таблиц. Для документов с десятками таблиц рабочий процесс копирования и сохранения вручную становится утомительным, и один из приведенных ниже автоматизированных методов более практичен.
Метод 2: Онлайн-инструменты с обнаружением таблиц
Некоторые онлайн-конвертеры PDF в CSV включают обнаружение таблиц, которое идентифицирует отдельные таблицы в документе. Эти инструменты сканируют PDF-файл, выделяют обнаруженные области таблицы и предлагают экспортировать каждую обнаруженную таблицу как отдельный CSV или как отдельные листы в книге XLSX. Tabula, инструмент с открытым исходным кодом, доступный как в виде веб-приложения, так и в виде локального настольного приложения, специализируется на этом рабочем процессе. Загрузите PDF-файл, нарисуйте рамки вокруг каждой таблицы, которую хотите извлечь, и нажмите «Экспорт». Tabula создает один CSV-файл для каждой выбранной области таблицы.
На практике качество онлайн-извлечения во многом зависит от внутренней структуры PDF-файла. Текстовые PDF-файлы, в которых содержимое таблицы хранится в виде реальных текстовых символов, извлекаются надежно. Отсканированные PDF-файлы, в которых таблица представляет собой изображение текста, а не сам текст, перед извлечением требуют распознавания. Сначала запустите PDF-файл через механизм OCR, если он был создан сканером, а затем извлеките таблицы из выходных данных OCR с возможностью поиска. Этап OCR приводит к некоторым ошибкам извлечения, особенно с числами, которые могут быть ошибочно распознаны как похожие символы.
Метод 3: автоматизация извлечения с помощью Python и Tabula
Для повторяющихся задач извлечения или документов с большим количеством таблиц рабочий процесс автоматизируется с помощью сценария Python, использующего библиотеку tabula-py. Сценарий открывает PDF-файл, обнаруживает области таблицы на каждой странице, извлекает каждую таблицу в DataFrame pandas и сохраняет каждый DataFrame как отдельный файл CSV. Базовый сценарий извлечения требует примерно 25 строк кода.
Библиотека tabula-py принимает параметры для стратегии обнаружения таблиц, такие как режим решетки для таблиц с видимыми линиями сетки и режим потока для таблиц, в которых столбцы разделены пробелами. Режим решетки более точен для правильно отформатированных таблиц с границами. Потоковый режим допускает таблицы без полей, но может привести к смещению столбцов, если пробелы не совпадают. Для документа со смешанными стилями таблиц запустите извлечение дважды, по одному разу для каждого режима, и сравните выходные данные, чтобы определить, какой режим дает более чистые данные для каждой таблицы.
| Метод | Наилучший вариант для | Ограничения клавиш |
|---|---|---|
| Экспорт Adobe Acrobat Pro | Чистые таблицы, один или два PDF-файла | Борьба со слитыми ячейками |
| Онлайн-инструменты для преобразования PDF в CSV | Быстрое преобразование, без установки | Может неправильно обрабатывать многостраничные таблицы. |
| Питон + панды + доска | Пакетная обработка, сложные таблицы | Требуются знания скриптинга |
Обработка таблиц, занимающих несколько страниц
Таблица, продолжающаяся со страницы 3 до страницы 4, представляет собой особую проблему. Механизм извлечения видит две отдельные таблицы, по одной на каждой странице, каждая со своей собственной строкой заголовка на странице 3 и, возможно, повторяющимся заголовком на странице 4. После извлечения объедините два файла CSV вручную или с помощью сценария, добавив строки данных из второго файла под строками данных первого файла, удалив повторяющуюся строку заголовка из второго файла.
Некоторые инструменты извлечения включают опцию охвата страниц или объединения таблиц, которая пытается автоматически объединить многостраничные таблицы. Этот параметр работает, когда структура таблицы единообразна на всех страницах и каждый разрыв страницы происходит на границе строки. Когда разрыв страницы разбивает строку на две страницы, например, длинную строку с обернутым текстом, которая начинается внизу страницы 3 и заканчивается вверху страницы 4, автоматическое слияние создает частичную строку в конце первого CSV-файла и еще одну неполную строку в начале второго CSV-файла. В таких крайних случаях необходима ручная проверка и исправление точки слияния.
Извлечение каждой таблицы PDF в отдельный файл CSV дает чистые, готовые к анализу данные, которые можно импортировать непосредственно в любую программу работы с электронными таблицами или базами данных. Выбор метода зависит от того, сколько таблиц вам нужно извлечь и как часто вы выполняете эту задачу. При периодическом использовании нескольких таблиц рабочий процесс Acrobat Pro по экспорту в Excel с последующим разделением CSV вручную позволяет выполнить эту задачу. Для периодического пакетного извлечения из стандартизированных документов подход Python и Tabula обрабатывает сотни PDF-файлов с согласованными результатами.
Проверка точности извлеченных данных CSV
После извлечения каждой таблицы в CSV запустите быструю проверку перед импортом данных в конвейер анализа. Откройте каждый файл CSV в приложении для работы с электронными таблицами и сравните количество строк с количеством видимых строк в исходной таблице PDF. Числа должны совпадать в пределах одной или двух строк, учитывая возможные строки заголовков, которые пересекают разрывы страниц. Выборочная проверка числовых значений в формате CSV по сравнению с PDF-файлом: выберите пять случайных ячеек, содержащих числа, и убедитесь, что значения точно совпадают.
Обратите особое внимание на столбцы, содержащие объединенные ячейки в исходном PDF-файле. Механизмы извлечения часто дублируют значение объединенной ячейки во всех охватываемых ею столбцах или оставляют некоторые столбцы пустыми. Если ваш анализ зависит от сохранения объединенной структуры ячеек, примените логику слияния во время постобработки, а не ожидайте, что механизм извлечения обработает ее правильно. Короткий скрипт Python, который читает CSV и объединяет столбцы обратно в их исходную структуру на основе предопределенного сопоставления, дает более надежные результаты, чем использование обнаружения слияния механизмом извлечения.
Когда вместо этого использовать службу извлечения API
Для масштабного извлечения таблиц PDF сервисы на основе API обеспечивают более высокую точность, чем локальные инструменты для сложных макетов. Amazon Textract, Google Document AI и Microsoft Form Recnower используют модели машинного обучения, обученные на миллионах форматов таблиц, и обрабатывают объединенные ячейки, содержимое многострочных ячеек и таблицы без полей более надежно, чем механизмы на основе правил. Стоимость указана за страницу, что экономично для периодического извлечения ценных данных, но потенциально дорого для ежедневной пакетной обработки тысяч страниц.
Извлечение API фиксирует контекст таблицы, который упускают базовые инструменты. Заголовки столбцов связаны с ячейками данных, даже если заголовки охватывают несколько столбцов. Идентифицированы иерархические заголовки «родитель-потомок». Вывод структурирован в формате JSON, а не в формате CSV, что позволяет сохранить семантику таблицы для последующей обработки. Для критически важных для бизнеса данных, точность которых влияет на финансовые или юридические результаты, стоимость API за страницу составляет лишь небольшую часть стоимости исправления ошибок извлечения вручную.
Попробуйте PDF в Excel
Никакой установки не требуется. Работает прямо в вашем браузере.
