GNU/Linux >> Linux の 問題 >  >> Linux

LinuxでPDFファイルサイズを減らす

Linuxシステムでは、大きなPDFファイルがある場合は、そのサイズを小さくすることをお勧めします。このチュートリアルでは、LinuxでPDFサイズを縮小したりPDFファイルを圧縮したりするさまざまな方法を見ていきます。

この問題に対処するためのコマンドラインとGUIの方法をいくつか見てみましょう。

LinuxでPDFファイルサイズを縮小するコマンドラインユーティリティ

1。 GhostScriptの使用

ghostscriptを使用できます PDFを圧縮するためのLinuxのコマンドラインユーティリティ。

コマンドがマシンで使用できない場合は、パッケージマネージャーを使用してインストールできます。

たとえば、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 オプション 説明
-dPDFSETTINGS=/screen 品質が低く、サイズが小さい。 ( 72 dpi
-dPDFSETTINGS=/ebook 品質は優れていますが、サイズが少し大きくなっています( 150 dpi
-dPDFSETTINGS=/prepress 出力はより高いサイズと品質です( 300dpi
-dPDFSETTINGS=/printer 出力はプリンタタイプの品質( 300 dpi )です。 )
-dPDFSETTINGS=/default 複数の目的に役立つ出力を選択します。大きなPDFを引き起こす可能性があります。

上記のコマンドを使用して、 73MBからの圧縮を実現しました 〜 14MB

2。 ps2pdfを使用する

このコマンドps2pdf PDFをPSに変換してから元に戻し、結果として効率的に圧縮します。

常に機能するとは限りませんが、非常に良い結果が得られます。

フォーマット

ps2pdf input.pdf output.pdf

-dPDFSETTINGS=/ebooksを使用することをお勧めします 電子書籍は読みやすさのために最適なサイズであり、サイズも十分に小さいため、最高のパフォーマンスが得られるように設定します。

ps2pdf -dPDFSETTINGS=/ebook input.pdf output.pdf

73MBでこれを試しました PDFで、ghostscriptと同じ結果になりました コマンド、 14MBしかない圧縮PDF !

LinuxでPDFファイルサイズを縮小するためのGUIユーティリティ

コマンドラインツールの使用に不安がある場合は、GUIの代替手段もあります。

高密度化

これは、ghostscriptへのGUIフロントエンドです。 、Python3を使用しているため、任意のLinuxディストリビューションにインストールできます。 GTK モジュール。

このパッケージはDensifyと呼ばれます 、ここから入手できます(githubへのリンク)。

簡単なbashを作成しました 必要なすべての作業を行うためのスクリプト。このbashスクリプトをrootとして実行し、必要なファイルをリンクしてダウンロードします。

#!/bin/bash
#- HELPER SCRIPT FOR DENSIFY
#-    original package         https://github.com/hkdb/Densify
#-    script author            Vijay Ramachandran
#-    site                     https://journaldev.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ファイルを圧縮できるようになりました!

参考資料

  • PDFサイズの縮小に関するStackOverflowの質問

Linux
  1. Linuxはサイズ0のファイルを削除します

  2. Linuxでファイルサイズを監視する

  3. Linuxでファイルの物理サイズを取得するには?

  1. UbuntuLinuxでスワップサイズを増やす方法

  2. 10 Linux Strip コマンドの例 (実行ファイル/バイナリ ファイルのサイズを縮小)

  3. /etc/hosts のサイズ制限 (Linux)

  1. Linux –すべてがファイルですか?

  2. Linuxで特定のサイズのファイルを作成するには?

  3. Linuxでファイルを特定のサイズにカットする方法は?