このような場合、Acrobat(リーダー)ウィンドウからテキストを選択してコピーして貼り付けることができない場合は、それでも機能する可能性のある別のオプションがあります。
- 「ファイル」メニューを開き、
- [名前を付けて保存...]を選択します。
- 'テキスト(通常)(*。txt)'を選択します。
- ターゲットディレクトリを参照し、
- テキストファイルに使用する名前を入力します。
ファイル内のすべてのページのすべてのテキストがあり、最初にコピーして貼り付けたい場所を見つける必要があります。直接コピーして貼り付けるほど快適ではない場合に限ります。しかし、それはより確実に動作します...。
Linuxでも動作します(ただし、ファイルメニューから[テキストとして保存...]acroread
を選択する必要があります)。
アップデート
pdffonts
コマンドラインユーティリティを使用して、PDFで使用されているフォントのクイックショット分析を取得できます。
これは出力例であり、テキスト抽出の問題が発生する可能性が非常に高い場所を示しています。これは、 GitHubリポジトリからのこれらの手作業でコーディングされたPDFファイルの1つを使用します。これは、コメントが付けられ、テキストエディタで簡単に開くことができるPDFサンプルファイルを提供するために作成されました。
$ pdffonts textextract-bad2.pdf
name type encoding emb sub uni object ID
------------------------------- ------------ ----------- --- --- --- ---------
BAAAAA+Helvetica TrueType WinAnsi yes yes yes 12 0
CAAAAA+Helvetica-Bold TrueType WinAnsi yes yes no 13 0
このテーブルをどのように解釈しますか?
- 上記のPDFファイルは、2つのサブセット化されたフォント(名前の接頭辞と接頭辞、および列の
BAAAAA+
エントリで示されている)とを使用しています。CAAAAA+
yes
sub
Helvetica
Helvtica-Bold
- どちらのフォントもタイプは
TrueType
です。
- どちらのフォントもエンコーディングを使用し
WinAnsi
ます(フォントエンコーディングは、PDFソースコードで使用されているchar識別子を描画する必要のあるグリフにマップします)。ただし、フォントの/Helvetica
場合のみ、-列の/で示されている/ToUnicode
ように、PDF内に使用可能なテーブルがあります(存在しないため)。/Helvetica-Bold
yes
no
uni
この/ToUnicode
テーブルは、文字識別子/コードから文字への逆マッピングを提供するために必要です。
特定のフォントのテーブルがない/ToUnicode
ことは、ほとんどの場合、このフォントを使用するテキスト文字列をPDFから抽出またはコピーして貼り付けることができないことを示しています。(/ToUnicode
テーブルが存在する場合でも、テキスト抽出は問題を引き起こす可能性があります。これは、このテーブルが破損しているか、正しくないか、不完全である可能性があるためです。これは、多くの実際のPDFファイルで見られ、上記のいくつかのコンパニオンファイルでも示されています。リンクされたGitHubリポジトリ。)