开源PDF处理工具——Ghostscript的安装和使用
1. 安装 Ghostscript
Windows
- 下载 Ghostscript:
选择适合你的 Windows 版本的安装包(通常是
gs**w64.exe)。
- 安装后,记住 Ghostscript 的安装路径,通常是:
C:\Program Files\gs\gs10.00.0\bin\
- 将
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的安装和使用的更多相关文章
- 开源图像标注工具labelme的安装使用及汉化
一 LabelMe简介 labelme是麻省理工(MIT)的计算机科学和人工智能实验室(CSAIL)研发的图像标注工具,人们可以使用该工具创建定制化标注任务或执行图像标注,项目源代码已经开源. 项目开 ...
- 惠普开源的通信测试工具Seagull的安装体会
1. 为省事起见,先下载安装包,发现依赖库版本太低,没法运行.于是源码编译安装.主要参考:https://github.com/codeghar/Seagull,似乎http://gull.sourc ...
- 微软开源自动机器学习工具NNI安装与使用
微软开源自动机器学习工具 – NNI安装与使用 在机器学习建模时,除了准备数据,最耗时耗力的就是尝试各种超参组合,找到最佳模型的过程了.对于初学者来说,常常是无从下手.即使是对于有经验的算法工程师 ...
- Mac 10.12安装PDF浏览工具Foxit Reader
说明:永久没费的跨平台PDF浏览工具. 下载: (链接: https://pan.baidu.com/s/1pLEAoXH密码: is5j)
- Linux 性能测试工具 sysbench 的安装与简单使用
文章目录 Linux 性能测试工具 sysbench 的安装与简单使用 一 背景 二 实验环境 2.1 操作系统 2.2 其他配 ...
- [转载] 一共81个,开源大数据处理工具汇总(下),包括日志收集系统/集群管理/RPC等
原文: http://www.36dsj.com/archives/25042 接上一部分:一共81个,开源大数据处理工具汇总(上),第二部分主要收集整理的内容主要有日志收集系统.消息系统.分布式服务 ...
- 可视化日志分析工具Gltail的安装与使用
可视化日志分析工具Gltail的安装与使用 GlTail.rb 是一款带有浓郁的 Geek 风格的可视化日志分析工具,它采用 Ruby 技术构建,并利用 OpenGL 图形技术进行渲染,呈现 ...
- Android开源项目发现--- 工具类网络相关篇(持续更新)
1. Asynchronous Http Client for Android Android异步Http请求 项目地址:https://github.com/loopj/android-async- ...
- Android 开源项目android-open-project工具库解析之(一) 依赖注入,图片缓存,网络相关,数据库orm工具包,Android公共库
一.依赖注入DI 通过依赖注入降低View.服务.资源简化初始化.事件绑定等反复繁琐工作 AndroidAnnotations(Code Diet) android高速开发框架 项目地址:https: ...
- 【重磅】微软开源自动机器学习工具 - NNI
[重磅]微软开源自动机器学习工具 - NNI 在机器学习建模时,除了准备数据,最耗时耗力的就是尝试各种超参组合,找到模型最佳效果的过程了.即使是对于有经验的算法工程师和数据科学家,有时候也很难把握其中 ...
随机推荐
- 如何在Spring Boot项目中添加国密SM4加密支持?——基于过滤器的实现
如何在Spring Boot项目中添加国密SM4加密支持呢?--基于过滤器的实现 引言 在数字化时代,数据安全至关重要,尤其是在API交互过程中,确保传输数据的安全性是保护隐私和机密信息的关键.中 ...
- MySQL - [06] 测试数据
题记部分 一.死神测试数据 嗷嗷待"补" 二.火影忍者测试数据 -- 忍村表 create table hy_villages( VillageID INT PRIMARY KEY ...
- 深度科普 - 大名鼎鼎的bun.js到底是什么? 它能否替代node.js? 是否能成为前端生态的未来?
什么是bun? 聪明的小伙伴们,你们在接触bun时是否有过这样的疑问呢? bun.js是什么? 它是如何诞生的? 跟node.js的区别是什么? 有什么优势? 目前的发展情况如何了? 他是否是前端的未 ...
- 探秘Transformer之(8)--- 位置编码
探秘Transformer之(8)--- 位置编码 0x00 概述 位置编码(Positional Embedding)是一种用于处理序列数据的技术,被用来表示输入序列中的单词位置.在Transfor ...
- MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
MongoDB 8.0这个新功能碉堡了,比商业数据库还牛 引言 MongoDB 8.0已经推出有一段时间了,相比之前的版本推出的新功能,8.0版本的新功能集中在提升性能和可维护性上面,可以说是目前性能 ...
- 附035.Kubernetes_v1.25.3高可用部署架构二
目录 部署组件 kubeadm介绍 kubelet介绍 kubectl介绍 方案概述 方案介绍 部署规划 节点规划 主机名配置 变量准备 互信配置 环境初始化 部署高可用组件 HAProxy安装 Ke ...
- Vue3组合式API终极指南:从原理到实战,彻底掌握高效开发!
前言 在Vue3从发布到今天,组合式API已成为现代前端开发的标杆设计模式.本文通过真实项目场景,深度解析组合式API的核心特性,配以完整代码示例,助你彻底掌握企业级Vue应用开发精髓. 一.为什么组 ...
- 通过 JS 修改具体标签的属性的属性值
博客地址:https://www.cnblogs.com/zylyehuo/ window.addEventListener('DOMContentLoaded', function() { var ...
- Oracle删除用户及用户下的全部数据
1.查看用户 select * from all_users select * from user_users select * from dba_users 2.查看用户的连接状况 select ...
- g2o优化库实现曲线拟合
g2o优化库实现曲线拟合 最近学习了一下g2o优化库的基本使用,尝试着自己写了一个曲线拟合的函数,也就是下面这个多项式函数: \[y = ax^3 + bx^2 + cx + d \] 我们以 \(a ...