我知道到目前为止他的问题已被问过很多次,但没有解决方案能够为 Ghostscript 提供正确的语法和参数,从而能够使用所有者和用户密码以及所使用的加密来保护 pdf,我使用了以下内容命令但似乎没有人工作:
gswin64 -dNOPAUSE -dBATCH -sOutputFile=d:/sec/result.pdf -sOwnerPassword=string -f d:/sec/sunday.pdf
gswin64 -dBATCH -sOutputFile=d:/sec/result.pdf -sOwnerPassword=string -f d:/sec/sunday.pdf
gswin64 -dNOPAUSE -dPermissions=3 -sOwnerPassword=string sOutputFile=d:\sec\result.pdf d:\sec\tt.pdf
我缺少任何参数吗?
对我来说这有效:
gswin64 -sDEVICE=pdfwrite -sOwnerPassword=password -sOutputFile=out.pdf test.ps
Acrobat 报告文件具有安全性“密码安全性”,不允许页面提取,其他一切都允许。
同样适用于:
gswin64 -sDEVICE=pdfwrite -sOwnerPassword=password -sOutputFile=out.pdf test.pdf
您究竟如何测试文档是否已加密?
该线程又旧了,其他答案对我不起作用。 2020 年有效的方法是:
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dBATCH -dNOPROMPT -dNOPAUSE -dQUIET -SPDFPassword=<filepasswordhere> -sOutputFile=<output_pdf_file> <input_pdf_file>
例如:名为
myfile.pdf
的文件的密码设置为 1234
,我们希望将其保存到 mynewfile.pdf
。那么,完整的命令行将是:
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dBATCH -dNOPROMPT -dNOPAUSE -dQUIET -SPDFPassword=1234 -sOutputFile=myfile.pdf mynewfile.pdf
GS版本:
$ gs -v
GPL Ghostscript 9.50 (2019-10-15)
Copyright (C) 2019 Artifex Software, Inc. All rights reserved.
2023-09-28更新:
我随机获取了一个未受保护的 pdf 文件,并使用以下命令对其进行了密码保护:
qpdf --encrypt user-password owner-password 256 -- input.pdf out.pdf
此时,为了用
out.pdf
打开evince
,我必须输入密码。正如预期的那样,user-password
或 owner-password
都有效。
我可以使用以下任一方法通过
gs
删除密码保护:
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dBATCH -dNOPROMPT -dNOPAUSE -dQUIET -SPDFPassword=user-password -sOutputFile=unprotected.pdf out.pdf
...或者这个:
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dBATCH -dNOPROMPT -dNOPAUSE -dQUIET -SPDFPassword=owner-password -sOutputFile=unprotected.pdf out.pdf
这两个命令在这里都能立即生效。
$ gs -v
GPL Ghostscript 9.55.0 (2021-09-27)
Copyright (C) 2021 Artifex Software, Inc. All rights reserved.
更新2:尝试回答OP的原始问题:
我添加此内容是为了根据 K J 的评论补充我的答案。
要使用 gs
添加密码到不受密码保护的 pdf 文档,过程非常相似:
gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=protected.pdf -dCompatibilityLevel=1.4 -sOwnerPassword=my-owner-password -sUserPassword=my-user-password -f unprotected.pdf
将
my-owner-password
和 my-user-password
替换为您要使用的密码。
以上答案对我不起作用。
(我知道这是一个相当老的话题。这个问题是在 2013 年提出的,现在是 2018 年了。:D ) 不知道,但是 Ghost 脚本文档很难。
好的。对我来说,我的 Ghostscript 版本看起来像这样。
manan@manan-EliteBook-8470p ~ $ gs -v
GPL Ghostscript 9.18 (2015-10-05)
Copyright (C) 2015 Artifex Software, Inc. All rights reserved.
有效的命令...
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dBATCH -dNOPROMPT -dNOPAUSE -dQUIET -sOwnerPassword=mypassword -sUserPassword=manan -sOutputFile=MyOutputFile.pdf MyInputFile.pdf