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に入ります。