在 Linux 中减小 PDF 文件大小

2023-11-07

在我们的 Linux 系统中,如果我们有一个很大的 PDF 文件,我们可能想减小它的大小。在本教程中,我们将了解在 Linux 中减小 PDF 大小或压缩 PDF 文件的不同方法。

让我们找出一些命令行和 GUI 方法来处理这个问题。


在 Linux 中减小 PDF 文件大小的命令行实用程序

1.使用GhostScript

我们可以使用ghostscriptLinux 中用于压缩 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 and 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 to 14MB!

Ghostscript Reduce Pdf Size
Ghostscript Reduce Pdf Size

2.使用ps2pdf

这个命令ps2pdf将 PDF 转换为 PS,然后再转换回来,从而有效地压缩它。

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

Format:

ps2pdf input.pdf output.pdf

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

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

我已经尝试过这个73MBPDF 的结果与ghostscript命令,压缩的 PDF 仅具有14MB!

Ps2pdf Reduce Pdf Size
Ps2pdf Reduce Pdf Size

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

如果您对使用命令行工具感到不舒服,还有一个 GUI 替代品。

Densify

这是一个 GUI 前端ghostscript,它可以安装在任何 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://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
Densify Gui Utility
Densify Gui Utility

您现在可以使用 GUI 根据需要压缩任意数量的 PDF 文件!


参考

  • StackOverflow问题关于减小 PDF 大小

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Linux 中减小 PDF 文件大小 的相关文章

  • chrom for ubuntu (Chrominum)的安装

    原文链接 http www ubuntugeek com how to install chromium google chrome in ubuntu using deb package html Chrominum的安装 1 编辑 et
  • centos7 RPM包之rpm命令

    RPM包与源码包的区别 1 软件包分类 源码包 C源代码包 rpm包 编译之后的二进制包 2 源码包 优点 开源 可以自由选择所需功能 可看源代码 卸载方便 直接删除安装位置 缺点 安装步骤过多 编译时间过长 3 RPM包 优点 使用简单
  • Linux命令-fsync

    对fsync命令只做简单介绍 不做详细原理解释 通过man命令查看fsync 2 函数有以下共识 1 fsync函数是属于系统核心函数 2 调用fsync函数会将修改的数据和文件描述符的属性持久化到存储设备中 3 fsync函数将内核缓存的
  • 计算机网络--linux下poll函数详解

    poll函数概述 select 和 poll 系统调用的本质一样 poll 的机制与 select 类似 与 select 在本质上没有多大差别 管理多个描述符也是进行轮询 根据描述符的状态进行处理 但是 poll 没有最大文件描述符数量的
  • Vi介绍及常用命令

    简要介绍 由加州大学伯克利分校 Bill Joy 研究开发 文本 编辑器有很多 比如图形模式的gedit kwrite OpenOffice 文本模式下的 编辑器有vi vim vi的增强版本 vi和vim是我们在Linux中最常用的 编辑
  • NGINX 作为 Node 或 Angular 应用程序的反向代理

    反向代理是一种从一个或多个上游服务器为客户端检索资源的服务器 它通常将自己置于专用网络中的防火墙后面 并将客户端请求转发到这些上游服务器 反向代理极大地提高了任何 Web 应用程序的安全性 性能和可靠性 许多用 NodeJS 或 Angul
  • 如何在 Ubuntu 18.04 上安装/卸载 NodeJS

    NodeJS 是一个 JavaScript 框架 可让您轻松构建快速的网络应用程序 在本指南中 我们将深入研究如何在 Ubuntu 18 04 上安装 NodeJS 步骤 1 将 NodeJS PPA 添加到 Ubuntu 18 04 首先
  • 在 Linux 中减小 PDF 文件大小

    在我们的 Linux 系统中 如果我们有一个很大的 PDF 文件 我们可能想减小它的大小 在本教程中 我们将了解在 Linux 中减小 PDF 大小或压缩 PDF 文件的不同方法 让我们找出一些命令行和 GUI 方法来处理这个问题 在 Li
  • 从hash函数到王小云的MD5破解

    理论计算机初步 从hash函数到王小云的MD5破解 摘自http zhiqiang org blog 446 html Zhang Zi September 18 2006 8 51 pm Filed under Computer Scie
  • 在 Ubuntu 18.04 上使用 Nginx 安装 WordPress

    WordPress是最受欢迎的开源内容管理系统 CMS 之一 与 Drupal 或 Joomla 等其他 CMS 相比 拥有高达 60 的市场份额 WordPress 可用于开发任何类型的网站 无论是博客 小型企业还是大型企业 凭借其免费和
  • error:expected '=',',',';','asm'or'_attribute_'

    今天在Linux上调一个存包队列 当用gcc编译时 出现error expected asm or attribute 等错误 这个错误是出现在两个函数上 这两个函数的返回类型是bool 当我把bool类型改为void 再进行编译时 错误就
  • Linux/UNIX 中的 ls 命令

    ls 命令是日常 Linux UNIX 操作中最常用的命令之一 该命令用于列出目录内的内容 是初学者从一开始就学习的少数命令之一 在本指南中 我们将讨论 Linux 中的常见 ls 命令以及可与该命令一起使用的其他参数 使用不带任何参数的
  • Linux用户态和内核态

    1 用户态和内核态的概念区别 究竟什么是用户态 什么是内核态 这两个基本概念以前一直理解得不是很清楚 根本原因个人觉得是在于因为大部分时候我们在写程序时关注的重点和着眼的角度放在了实现的功能和代码的逻辑性上 先看一个例子 1 例子 void
  • 用Vmware和vm tools虚拟机装Linux Ubuntu16 配置anaconda python3环境 安装tensorflow/tflearn

    Authoried by Monana Contact me via hemonan vip 163 com 本教程适合虚拟机 也适合不用虚拟机直接用Linux系统的 0 安装前的准备答疑 1 很多人都会有疑问 我到底在虚拟机里装linux
  • truss 命令

    truss 命令用途跟踪进程的系统调用 动态装入的用户级函数调用 接收的信号和造成的机器故障 语法truss f c a l d D e i t x Syscall s Signal m Fault r w FileDescriptor u
  • Linux/Unix 中的 AWK 命令

    AWK 适用于模式搜索和处理 该脚本运行以搜索一个或多个文件以识别匹配模式以及所述模式是否执行特定任务 在本指南中 我们将了解 AWK Linux 命令并了解它的功能 AWK 可以执行哪些操作 逐行扫描文件 将每个输入行拆分为字段 将输入行
  • Ubuntu18.04 windows10双系统安装解决grub引导问题

    最近给服务器的电脑升级了ubuntu18 直接用u盘安装 老是说grub引导问题 网上有很多教程真的坑人 说的含含糊糊的 不知道在卖弄什么关子 我参照这两个教程解决了安装问题 十分钟就装好了 感谢你们 https blog csdn net
  • select函数详解

    select函数的功能和调用顺序 使用select函数可以完成非阻塞方式工作的程序 它能够监视我们需要监视的文件描述符的变化情况 读写或是异常 非阻塞方式 non block 就是进程或线程执行此函数时不必非要等待事件的发生 一旦执行肯定返
  • C语言函数操作大全----(超详细)

    fopen 打开文件 相关函数 open fclose 表头文件 include
  • 在 Linux 中创建分区 - 分步指南

    在本教程中 我们将介绍在 Linux 中创建分区的步骤 这可以帮助您为特定用途分配不同的内存区域 创建分区还可以帮助您在计算机上安装多个操作系统 并最大限度地减少磁盘损坏时的损坏 如何在Linux中创建分区 在本教程中 我们将使用 fdis

随机推荐

  • 如何在 CentOS 7 上安装 TeamViewer

    团队查看器是一个跨平台的解决方案 可用于计算机之间的远程控制 桌面共享和文件传输 TeamViewer 是专有计算机软件 不包含在 CentOS 存储库中 在本教程中 我们将逐步完成在 CentOS 7 上安装 TeamViewer 所需的
  • Linux 重启(重启)命令

    当内核更新时 除非您使用Livepatch或KernelCare 否则您需要重新启动Linux系统 在其他情况下也可能需要重新启动系统 例如 排除硬件问题 安装应用程序等时 如果您运行的是无头 Linux 服务器 您需要知道如何从命令行重新
  • 如何创建可启动的 Linux USB 驱动器

    通常 在笔记本电脑或 PC 上安装某些 Linux 发行版的全新副本时 您需要一个包含要安装的发行版的可启动 USB 本教程将引导您完成在 Windows macOS 和 Linux 计算机上创建可启动 Linux USB 记忆棒所需的步骤
  • 如何在 Debian 10 上安装 Visual Studio Code

    视觉工作室代码是微软开发的免费开源跨平台代码编辑器 它具有内置的调试支持 嵌入式Git控制 语法突出显示 代码完成 集成终端 代码重构和片段 可以使用扩展来扩展 Visual Studio Code 功能 本教程介绍如何在 Debian 1
  • 如何检查 PostgreSQL 版本

    PostgreSQL 通常简称为 Postgres 是一个开源通用对象关系数据库管理系统 在某些情况下 了解系统上安装并运行的 PostgreSQL 服务器版本可能很重要 例如 如果您要安装需要特定 PostgreSQL 版本的应用程序 则
  • 如何在 Ubuntu 20.04 上安装 R

    R 是一种开源编程语言和免费环境 专门从事统计计算和图形表示 它主要由统计学家和数据挖掘人员用于开发统计软件和执行数据分析 本文介绍了在 Ubuntu 20 04 上安装 R 所需的步骤 先决条件 在继续本教程之前 请确保您已满足以下先决条
  • 如何在 Debian 10 上安装 TeamViewer

    团队查看器是一款跨平台应用程序 可用于远程控制 桌面共享 在线会议以及计算机之间的文件传输 本教程介绍如何在 Debian 10 Buster 上安装 TeamViewer 先决条件 在继续本教程之前 请确保您以以下身份登录具有 sudo
  • 如何在 Python 中注释

    编写 Python 代码时 让代码简洁且易于理解始终是一个好习惯 组织代码 为变量和函数指定描述性名称是实现此目的的几种方法 提高代码可读性的另一种方法是使用注释 注释是用于解释代码的人类可读的解释或注释 例如 如果您编写了一个复杂的正则表
  • 如何在 Debian Linux 9 上安装 VirtualBox

    虚拟盒子是一款开源跨平台虚拟化软件 允许您同时运行多个来宾操作系统 虚拟机 本教程介绍如何在 Debian 9 上安装最新的 VirtualBox 6 0 先决条件 您需要以以下身份登录具有 sudo 访问权限的用户能够在 Debian 系
  • 如何在 Debian 10 上安装 TensorFlow

    TensorFlow是谷歌打造的一个开源机器学习平台 它可以在不同设备上的CPU或GPU上运行 TensorFlow 可以在 Python 虚拟环境中安装在系统范围内 作为Docker容器 或使用 Anaconda 在本教程中 我们将解释如
  • 如何在 Ubuntu 16.04 上将 Apache Web 根移动到新位置

    介绍 在 Ubuntu 上 默认情况下 Apache2 Web 服务器将其文档存储在 var www html 它通常与操作系统的其余部分一起位于根文件系统上 但有时 将文档根移动到另一个位置会很有帮助 例如单独安装的文件系统 例如 如果您
  • 如何在 Ubuntu 16.04 上使用 Apache 和 mod_wsgi 为 Django 应用程序提供服务

    介绍 Django 是一个功能强大的 Web 框架 可以帮助您快速启动 Python 应用程序或网站 Django 包含一个简化的开发服务器 用于在本地测试代码 但对于任何与生产稍微相关的事情 都需要更安全 更强大的 Web 服务器 在本指
  • Java线程等待、通知和notifyAll示例

    java中的Object类包含三个final方法 允许线程就资源的锁定状态进行通信 这些方法是wait notify and 通知全部 那么今天我们就来研究一下java程序中的wait notify和notifyAll Java中的等待 通
  • Systemd 要点:使用服务、单位和期刊

    介绍 近年来 Linux 发行版越来越多地从其他 init 系统过渡到systemd The systemd工具套件提供了快速灵活的初始化模型 用于从启动开始管理整个机器 在本指南中 我们将向您快速介绍您在管理应用程序时需要了解的最重要的命
  • Primefaces FileUpload 组件示例教程

    今天我们将研究 Primefaces FileUpload 组件 HTML 为您提供file输入标签来选择文件 但是我们需要更多信息才能将文件上传到服务器 Primefaces 为您提供现成的解决方案 消除了这种负担文件上传组件帮助您创建漂
  • 如何在 CentOS 7 上为 Nginx 创建自签名 SSL 证书

    介绍 TLS 或传输层安全 及其前身SSL代表安全套接字层 是用于将正常流量包装在受保护的加密包装器中的 Web 协议 使用此技术 服务器可以在服务器和客户端之间安全地发送流量 而不会出现消息被外部各方拦截的可能性 证书系统还帮助用户验证他
  • 如何在 Angular Material 中使用自定义 SVG 图标

    介绍 The 角材料库提供了一套采用 Material Design 风格的 Angular 组件 其中一个这样的组件是
  • 如何在 Ubuntu 12.04 上安装 MongoDB

    Status 已弃用 本文介绍不再受支持的 Ubuntu 版本 如果您当前运行的服务器运行 Ubuntu 12 04 我们强烈建议您升级或迁移到受支持的 Ubuntu 版本 升级到Ubuntu 14 04 从 Ubuntu 14 04 升级
  • React Router v6 抢先体验

    在撰写本文时 React Router v6 仍处于 alpha 阶段 但现在是时候开始使用它并探索未来的发展了 本指南将带您了解新功能 变化 如您所知 主要维护者分叉了反应路由器项目创建一个轻量级替代品 称为到达路由器2018年初 在此期
  • 在 Linux 中减小 PDF 文件大小

    在我们的 Linux 系统中 如果我们有一个很大的 PDF 文件 我们可能想减小它的大小 在本教程中 我们将了解在 Linux 中减小 PDF 大小或压缩 PDF 文件的不同方法 让我们找出一些命令行和 GUI 方法来处理这个问题 在 Li