1. 安装 Ghostscript

Windows

  1. 下载 Ghostscript:
  1. 安装后,记住 Ghostscript 的安装路径,通常是:
C:\Program Files\gs\gs10.00.0\bin\
  1. gswin64c.exe 添加到系统环境变量,方便在命令行中使用。

Mac & Linux

使用 Homebrew(Mac)或包管理器(Linux)安装:

brew install ghostscript  # Mac
sudo apt install ghostscript # Ubuntu/Debian
sudo dnf install ghostscript # Fedora

2. 使用 Ghostscript 压缩 PDF

命令格式

gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/screen -dNOPAUSE -dQUIET -dBATCH -sOutputFile=output.pdf input.pdf

参数解释

  • -sDEVICE=pdfwrite → 选择 PDF 输出模式

  • -dCompatibilityLevel=1.4 → 设定 PDF 兼容级别(1.4 兼容大多数 PDF 读者)

  • -dPDFSETTINGS=/screen → 选择压缩质量(下面有更多选项)

  • -dNOPAUSE -dQUIET -dBATCH → 让命令运行时不暂停、不显示详细信息

  • -sOutputFile=output.pdf → 设置输出文件

  • input.pdf → 你的原始 PDF 文件

不同压缩等级

你可以更改 -dPDFSETTINGS 以选择不同压缩质量:

选项 作用 适用场景
/screen 最强压缩,低质量 仅用于屏幕阅读
/ebook 中等压缩,中等质量 适合电子书阅读
/printer 适中压缩,高质量 适合打印
/prepress 低压缩,高质量 用于出版印刷
/default 默认压缩 介于 /screen/printer 之间

例如:

gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/ebook -dNOPAUSE -dQUIET -dBATCH -sOutputFile=compressed.pdf input.pdf

3. PDF 转换(格式互转)

Ghostscript 可将 PDF 转换为 JPG、PNG、TIFF、EPS、PS 等格式:

gs -sDEVICE=pngalpha -r300 -o output.png input.pdf
  • -sDEVICE=pngalpha → 转换为 PNG(支持透明背景)

  • -sDEVICE=jpeg → 转换为 JPEG

  • -sDEVICE=tiffg4 → 转换为黑白 TIFF(适合传真)

示例:PDF 转图片

gs -sDEVICE=jpeg -dJPEGQ=90 -r300 -o output.jpg input.pdf
  • -dJPEGQ=90 → 设置 JPEG 质量(0-100)

  • -r300 → 分辨率 300 DPI(适合打印)


4. PDF 合并(多个 PDF 文件合并)

Ghostscript 可以将多个 PDF 文件合并成一个:

gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile=merged.pdf file1.pdf file2.pdf file3.pdf

5. PDF 页面拆分(按页拆分)

提取 PDF 的某些页面:

gs -sDEVICE=pdfwrite -dNOPAUSE -dBATCH -sPageList=1,3,5 -sOutputFile=output.pdf input.pdf
  • -sPageList=1,3,5 → 仅保留第 1、3、5 页

6. PDF 加密 & 解密

加密 PDF(设置密码)

gs -sDEVICE=pdfwrite -dBATCH -dNOPAUSE -q -sOutputFile=secure.pdf -dOwnerPassword=ownerpass -dUserPassword=userpass input.pdf
  • -dOwnerPassword=ownerpass → 设置 所有者密码(可更改权限)

  • -dUserPassword=userpass → 设置 用户密码(只读)

解密 PDF(移除密码)

如果你知道 PDF 密码,可以使用:

gs -sDEVICE=pdfwrite -dNOPAUSE -dBATCH -sOutputFile=unlocked.pdf -c .setpdfwrite -f input.pdf

7. PostScript (PS) 和 PDF 互转

Ghostscript 主要是一个 PostScript 解释器,因此可以轻松处理 PS 和 PDF:

  • PS 转 PDF

    gs -sDEVICE=pdfwrite -sOutputFile=output.pdf input.ps
  • PDF 转 PS

    gs -sDEVICE=ps2write -sOutputFile=output.ps input.pdf

8. 更改 PDF 版本

如果你需要转换 PDF 版本(如 PDF 1.7 降级为 PDF 1.4),可以这样做:

gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -sOutputFile=output.pdf input.pdf
  • -dCompatibilityLevel=1.4 → 转换为 PDF 1.4

总结:Ghostscript 主要用于

PDF 压缩(降低文件大小)

PDF 转图片(JPG、PNG、TIFF)

PDF 合并 & 拆分(多文件合并、提取特定页面)

PDF 加密 & 解密(设置或移除密码)

格式转换(PDF PostScript)

开源PDF处理工具——Ghostscript的安装和使用的更多相关文章

  1. 开源图像标注工具labelme的安装使用及汉化

    一 LabelMe简介 labelme是麻省理工(MIT)的计算机科学和人工智能实验室(CSAIL)研发的图像标注工具,人们可以使用该工具创建定制化标注任务或执行图像标注,项目源代码已经开源. 项目开 ...

  2. 惠普开源的通信测试工具Seagull的安装体会

    1. 为省事起见,先下载安装包,发现依赖库版本太低,没法运行.于是源码编译安装.主要参考:https://github.com/codeghar/Seagull,似乎http://gull.sourc ...

  3. 微软开源自动机器学习工具NNI安装与使用

    微软开源自动机器学习工具 – NNI安装与使用   在机器学习建模时,除了准备数据,最耗时耗力的就是尝试各种超参组合,找到最佳模型的过程了.对于初学者来说,常常是无从下手.即使是对于有经验的算法工程师 ...

  4. Mac 10.12安装PDF浏览工具Foxit Reader

    说明:永久没费的跨平台PDF浏览工具. 下载: (链接: https://pan.baidu.com/s/1pLEAoXH密码: is5j)

  5. Linux 性能测试工具 sysbench 的安装与简单使用

    文章目录 Linux 性能测试工具 sysbench 的安装与简单使用        一 背景        二 实验环境            2.1 操作系统            2.2 其他配 ...

  6. [转载] 一共81个,开源大数据处理工具汇总(下),包括日志收集系统/集群管理/RPC等

    原文: http://www.36dsj.com/archives/25042 接上一部分:一共81个,开源大数据处理工具汇总(上),第二部分主要收集整理的内容主要有日志收集系统.消息系统.分布式服务 ...

  7. 可视化日志分析工具Gltail的安装与使用

    可视化日志分析工具Gltail的安装与使用      GlTail.rb 是一款带有浓郁的 Geek 风格的可视化日志分析工具,它采用 Ruby 技术构建,并利用 OpenGL 图形技术进行渲染,呈现 ...

  8. Android开源项目发现--- 工具类网络相关篇(持续更新)

    1. Asynchronous Http Client for Android Android异步Http请求 项目地址:https://github.com/loopj/android-async- ...

  9. Android 开源项目android-open-project工具库解析之(一) 依赖注入,图片缓存,网络相关,数据库orm工具包,Android公共库

    一.依赖注入DI 通过依赖注入降低View.服务.资源简化初始化.事件绑定等反复繁琐工作 AndroidAnnotations(Code Diet) android高速开发框架 项目地址:https: ...

  10. 【重磅】微软开源自动机器学习工具 - NNI

    [重磅]微软开源自动机器学习工具 - NNI 在机器学习建模时,除了准备数据,最耗时耗力的就是尝试各种超参组合,找到模型最佳效果的过程了.即使是对于有经验的算法工程师和数据科学家,有时候也很难把握其中 ...

随机推荐

  1. C#实现文件的压缩和解压缩

    原文链接:https://www.cnblogs.com/sunyaling/archive/2009/04/13/1434602.html 在C#中实现文件的压缩和解压缩,需要使用第三方的组建完成. ...

  2. ABB喷涂机器人控制柜维护保养

    ABB喷涂机器人的管理与维护保养目的是减少机器人的故障率和停机时间,充分利用机器人这一生产要素,最大限度地提高产效率.喷涂机器人维修与保养在企业生产中尤为重要,直接影响到系统的寿命,必须精心维护. A ...

  3. element vue 动态单选_VUE 动态构建混合数据Treeselect选择树,同时解决巨树问题

    今天在项目中需要通过行政区域选择,然后选择该行政区域下面的景区,也就是要构建行政区划.景区两表数据表的树.全国的行政区域到县已经3500多了,再加上景区会有几万个点,这棵选择树不论是在后台还是在前台构 ...

  4. D pid(16916) tid(19140) 14:05:45 EdgeSnapFeature::PostExitSizeMove: WM_TWINVIEW_SHOW_GRIDLINES -> off

    D pid(16916) tid(19140) 14:05:45 EdgeSnapFeature::PostExitSizeMove: WM_TWINVIEW_SHOW_GRIDLINES -> ...

  5. Linux Centos7 下使用yum安装redis

    更改yum源 由于CentOS官方yum源里面没有Redis,这里我们需要安装一个第三方的yum源,这里用了Fedora的epel仓库: yum install epel-release 安装redi ...

  6. C++基础练习案例 - 模拟时钟系统 [DOS]

    大学时期初学C++,做了些案例练习,想着整理一下,供自己和网友翻阅参考,谢谢支持!有个[模拟时钟系统]做的还可以. [PS]存在一些小问题,如编写习惯等,文末有简单小结,请自行辨析.算是提供不良模板, ...

  7. C#语法糖foreach语句和using语句联合使用

    foreach语句可以和using语句联合使用,比如你需要对多个相机设备进行一些设置,设置完就调用 Dispose() 释放相机资源, 这时可以这样写: 模拟的设备类: class Device : ...

  8. 李沐动手学深度学习V2-chapter_linear-networks

    李沐动手学深度学习V2 文章内容说明 本文主要是自己学习过程中的随手笔记,需要自取 课程参考B站:https://space.bilibili.com/1567748478?spm_id_from=3 ...

  9. browser-use 对 playwright 做了哪些事情

    browser-use 是基于 Playwright 的增强工具,专注于将 AI 代理与浏览器自动化结合,通过简化操作和扩展功能提升了开发效率. 以下是它对 Playwright 的主要增强点: AI ...

  10. JDK各个版本发布时间和版本名称

    版权 版本 名称 发行日期 JDK 1.0 Oak(橡树) 1996-01-23 JDK 1.1   1997-02-19 JDK 1.1.4 Sparkler(宝石) 1997-09-12 JDK ...