PDFIntact

Извлекайте таблицы и текст из PDF в исходном виде

Таблица, продолжающаяся на следующей странице, выходит отдельными таблицами

Вы переводите перечень на несколько страниц — и получаете по таблице на каждую страницу. Строка шапки снова стоит наверху каждой, между ними «продолжение» или номер страницы, а в Excel одна и та же таблица расходится на столько листов, сколько было страниц. Время уходит именно на то, чтобы соединить их вручную.

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

Значит, продолжение приходится вычитывать из порядка страниц. PDFIntact сравнивает последнюю таблицу одной страницы с первой таблицей следующей, и если между ними стоит только то, что можно пропустить — номер страницы, надпись «продолжение», — соединяет их в одну таблицу, где шапка остаётся один раз. У соединённой таблицы есть и диапазон страниц, который она занимала.

Попробовать

Проверьте на своём PDF

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

Пример

3つの表が、1つの表になります

3ページに分かれて出ていた表が、どう1つになるかを示した図です。実際の値ではなく、行の並び方だけを表しています。

そのまま変換したとき(ページごとの表)

[1ページ目の表]
見出し行
行 A
行 B

[2ページ目の表](続き)
見出し行 ← 2度目
行 C
行 D

[3ページ目の表]
見出し行 ← 3度目
行 E

PDFIntact を通したとき(1つの表)

[1つの表]跨いだページ 1〜3
見出し行
行 A
行 B
行 C
行 D
行 E

3ページに跨る統計表で実際に確かめています。 3ページに分かれていた表が1つの表になり、見出し行は1行だけ、続く165行のデータは原本と同じ順序で並びました。

繋がない表もあります

同じ行のままページごとに列(項目)が変わる型の表は繋ぎません。 行として繋ぐと壊れるからです。その型の検体でも、3ページとも独立した表のままで、 誤って繋ぐことはありませんでした。 続きを示す語も「(続き)」のように括弧の中か行の端にある形だけを見ます。 「手続き」「続柄」のような語を含む本文で、無関係な表を繋いでしまわないためです。

形式ごとに、どう入るか

繋いだ表は1つの表として入りますが、跨いだページの範囲が残る形式は限られます。

Excel(.xlsx)

1つの表が1枚のシート。跨いでいた表も1枚に収まり、見出し行は1行です。シート名は表が始まったページの番号から付きます。罫線と結合セルは再現します。

Word(.docx)

文書順のまま、表が始まったページの位置に1つの表として入ります。

Markdown(.md)

同じ位置に、パイプ記法の1つの表として置きます。

JSON

繋いだ表にだけ、跨いでいたページの範囲(先頭と末尾)が入ります。繋いでいない表には付きません。

吸い上げられたページに残るもの

繋いだ行は先頭のページの表にまとまるので、後ろのページには表が残りません。 残るのは「(続き)」のキャプションだけで、それは本文のブロックとして出ます。 跨いでいたページは表の単位では辿れますが、行の単位では分かりません。 また、表として繋がることと、中の文字が正しく読めていることは別の話です。 ブロックごとの確度の帯を見て、結果は必ず元のPDFと照合してください。

Частые вопросы

Соберётся ли в одну таблицу та, что продолжается на следующей странице?
Для этого всё и сделано. Последняя таблица одной страницы и первая таблица следующей сравниваются, и если между ними стоит только то, что можно пропустить — номер страницы, подпись «продолжение», — строки соединяются в одну таблицу. При проверке перечень, растянутый на три страницы, вышел одной таблицей со 165 строками данных в исходном порядке. Если две части не сходятся, они остаются отдельными таблицами, а не соединяются насильно.
Не повторится ли строка шапки на стыке?
Нет. Шапку, напечатанную заново вверху каждой страницы, в соединённую таблицу не переносят: она остаётся один раз, сверху. В проверенном трёхстраничном перечне у соединённой таблицы была ровно одна строка шапки, а под ней — строки данных в исходном порядке.
А таблица, у которой на следующей странице продолжаются столбцы?
Такие не соединяются. Таблицу, где строки те же, а столбцы на каждой странице свои, построчное соединение разрушило бы, поэтому она остаётся по таблице на страницу. Мы проверили это на образце ровно такой формы: по ошибке он не соединился. Он выходит постранично, и единственный признак связи — подпись.
Можно ли узнать, на какие страницы приходилась таблица?
Для таблицы целиком — да: соединённая таблица несёт в выводе JSON первую и последнюю страницу, которые она занимала. С какой страницы пришла отдельная строка, не записывается. Учтите и то, что вобранные страницы больше не несут своей таблицы — на них остаётся лишь подпись «продолжение» как блок текста.
Как это выглядит в Excel?
Одна таблица — один лист, поэтому таблица, соединённая через три страницы, приходит одним листом с одной строкой шапки; лист назван по странице, где таблица начинается. Для вобранных страниц лист не создаётся. Линии и объединённые ячейки воспроизводятся. Диапазон страниц в файл Excel не записывается — он есть в выводе JSON.

Проверить файл сразу по всем симптомамЧем отличаются форматы