人生初めての適応障害を患い、普通の生活が送れなくったところから、復活する経緯を綴ったブログです。その他どうも、Tです。先日、自炊したPDFファイルを圧縮するスクリプトを作成した記事を書いたのですが、「検索可能なPDFではなくなる」という問題があったのですが、解決したので備忘録です。自炊した書籍のPDFファイルをGhostscriptを使って自動で圧縮するbashスクリプトを作った話どうも、Tです。僕は本が大好きですが、多すぎて紙のまま保存できないので、自炊をしてPDFファイルで保存しています。今回の事象は、下記の前提があります。左の画像が、自炊→OCR→検索可能なPDFファイルにして、保存した検索状況です。右の画像が、gsでPDF圧縮を行った検索状況です。PDF圧縮を行うと、「カーネル」という文字は見えているのに検索できなくなってしました。原因は、PDFのフォントが圧縮時に削除されているからでした。対象のPDFファイルのファイル→プロパティから確認してみます。フォントの数が減っていることが分かりました。圧縮後でCourierフォントが埋め込みサブセットになってしまっているのは・・・よくわかりませんでした。なるかというところが、公式リファレンスでありました。output.-dCompressFontsのデフォルト値がTrueになっているため、削除されてるっぽいです。fontsを埋め込みフォントと解釈していて不要なオプションを思い込んでいました。ちなみに、「false設定は出力サイズが大きくなるためデバッグのみを目的としている」とありましたが、試してみたところ問題になるほどの大きさではなかったので、こちらのオプションで解決していきます。-dCompressFonts=falseを付けてください。input.pdfgs(Ghostscript)オプション説明-dNOPAUSE:入力ファイルを1つ処理完了したら、次の入力ファイルを処理する-dBATCH:変換処理が完了したらgsを終了する-sDEVICE=pdfwrite:ファイルの出力方式を指定。PDFファイルに変換を指定している。-dCompressFonts:フォント削除の有無を指定している。-dCompatibilityLevel=1.4:PDFバージョンを指定。ここでは1.4を指定している。-dPDFSETTINGS=/ebook:出力用途(品質)を指定。ここではebook(電子図書)を指定している。-sOutputFile:変換後の出力先パス、ファイル名を指定。検索できるか確かめるgsで圧縮したPDFファイルでも検索が使えるようになりました。左の画像が、自炊→OCR→検索可能なPDFファイルにして、保存した検索状況です。右の画像が、gsで-dCompressFonts=falseを使ったPDF圧縮を行った検索状況です。フォントの埋め込みはどうなるかちゃんと5つのフォントがありました。ちなみにフォントがMSMinchoからDroidDsansFallback(埋め込みサブセット)に置き換えられています。Minchoになり、編集モードを終えるとMSMinchoフォントが埋め込まれるようになりました。読む分に問題はなかったので放置ですが、下記の仕組みを使えば、圧縮時に操作できそうでした。用いることが基本的になっています。ファイルサイズはどうなるか-dCompressFonts=falseを使うとファイルサイズ大きくなるような注意書きがあったので念のため確認しました。オリジナルファイル:310MBPDF圧縮(-dCompressFonts=ture):20MBPDF圧縮(-dCompressFonts=false):22MB少々大きくはなりますが、許容範囲ですね。まとめちゃんと公式マニュアル読みましょうってことですね。そもそもPDFの構造をよく理解してなかったのも問題か・・・。管理人T関連記事FreeFileSyncを使って自動バックアップ環境をお金をかけずにつくるどうも、Tです。仕事のファイルや検証用の履歴ファイルをざっくり手動バックアップしたりしていたのですが、ファイル容量が多くなり煩雑にな...pixivFACTORYとBOOTHを連携してグッズ販売をする方法どうも、Tです。仕事がないので、何か新しい収入源を確保したいと思いグッズ販売に乗り出しました。グッズの作成方法も自分で作るや...Zoomの自動更新を停止する方法どうも、Tです。EmulatorをvSphereにデプロイしてみるどうも、Tです。Managerを学習する必要がありEmulatorがあったのでvSphereにデプロイしてみました。...BIGLOBEモバイルの高速通信量が上限を超えたので、使い心地を確かめてみたどうも、Tです。BIGLOBEモバイル(格安SIM)にキャリアから乗り換えて3ヶ月ほどたった。コメントをキャンセルメールアドレスが公開されることはありません。*サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。コメントデータの処理方法の詳細はこちらをご覧ください。挫折したITエンジニアの復活劇.。