LinuxでPDFファイルのサイズを縮小する。
私たちのLinuxシステムには、大きなPDFファイルがある場合、そのサイズを縮小したいことがあります。このチュートリアルでは、LinuxでPDFのサイズを縮小したり、PDFファイルを圧縮するさまざまな方法を見ていきます。
この問題を解決するためのコマンドラインおよびGUIの方法を見つけましょう。
LinuxにおけるPDFファイルサイズを縮小するためのコマンドラインユーティリティ
1. GhostScriptを使用する
私たちはLinuxでghostscriptコマンドラインユーティリティを使用してPDFを圧縮することができます。
もしコマンドがあなたのマシンにない場合、パッケージマネージャーを使用してインストールすることができます。
例えば、Ubuntuではaptを使うことができます。
sudo apt install ghostscript
読みやすい品質にPDFを圧縮するためには、この魔法のコマンドを使用できます。
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/screen -dNOPAUSE -dQUIET -dBATCH -sOutputFile=output.pdf input.pdf
こちらでは、適切にoutput.pdfとinput.pdfを置き換えてください。
以下の表には、-dPDFSETTINGSオプションへのさまざまな微調整が提供されています。必要に応じて使用してください。
-dPDFSETTINGS Option | Description |
-dPDFSETTINGS=/screen |
Has a lower quality and smaller size. (72 dpi) |
-dPDFSETTINGS=/ebook |
Has a better quality, but has a slightly larger size (150 dpi) |
-dPDFSETTINGS=/prepress |
Output is of a higher size and quality (300 dpi) |
-dPDFSETTINGS=/printer |
Output is of a printer type quality (300 dpi) |
-dPDFSETTINGS=/default |
Selects the output which is useful for multiple purposes. Can cause large PDFS. |
上記のコマンドを使用して、73MBから14MBまでの圧縮を実現しました!
2. ps2pdfを利用する
以下のコマンド「ps2pdf」は、PDFをPSに変換し、効率的な圧縮を行った後、再びPDFに戻します。
必ずしも常に成功するわけではありませんが、非常に良い結果を生むこともあります。
以下の文章を日本語で自然に言い換えてください。一つのオプションだけで構いません:
Format:
I am planning to travel to Japan next month during the summer break.
ps2pdf input.pdf output.pdf
読みやすさとサイズの両方で最適なパフォーマンスを得るために、-dPDFSETTINGS=/ebooksの設定を使用することをおすすめします。ebooks形式は読みやすさに優れ、またサイズも小さいため、最適です。
ps2pdf -dPDFSETTINGS=/ebook input.pdf output.pdf
私はこの方法を73MBのPDFに試しましたが、Ghostscriptコマンドと同じ結果で、圧縮されたPDFはわずか14MBでした。
LinuxでPDFファイルのサイズを軽減するためのGUIユーティリティ
コマンドラインツールが使いづらい場合は、GUIの代替手段もあります。
集約化
これはGhostscriptのGUIフロントエンドです。Python3とGTKモジュールを使用しており、Linuxディストリビューションにインストールできます。
このパッケージはDensifyと呼ばれており、こちらから利用できます(GitHubへのリンク)。
必要な作業をすべて行うために、私はシンプルなBashスクリプトを作成しました。このBashスクリプトをルートとして実行して、必要なファイルをリンクしダウンロードしてください。
#!/bin/bash
#- HELPER SCRIPT FOR DENSIFY
#- original package https://github.com/hkdb/Densify
#- script author Vijay Ramachandran
#- site https://scdev.com
#-
# Go to your home directory (preferred)
cd $HOME
# Download the package
git clone https://github.com/hkdb/Densify
cd Densify
# Queue must be changed to queue in the file.
# Will not work otherwise
sed -i 's/Queue/queue/g' $PWD/densify
# Create the symlink to /opt
sudo ln -s $PWD /opt/Densify
# Perform the install
cd /opt/Densify
sudo chmod 755 install.sh
sudo ./install.sh
# Export to PATH
if [ $SHELL == "/bin/zsh" ]; then
if test -f $HOME/.zshrc; then
echo 'export PATH=/opt/Densify:$PATH' >> $HOME/.zshrc
source $HOME/.zshrc
else
echo "No zshrc Found! Please create a zsh config file and try again"
fi
else
if [ $SHELL == "/bin/bash" ]; then
if test -f $HOME/.bashrc; then
echo 'export PATH=/opt/Densify:$PATH' >> $HOME/.bashrc
source $HOME/.bashrc
else
if test -f $HOME/.bash_profile; then
echo 'export PATH=/opt/Densify:$PATH' >> $HOME/.bash_profile
source $HOME/.bash_profile
else
echo "No bashrc Found! Please create a bash config file and try again"
fi
fi
else
echo "Default Shell is not zsh or bash. Please add /opt/Densify to your PATH"
fi
fi
エラーがなければ、進む準備ができています! opt/densify から以下のコマンドを入力してGUIを起動するか、ダッシュボードから開いてください。
densify
GUIを使って、必要なだけのPDFファイルを圧縮できるようになりました。
参考文献
- StackOverflow question on reducing PDF size