このpdfファイルのフォントの問題を解決するには?

このpdfファイルのフォントの問題を解決するには?

私は持っていますPDFファイル、そのテキストは明らかに正しく表示されますが、ファイルの外側を検索したり、テキストをコピーして貼り付けると表示されません。たとえば、「外部トラフィック」です。外部からコピーして貼り付ける

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で役に立つ投稿を書いています(12サム)は、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たぶん、この問題のない元のバージョンを使用することが唯一の選択肢かもしれません。

関連情報