在我们的Linux系统中,如果我们有一个大的PDF文件,我们可能想减少它的大小,我们将看看在本教程中减少PDF大小或压缩PDF文件的不同方式。
让我们来找出一些命令行和GUI方法来解决这个问题。
命令行工具在Linux中减少PDF文件大小
1、使用GhostScript
我们可以在Linux中使用ghostscript
命令行实用程序来压缩PDF。
如果该命令在您的机器上不可用,您可以使用您的包管理器来安装它。
例如,在Ubuntu中,你可以使用apt
:
1sudo apt install ghostscript
您可以使用这个魔法命令将 PDF 压缩到可读的质量。
1gs -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,然后再次返回,从而高效地压缩。
它可能并不总是有效的,但它可以带来非常好的结果。
• 格式:
1ps2pdf input.pdf output.pdf
建议您使用dPDFSETTINGS=/ebooks
设置以获得最佳性能,因为电子书具有最佳的可读性尺寸,并且尺寸也足够小。
1ps2pdf -dPDFSETTINGS=/ebook input.pdf output.pdf
我在一个 73MB PDF 上尝试过,它与ghostscript
命令具有相同的结果,压缩的PDF只有 14MB!
GUI 工具在 Linux 中减少 PDF 文件大小
如果您对使用命令行工具感到不舒服,还有一个GUI替代方案。
丹尼斯
这是一个GUI前端到ghostscript
,可以安装在任何Linux发行版中,因为它使用Python3
和GTK
模块。
此套件名为 Densify,并可在 [这里(链接到github)。
我创建了一个简单的bash脚本来完成所有必要的工作. 运行这个bash脚本作为根,链接和下载必要的文件。
1#!/bin/bash
2#- HELPER SCRIPT FOR DENSIFY
3#- original package https://github.com/hkdb/Densify
4#- script author Vijay Ramachandran
5#- site https://journaldev.com
6#-
7
8# Go to your home directory (preferred)
9cd $HOME
10
11# Download the package
12git clone https://github.com/hkdb/Densify
13cd Densify
14
15# Queue must be changed to queue in the file.
16# Will not work otherwise
17sed -i 's/Queue/queue/g' $PWD/densify
18
19# Create the symlink to /opt
20sudo ln -s $PWD /opt/Densify
21
22# Perform the install
23cd /opt/Densify
24sudo chmod 755 install.sh
25sudo ./install.sh
26
27# Export to PATH
28if [ $SHELL == "/bin/zsh" ]; then
29 if test -f $HOME/.zshrc; then
30 echo 'export PATH=/opt/Densify:$PATH' >> $HOME/.zshrc
31 source $HOME/.zshrc
32 else
33 echo "No zshrc Found! Please create a zsh config file and try again"
34 fi
35else
36 if [ $SHELL == "/bin/bash" ]; then
37 if test -f $HOME/.bashrc; then
38 echo 'export PATH=/opt/Densify:$PATH' >> $HOME/.bashrc
39 source $HOME/.bashrc
40 else
41 if test -f $HOME/.bash_profile; then
42 echo 'export PATH=/opt/Densify:$PATH' >> $HOME/.bash_profile
43 source $HOME/.bash_profile
44 else
45 echo "No bashrc Found! Please create a bash config file and try again"
46 fi
47 fi
48 else
49 echo "Default Shell is not zsh or bash. Please add /opt/Densify to your PATH"
50 fi
51fi
如果没有错误,你可以去! 只需从opt/densify
键入下面的命令来召唤GUI,或者从你的仪表板中打开它。
1densify
您现在可以使用 GUI 压缩所需的尽可能多的 PDF 文件!
参考
- StackOverflow 问题 关于减少 PDF 尺寸