使用 Ghostscript 为PDF文件设置密码
linux中命令行使用
# 加密
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dNOPAUSE -dQUIET -dBATCH -sUserPassword=password -sOwnerPassword=password -sOutputFile=output.pdf input.pdf
# 解密
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dNOPAUSE -dQUIET -dBATCH -sPDFPassword=password -sOutputFile=output.pdf input.pdf
以上命令在linux环境中测试通过,只要环境中有gs,可直接使用
windows环境中命令行参数相同,进程名为gswin32c.exe
,可以在Ghostscript官网下载,我也有将资源上传,可以直接下载Ghostscript 10.03.1,如果不想安装,只需要这个进程,可以用压缩软件打开gs10031w32.exe
,将gswin32c.exe
和gsdll32.dll
拷贝出来使用,dll库不能缺少
命令行中的各参数含义解析
参数 | 含义 |
---|---|
加密 | |
-sDEVICE=pdfwrite | 处理驱动为PDF |
-dCompatibilityLevel=1.4 | 设置生成PDF 的版本为 1.4 以上版本兼容 |
-dNOPAUSE | 每一页转换之间没有停顿,无需用户手动确认 |
-dQUIET | 执行过程中尽可能少的输出日志等信息 |
-dBATCH | 执行结束后退出程序,一般和-dQUIET 配合使用 |
-sUserPassword=password | 设置普通用户密码,设置后需要输入该密码才可以打开PDF文件,无法单独设置,必须同时设置OwnerPassword |
-sOwnerPassword=password | 设置管理员密码,设置后需要输入该密码才可以编辑PDF文件,可以单独设置 |
-sOutputFile=output.pdf | 输出文件,填全路径 |
input.pdf | 输入文件,填全路径 |
解密 | |
-sPDFPassword=password | 解密命令密码,需要传入加密时设置的OwnerPassword |
更多参数的使用可以通过man gs
进行查询,仅列举出需要的参数,供大家参考
如有问题,请帮忙指出,会及时修改更新,谢谢