手軽屋
ツール一覧

PDF・OCRコピーで改行がガタガタになる理由と対処法

「貼り付けたら1行ごとに改行されてしまった」――その背景には、PDFの構造とOCRの仕様があります。

参照した一次情報

PDFは「文字を座標で配置する」構造

PDFは「文字列」を保存しているのではなく、「この位置にこの文字を描く」という描画命令の集合として保存されています。 ISO 32000仕様では、各文字はTj/TJオペレーターで指定座標に配置され、改行という概念は明示的に存在しません。

そのためPDFリーダーがテキストをコピーする際、「次の文字が前の文字より大きく下にあれば改行とみなす」というヒューリスティック処理を行います。 段組み・脚注・ヘッダーフッターの座標差により、本文の中でも「物理的な行末で改行」が挿入されてしまうのです。

PDFコピーの典型パターン

OCRはまず「行」を見つける

OCRエンジンは画像を文字列に変換する前に、「どこからどこまでが1行か」を検出します。 Tesseractはこの段階をPage Segmentation Mode(PSM)で制御し、PSM 1〜13まで13種類のモードを提供。

代表的な行検出アルゴリズムは2種類:

いずれも「画像上の物理的な行」を1行として扱うため、文章としての段落構造は失われ、行末ごとに改行が挿入されたテキストが出力されます。

OCRの典型エラー

整形ツールでの修復ロジック

PDF・OCRから出てくる「1行ごとに改行」テキストを文章に戻すには、以下のヒューリスティックが有効です。

  1. 連続する改行を保持:2行以上の空行は段落区切りとして残す
  2. 段落内の単独改行を削除:1つだけの改行は前後の行を結合
  3. 句読点直後の改行を優先削除:「。」「、」の後ろは前の行末とみなす
  4. 箇条書きマーカーは保持:「・」「-」「①」等で始まる行は改行を残す
  5. NFC正規化を適用:濁点の結合形式を統一
  6. ホワイトスペースを統一:全角空白・タブ・連続空白を整理

Before / After 例

Before(PDFコピー直後)

本日の議題は、来期の事
業計画について議論する
ことです。

各部署から提案を集めた
うえで、最終決定を行い
ます。

After(整形後)

本日の議題は、来期の事業計画について議論することです。

各部署から提案を集めたうえで、最終決定を行います。

段落間の空行は保持しつつ、段落内の不要な改行だけが除去されました。

表組・コードブロックは要注意

PDF内の表組やコードブロックは、本文と同じヒューリスティックで処理すると改行が消えて読めなくなります。 整形対象から表・コード部分を除外する、または整形後に手動で改行を補うのがおすすめです。

重要書類(契約書・公文書)の場合、改行位置の変更が解釈に影響することもあります。 原本を別途保管した上で、整形版を「読みやすい参考版」として活用してください。

本ツールでの位置づけ

本ツールは「改行統合」処理で上記ロジック(空行保持・段落内改行除去)を実装。 さらにNFC正規化と不可視文字除去を組み合わせることで、PDF・OCR由来のテキストを文章として読める形に戻します。

OCRから始める場合は、姉妹ツール「画像の文字起こし(OCR)」で画像をテキスト化してから、本ツールに貼り付けるとスムーズです。

関連ツール・記事