この PDF ファイルのフォントの問題を修正するにはどうすればいいでしょうか?

この PDF ファイルのフォントの問題を修正するにはどうすればいいでしょうか?

私は持っているPDFファイル、そのテキストはevinceでは正しく表示されますが、テキストが検索されたり、ファイル外でコピー&ペーストされたりした場合は表示されません。たとえば、「external transport.」は、次のようにコピー&ペーストされます。

2D/28:93 /89:4758/9/.5:

私はpdfファイルを作成しましたPDFファイルのオリジナルバージョン正しく動作するには、

gs -q -dNOPAUSE -dBATCH -dSAFER -sDEVICE=pdfwrite -sOutputFile=example.pdf original.pdf

このコマンドは、PDF ファイル内のさまざまな問題 (特に Windows で作成された PDF ファイル内のフォントの問題) を修復するための一般的な方法です。

  1. なぜコマンドが問題を引き起こすのでしょうか? PDF の問題を修正する一般的な方法として、コマンドをどのように変更すればよいでしょうか?
  2. 正しいテキストを検索してコピーし、外部に貼り付けることができるように、現在のバージョンの PDF ファイルをどのように修復すればよいでしょうか。実際に修復したいファイルは、同じ方法で作成され、追加の変更が加えられています。変更を維持できるように修復したいと考えています。

ありがとう。

答え1

Stack Overflowでいくつか読んで、役に立つ投稿をいくつかしました(123) は、PDF ファイルに埋め込まれた特定のフォントに問題があることを示唆しているようです。元のファイルでは次のフォントが使用されています:

$ pdffonts original.pdf 
name                                 type              encoding         emb sub uni object ID
------------------------------------ ----------------- ---------------- --- --- --- ---------
KPSHBO+Wingdings                     TrueType          Custom           yes yes no       5  0
KNQZHK+Arial                         TrueType          Custom           yes yes no       9  0
YLWHHJ+TimesNewRoman                 TrueType          Custom           yes yes no      13  0
HWNDJR+ArialBlack                    TrueType          Custom           yes yes no      17  0
QQRMEC+TimesNewRoman,Bold            TrueType          Custom           yes yes no      21  0

この問題の原因はおそらく Wingdings フォントにあると推測していますが (確実ではありませんが)、おそらくこのフォントはシステム上にはインストールされていないのでしょう。少なくとも、リストされているフォントの中で、私のシステムでは見つからないのはこのフォントだけです。

$ fc-list | grep -f <(pdffonts original.pdf | grep -oP '\+\K[A-Z][a-z]+') | awk '{print $1}'
/usr/share/fonts/TTF/times.ttf:
/usr/share/fonts/TTF/arialbd.ttf:
/usr/share/fonts/TTF/ariblk.ttf:
/usr/share/fonts/TTF/arialbi.ttf:
/usr/share/fonts/TTF/ariali.ttf:
/usr/share/fonts/TTF/timesi.ttf:
/usr/share/fonts/TTF/timesbd.ttf:
/usr/share/fonts/TTF/timesbi.ttf:
/usr/share/fonts/TTF/arial.ttf:

残念ながら、Wingdingsフォントをダウンロードしようとしましたここ、次に実行しました:

unzip wingdings.zip 
sudo cp Wingdings\ Regular.ttf /usr/share/fonts/TTF/Wingdings.ttf
fc-cache

フォントはインストールされるはずですが、gsコマンドはまだ機能しません。おそらく、このフォントをまったく処理できないのgsでしょうpdfwrite。そのため、ファイルを正しく変換する方法があるかどうかはわかりませんgs。おそらく、この問題のないオリジナルを使用するのが唯一の選択肢でしょう。

関連情報