我正在尝试对大型 PDF 集合进行密码保护,每个 PDF 文件使用一个密码。我想为每个 PDF 设置一个随机且唯一的密码,并在设置密码时跟踪它们。
我正在寻找一些自动化装置,既可以设置随机密码,又可以将其存储在 csv 或文本文件中以供将来参考。
答案1
使用 PDF 工具包,pdftk
。它是开源的,可以在 Windows 和 Linux 上运行。您可以按照以下示例添加密码、加密和修改权限这里
使用 128 位强度(默认)加密 PDF 并保留所有权限(默认)
pdftk mydoc.pdf output mydoc.128.pdf owner_pw foopass
与上文相同,但需要密码才能打开 PDF
pdftk mydoc.pdf output mydoc.128.pdf owner_pw foo user_pw baz
与上文相同,但允许打印(PDF 打开后)
pdftk mydoc.pdf output mydoc.128.pdf owner_pw foo user_pw baz allow printing
然后,为了自动执行大量文件的操作,您需要创建一个批处理文件(或 powershell)来进行迭代。由于 pdftk 都是命令行,所以这应该不难。我编写并测试了以下批处理文件。它有效:
@ECHO OFF
setlocal EnableDelayedExpansion
md out
for /f %%G in ('dir /b "*.pdf"') do (
call:_pwgen passwd
pdftk %%G output out/%%G user_pw !passwd!
echo '%%G', '!passwd!' >> out/passwords.csv
)
goto :EOF
:_pwgen passwd
setlocal ENABLEEXTENSIONS
set _RNDLength=8
set _Alphanumeric=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
set _Str=%_Alphanumeric%987654321
set passwd=%~1
:_LenLoop
if not "%_Str:~18%"=="" set _Str=%_Str:~9%& set /A _Len+=9& GOTO :_LenLoop
set _tmp=%_Str:~9,1%
set /A _Len=_Len+_tmp
set _count=0
set _RndAlphaNum=
:_loop
set /a _count+=1
set _RND=%Random%
set /A _RND=_RND%%%_Len%
set _RndAlphaNum=!_RndAlphaNum!!_Alphanumeric:~%_RND%,1!
if !_count! lss %_RNDLength% goto _loop
set passwd=!_RndAlphaNum!
endlocal&set %~1=%passwd%
GOTO:EOF
感谢其他讨论这里关于如何在批处理文件中生成随机密码。
答案2
如果您所在的公司要求 PDF 信息保密,则上传到任何地方都是不明智的。您会将此信息提供给该公司。
由于人们可能会尝试加密信息以保护隐私,因此这是一个难题。我建议您使用可以本地安装的软件或使用命令行选项自行完成此操作。
答案3
如何使用工具来保护你的文件,全部免费;试试看,也许可以帮助你
1.PDFProtect DFProtect 在线锁定或密码保护您的 pdf 文件,无需您在电脑上安装任何软件。它要求您上传您的 pdf 文件并将其下载回来以锁定您的 pdf 文件。http://www.pdfprotect.net/
2.Weeny Free PDF Cutter:您可以使用 weeny free pdf cutter 将 PDF 文件剪切和分割成多个文件。除了此功能之外,您还可以锁定或密码保护您的 pdf 文件。http://www.weenysoft.com/free-pdf-cutter.html
3.PrimoPDF:一种 PDF 软件,可用于将 Word 文档转换为 PDF,然后对转换后的 PDF 文件设置密码。要用密码保护您的文档,只需转到选项按钮并在 PDF 安全性下创建密码。http://download.cnet.com/PrimoPDF/3000-18497_4-10264577.html
4.Doro PDF Writer:当需要密码保护等附加选项时,您需要 Doro PDF Writer 这样的工具。它允许您从 Windows 的“打印”对话框中创建 PDF 文件,并使用密码对其进行加密,阻止复制/粘贴、打印文件等功能。http://thesz.diecru.eu/content/doro.php
答案4
最好的办法是给每个文件一个基于文件名的密码。
解决方案1(完全在线)
- 去http://md5encryption.com/,将您的 pdf 文件名粘贴到那里并复制哈希字。
- 去http://www.pdfprotect.net/,将您的哈希字符串粘贴到那里,上传您的文件并保护它。
解决方案2(部分在线)
- 去http://md5encryption.com/,将您的 pdf 文件名粘贴到那里并复制哈希字。
- 获取一些软件,例如Primo PDF设置密码。
这样,您就可以链接并告诉他可以在哪里找到该文件的密码。
希望这可以帮助。