在Linux中减少PDF文件大小

时间:2020-02-23 14:41:42  来源:igfitidea点击:

在我们的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 OptionDescription
-dPDFSETTINGS=/screenHas a lower quality and smaller size. (72 dpi)
-dPDFSETTINGS=/ebookHas a better quality, but has a slightly larger size (150 dpi)
-dPDFSETTINGS=/prepressOutput is of a higher size and quality (300 dpi)
-dPDFSETTINGS=/printerOutput is of a printer type quality (300 dpi)
-dPDFSETTINGS=/defaultSelects the output which is useful for multiple purposes. Can cause large PDFS.

我已经使用上面的命令实现了从73MB到14MB的压缩!

2.使用ps2pdf

此命令" ps2pdf"将PDF转换为PS,然后再次转换为PS,从而有效地对其进行压缩。

它可能并不总是有效,但可以带来很好的效果。

格式:

ps2pdf input.pdf output.pdf

建议您使用-dPDFSETTINGS =/ebooks设置以获得最佳性能,因为电子书具有最佳的可读性,而且尺寸也足够小。

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

我已经在73MB的PDF上进行了尝试,其结果与ghostscript命令相同,压缩后的PDF只有14MB!

GUI实用程序可减少Linux中PDF文件的大小

如果您对使用命令行工具不满意,也可以选择使用GUI。

Densify

这是ghostscript的GUI前端,可以使用任何Python发行版安装,因为它使用了Python3和GTK模块。

这个包叫做Densify,可以在这里找到(链接到github)。

我创建了一个简单的bash脚本来完成所有必要的工作。
以超级用户身份运行此bash脚本,以链接和下载必要的文件。

#!/bin/bash
#- HELPER SCRIPT FOR DENSIFY
#-    original package         https://github.com/hkdb/Densify
#-    script author            Vijay Ramachandran
#-    site                     https://theitroad.local
#- 

# 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