在Linux上减小PDF文件大小
在我们的Linux系统中,如果我们有一个大型的PDF文件,我们可能希望减小它的大小。在本教程中,我们将讨论在Linux中减小PDF大小或压缩PDF文件的不同方法。
让我们找出一些命令行和图形界面的方法来处理这个问题。
在Linux中,有命令行工具可以减小PDF文件的大小。
使用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!
使用ps2pdf。
这个命令ps2pdf将PDF文件转换为PS文件,然后再将其转换回来,从而有效地压缩文件。
可能不总是有效,但它可以取得非常好的结果。
请用中文将以下内容进行改写,只需要提供一种选项:
格式:
ps2pdf input.pdf output.pdf
推荐您使用-dPDFSETTINGS=/ebooks设置以获得最佳性能,因为电子书在可读性方面具有最佳尺寸,并且体积也足够小。
ps2pdf -dPDFSETTINGS=/ebook input.pdf output.pdf
我已经在一个大小为73MB的PDF上尝试过了,结果与Ghostscript命令相同,压缩后的PDF只有14MB。
用于在Linux系统中减少PDF文件大小的图形界面工具
如果你不习惯使用命令行工具,也有图形界面的替代选择。
加密
这是一个针对Ghostscript的GUI前端,可以安装在任何Linux发行版上,因为它使用Python3及其GTK模块。
这个软件包名为Densify,可以在这里(链接到GitHub)找到。
我已经创建了一个简单的bash脚本来完成所有必要的工作。作为root用户运行这个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输入以下命令来调用图形用户界面,或者从仪表盘打开它。
densify
现在,您可以使用图形用户界面压缩任意数量的PDF文件!
参考资料
- StackOverflow question on reducing PDF size