Others

PDF からテキストをコピーすると、文の途中で不要な改行が追加されるのはなぜですか

PDF から段落をコピーして電子メールまたは文書に貼り付けると、ページの途中ですべての行が改行されます。貼り付けた結果では、きれいなテキスト ブロックではなく、元の PDF の各行が独自の短い行になり、ギザギザの混乱が生じます。これらの不要な改行を 1 つずつ削除するのは面倒で、複数ページの文書を操作している場合は、コンテンツを最初から入力し直すよりも時間がかかることがあります。

この問題は、研究の抜粋をコピーする学生からレポートからデータを抽出する専門家まで、定期的に PDF を扱うすべての人に影響を及ぼします。根本的な原因は、PDF が内部的にテキストを保存する方法にあります。段落を論理単位として理解するワードプロセッサ文書とは異なり、PDF はテキストをページ上の絶対位置に配置された個々の文字のストリームとして記録します。

Why Does Copying Text From a PDF Add Unwanted Line Breaks Mid-Sentence

PDF がテキストを保存する方法: 段落ではなく個々の文字

すべてのワード プロセッシング ドキュメントは、段落区切りが明示的にマークされた連続したフローとしてテキストを保存します。 Word からコピーする場合、アプリケーションは段落の開始位置と終了位置を認識しているため、クリップボードはクリーンなテキスト ブロックを受け取ります。 PDF はまったく異なる原理で動作します。内部的には、PDF ページは描画命令のセットです。つまり、この文字を座標 (x1, y1) に配置し、次の文字を (x2, y1) に配置する、というようになります。 PDF データ レベルでは段落という概念は存在しません。

Nielsen Norman Group による 2025 年の調査では、ナレッジ ワーカーは PDF からコピーしたテキストの再フォーマットに週に平均 18 分を費やしていることがわかりました (Nielsen Norman Group、「デジタル ドキュメント ワークフロー調査」、2025 年)。コピーされた PDF テキスト内の改行の修正とアーティファクトの書式設定だけで、1 年にわたって、1 人当たり最大約 15 時間の生産性の損失が合計されます。

PDF エディタ を使用して PDF の内部構造を表示すると、画面上では 1 つの流れる段落のように見えるものが、実際には数十の個別のテキスト オブジェクトとして保存されており、それぞれが 1 つの視覚的な線を表していることがわかります。一部の PDF では、特に元の文書で位置揃えやハイフネーションが使用されている場合、複数のテキスト オブジェクトにまたがる単語が分割されます。クリップボードは、これらのフラグメントを、一貫した段落を形成する順序ではなく、ページに表示される順序で受け取ります。

あまり知られていない要因は、PDF プロデューサーのメタデータです。さまざまなソフトウェアで作成された PDF には、生成アプリケーションを識別するプロデューサー タグが付けられます。一部のツール、特に macOS プレビューや特定の Linux PDF ビューアに組み込まれているツールでは、テキスト抽出アルゴリズムで正しく解析するのが難しいファイルが生成されます。特定のソースからの PDF のコピーに関する問題が定期的に発生する場合は、ドキュメントのプロパティのプロデューサー フィールドを確認すると、問題が PDF 作成者にあるのか、PDF リーダーにあるのかを特定するのに役立ちます。

論理的なテキスト順序と視覚的なテキスト順序の区別は、この問題を理解するための基礎です。視覚的に順序付けされた PDF では、ページ上でテキストが読み上げ順に配置されますが、その順序が内部的にエンコードされない場合があります。論理的に順序付けされた PDF は、通常、PDF に印刷するのではなく、適切なエクスポートを通じて作成され、各段落に構造単位としてタグ付けされます。コピーされたテキストの問題のほとんどは、データの保存よりもピクセルパーフェクトなレンダリングを優先したプリント ドライバーまたは従来のソフトウェアによって作成された、視覚的に順序付けされた PDF に遡ります。

WukongPDF

PDFを編集してみる

インストールは必要ありません。ブラウザで直接動作します。

始める →

間違った場所に改行が挿入される理由

貼り付け時に表示される改行は 2 つのソースから来ています。 1 つ目は、PDF 作成ソフトウェアが各視覚行の末尾に挿入する明示的な改行文字です。多くの PDF ジェネレーター、特に古いものやプリンター ドライバーは、テキストの各行を改行が続く個別の文字列として書き込みます。そのテキストをコピーすると、すべての改行が入ります。

この構造的な不一致により、ほぼすべてのテキスト コピーのフラストレーションが説明されます。

WukongPDF は、文書データをローカル デバイスに保存しながら、テキスト抽出と PDF 編集タスクを処理します。これは、契約書、財務報告書、または機密情報を含むファイルを扱うときに重要です。

2 番目のソースは、PDF リーダーがコピー操作のためにテキストを再構築する方法です。 PDF は文字を位置ごとに保存するため、リーダーはどの文字が単語を構成し、どの単語が行を構成するかをアルゴリズム的に決定する必要があります。 PDF リーダーが異なれば、決定も異なります。 Adobe Acrobat は段落を認識して行を結合する場合がありますが、ブラウザベースのビューアは元の改行をすべて保持する場合があります。

この PDF 形式 仕様には、論理的な読み取り順序と段落境界をマークできるタグ付き PDF と呼ばれるオプションのメタデータが含まれています。このメタデータが存在すると、テキスト抽出がより適切に機能します。残念ながら、流通している PDF の大部分はタグ付き構造なしで作成されています。 CommonLook による 2024 年の分析では、公開 Web サイト上の PDF のうち、適切なタグ付けが含まれているのは 34% のみであることがわかりました (CommonLook、「Global PDF Accessibility Report」、2024)。

もう 1 つの要因は、PDF 内で使用されるテキスト エンコーディングです。一部の PDF では、グリフにはマップされるが Unicode 値にはマップされない文字コードを使用してテキストが保存されます。このような PDF からコピーする場合、リーダーはクリップボードの内部エンコードを Unicode に変換する必要があります。エンコード テーブルが不完全または欠落している場合、コピーされたテキストに置換文字、スペースの欠落、または改行の位置が間違っている可能性があります。このエンコードの問題は、スキャンしたドキュメントや古いデスクトップ パブリッシング ソフトウェアから生成された PDF でより一般的です。

さまざまなテキスト抽出メソッドによる改行の処理方法

PDF からテキストを取得するために使用する方法は、きれいな段落を取得するか、乱雑な破線を取得するかに劇的な影響を与えます。 PDF ビューアを使用した手動のコピー アンド ペーストは、最も信頼性の低い方法です。クリップボードは、ビューア抽出アルゴリズムが生成するあらゆるテキストを受け取りますが、改行の処理方法を制御することはできません。

専用のテキスト抽出ツールは動作が異なります。 PDF ファイルを直接解析し、文字間隔、フォント サイズの変更、インデント パターンを調べるアルゴリズムを適用して段落境界を検出します。一部のツールでは、機械学習を使用して、保持する必要があるハード改行と、段落内でテキストを折り返すため削除する必要があるソフト改行を区別します。

PDF から Text への変換の場合、出力の品質はソース PDF に大きく依存します。タグ付き構造を有効にしてワードプロセッサから直接作成された PDF は、ほぼ完全に抽出されます。印刷されたページをスキャンして OCR を実行して作成された PDF では、OCR エンジンが物理的な行末をテキスト区切りとして解釈するために頻繁に改行アーティファクトが発生し、かなり粗い結果が生成されます。

ここでは、埋め込みテキストと OCR 生成テキストの違いが重要です。埋め込みテキストは元の文書作成プロセスから得られ、少なくとも一部の構造情報を保持します。 OCR で生成されたテキストは画像から再構築され、固有の段落構造は含まれません。 OCR エンジンによって認識される各行は個別のテキスト ブロックとなり、OCR ソフトウェアに段落検出が含まれていない限り、これらの改行はすべてコピーされた出力に表示されます。

PDF からコピーしたテキストを簡単にクリーンアップする方法

短い文章の場合は、テキスト エディターでの単純な検索と置換がうまく機能します。テキストをコピーしてプレーン テキスト エディターに貼り付け、検索と置換を使用して改行をスペースに置き換えます。ほとんどのテキスト エディタは、このための正規表現をサポートしています。ピリオドやその他の文末句読点が前にない改行を検索すると、文中の段落区切りを削除しながら、本物の段落区切りを保持できます。

長い文書の場合は、ワード プロセッサに貼り付けてフォーマット クリア ツールを使用した方が速い場合がよくあります。テキストを貼り付け、すべてを選択し、[書式をクリア] コマンドを適用します。次に、ワード プロセッサの特殊文字による検索と置換を使用して、実際の段落境界を示す可能性が高い 2 つの改行を維持しながら、1 つの改行をスペースに変換します。 PDF テキスト抽出を定期的に使用する場合は、自動段落検出を含むテキスト抽出機能を備えた専用の PDF Editor の使用を検討してください。

頻繁に PDF からテキストへのワークフローを行う場合、一貫したクリーニング プロセスを確立すると時間を大幅に節約できます。好みの書式設定でテンプレート文書を作成し、毎回同じシーケンスの検索と置換操作を使用し、ワードプロセッサにマクロを記録してクリーンアップ手順を自動化することを検討してください。初期設定には数分かかりますが、その後の抽出のたびに効果が現れます。

テキストをきれいにコピーする PDF を作成する方法

問題を根本から防ぐことが最も効果的な戦略です。 PDF を作成するときは、ドキュメントの構造を維持するエクスポート設定を選択します。 Microsoft Word では、「PDF に印刷」ではなく「PDF として保存」を使用します。 「PDF として保存」パスでは、段落境界を含むより多くのドキュメント メタデータが保存されるため、後のテキスト抽出が大幅に向上します。 Print to PDF ルートでは、構造情報を取り除いたプリンター ドライバーを介してドキュメントが送信されます。

ソフトウェアがタグ付き PDF 出力を提供する場合は常に、タグ付き PDF 出力を有効にします。タグ付き PDF には、段落、見出し、リストの開始位置と終了位置をテキスト抽出ツールに正確に伝える論理文書構造が埋め込まれています。 Adobe アプリケーションでは、この設定はエクスポート設定にあります。 Microsoft Office では、組み込みの PDF エクスポートを使用するときにこの機能がデフォルトで有効になりますが、サードパーティの PDF プリンタにはこれが含まれていない場合があります。

PDF をプログラムで生成している場合は、PDF ライブラリがタグ付き PDF 出力をサポートしていることを確認してください。 iText、PDFlib、Apache PDFBox などのライブラリはすべてタグ付き PDF の作成をサポートしていますが、この機能は多くの場合オプションであり、明示的に有効にする必要があります。 HTML から PDF を生成する Web アプリケーションの場合、Prince XML や WeasyPrint などのツールは、正しく構成されていればタグ付き出力を生成できます。作成時の余分な労力は、後で PDF からテキストをコピーする必要があるたびに報われます。

WukongPDF

PDFを編集してみる

インストールは必要ありません。ブラウザで直接動作します。

始める →