私は持っています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ファイルのフォントの問題)を解決するために私が主に使用する方法です。
- このコマンドが問題を引き起こすのはなぜですか? pdfの問題に対する一般的な解決策でコマンドをどのように変更しますか?
- 外部から正しいテキストを検索してコピーして貼り付けることができるように、PDFファイルの現在のバージョンを変更する方法は?実際に回復したいファイルは追加の修正を経て同じ方法で作成されました。修正を維持できるように修正したいと思います。
ありがとうございます。
答え1
私はいくつかの記事を読んで、Stack Overflowで役に立つ投稿を書いています(1、2、サム)は、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
たぶん、この問題のない元のバージョンを使用することが唯一の選択肢かもしれません。