PDFIntact

PDFから、表と本文をそのまま取り出す

PDFの表がページを跨ぐと別々の表になる

何ページも続く一覧表をExcelやWordに変換する。するとページの数だけ別々の表になり、 2ページ目からはヘッダ行がもう一度現れ、 その間に「(続き)」やページ番号が挟まります。 Excelならシートがページの数だけ分かれ、繋ぎ直すのは手作業になります。

原因は、PDFがページごとに独立した描画で、表が続いているという情報を持っていないことです。 ファイルに入っているのは「この座標にこの字形を描け」「ここに線を引け」という指示だけで、 このページの行が前のページの続きだとは、どこにも書かれていません。 ヘッダ行は各ページで刷り直され、間にページ番号や「(続き)」が入るので、機械的に読むとページ数ぶんの別の表になります

ですから続きはページの並びから読み直すしかありません。 PDFIntact は前のページの最後の表と、次のページの最初の表を見比べ、 その間にあるのが飛ばしてよいもの(ページ番号や「(続き)」の見出しなど)だけであれば、ヘッダ行を1回だけ残した1つの表として繋ぎます。 繋いだ表には、跨いでいたページの範囲が付きます。

いま試す

お手元の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と照合してください。

よくある質問

ページを跨いだ表は1つになりますか
そのための仕組みが入っています。前のページの最後の表と次のページの最初の表を見比べ、その間にあるのがページ番号や「(続き)」のような飛ばしてよいものだけなら、行を繋いで1つの表にします。3ページに跨る統計表の検証では、1つの表になり、165行のデータが原本と同じ順序で並びました。噛み合わないときは無理に繋がず、別々の表のまま出します。
継ぎ目でヘッダ行が重複しませんか
しません。各ページの先頭で刷り直されているヘッダ行は繋いだ表に持ち込まず、先頭の1行だけを残します。3ページに跨る表の検証でも、繋いだ表のヘッダ行は1行だけで、その下にデータ行が続きました。
列が次のページに続く表はどうなりますか
繋ぎません。同じ行のまま、ページごとに列(項目)が変わる表は、行として繋ぐと壊れます。その型の検体でも3ページとも独立した表のままで、誤って繋ぐことはありませんでした。ページごとの表として出るので、続きであることはキャプションから読み取ってください。
どのページに跨っていたか分かりますか
表の単位では分かります。繋いだ表には、跨いでいた先頭と末尾のページがJSONに入ります。ただし行ごとにどのページから来たかは記録していません。また、吸い上げられたページには表が残らず、「(続き)」のキャプションだけが本文のブロックとして残ります。
Excelではどう出ますか
1つの表が1枚のシートになるので、3ページに跨っていた表も1枚のシートに収まり、ヘッダ行は1行です。シート名は表が始まったページの番号から付きます。吸い上げられたページのシートは作られません。罫線と結合セルは再現します。跨いだページの範囲はExcelには書き込まれません。JSONに入ります。

ほかの症状もまとめて診断する書き出し形式の違い