PDFから取り出したテキストを整える方法|UNIX Cafe

当サイトでは、コンテンツの一部に広告を掲載しています。
PDFから取り出したテキストを整える方法|UNIX Cafe

UNIX Cafe | 第84回

目次

PDFから取り出したテキストを、確認しやすく整える

PDFファイルからテキストを取り出せたとしても、
そのままでは 少し使いにくい状態 になっていることが多いです。

たとえば、

  • 行の前後に余分な空白がある
  • 日付の表記がバラバラ
  • 空行が多くて読みづらい

これは失敗ではありません。
PDFという形式の性質上、よくある状態です。

この記事では、ターミナルを使って、
取り出したテキストを「確認しやすい形」に整える方法を紹介します。

はじめに|「整える」は編集ではない

ここでいう「整える」とは、

  • 文章を書き直すこと
  • 表現を変えること

ではありません。

目的はただ一つ。

誤字脱字や内容を確認しやすくすること

そのための下準備が、今回の「整える作業」です。

まずは全体を読む(less)

いきなりコマンドで加工する前に、
まずは落ち着いて 中身を確認します。

less sample.txt
  • スペースキーでページ送り
  • / で検索
  • : q で終了

どこが乱れていそうか、
目で見て把握することが大切です。

行の前後にある余分な空白を消す

PDF由来のテキストでは、
行頭や行末に空白が入っていることがあります。

よくある例

   今週の予定
営業日  

これを、行構造を壊さずに整えます。

sed 's/^[[:space:]]*//; s/[[:space:]]*$//' sample.txt > step1.txt
  • 行の先頭の空白を削除
  • 行の末尾の空白を削除
  • 改行はそのまま

日付まわりの空白を整える(和暦の例)

PDFから取り出したテキストでは、
日付が次のようになることがあります。

令和 71224 日(水)

これを、自然な表記にそろえます。

令和7年12月24日(水)

コマンド例

sed -E 's/令和 ([0-9]+) 年 ([0-9]+) 月 ([0-9]+) 日/令和\1\2\3日/g' step1.txt > step2.txt

この方法は、

  • 「令和+数字+年」の形だけを対象
  • 他の文章には影響しない

という点で、安全です。

空行が多すぎる場合の整理

ページ区切りの影響で、
空行が何行も続くことがあります。

空行を1行にまとめる

sed '/^$/N;/^\n$/D' step2.txt > pdf_body.txt

これで、

  • 読みやすさ
  • 確認しやすさ

がぐっと上がります。

整えすぎない、という考え方

大切なのは、

  • 一気に全部直さない
  • 元の意味を変えない
  • 途中段階を残す

ということです。

sample.txt   → 元データ
step1.txt    → 空白整理
step2.txt    → 日付整形
step3.txt    → 読みやすさ調整

このように、
段階ごとにファイルを分けるのがおすすめです。

まとめ|整える作業は「確認のための準備」

  • PDFから取り出したテキストは、そのままで正しい
  • でも確認しやすくするには、少し整えると良い
  • 空白・日付・空行を整えるだけで、作業効率は大きく変わる

この工程があるからこそ、

  • 誤字脱字チェック
  • HTMLとの照合
  • 表記の統一

が、落ち着いて行えるようになります。

おわりに

ターミナルでの作業は、
「難しい操作」をするためのものではありません。

文章を、静かに・正確に確認するための道具です。

次は、整えたテキストとHTMLを照合する方法へ進んでみましょう ☕

さらに学びたいあなたへ

📘 用途ごとに選ぶ Linux のおすすめ本

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

のいのアバター のい UNIX Cafe 編集部

UNIX Cafe は、むずかしい言葉をできるだけ使わず、物語を読むような気持ちで気軽に学べる場所です。
プログラミングは、アイデアをコンピューターに伝えるための「ことば」。
簡単な単語と文法を覚えることで、誰でもターミナルから便利なコマンドを使えるようになります。
コーヒーを片手に立ち寄るような気持ちで、やさしいプログラミングの世界を、
そっとのぞいてみてください。

目次