下载 Pdftk server:https://www.pdflabs.com/tools/pdftk-server/
如果有密码,先把带密码的PDF的转成无密码的PDF
pdftk 有密码.pdf input_pw 密码 output 无密码.pdf
如果不带密码,上一步可以跳过
提取附件(必须不带密码)
pdftk 无密码.pdf unpack_files 解压目录
如果python cmd命令时显示不存在命令,
加入 os.chdir(pdftk的bin目录)
完整代码:
<span>import</span><span> os </span><span>def</span><span> get_attachment(pdf_path,psd,pdftk_bin_folder): pdf_folder_path</span>=pdf_path.strip(pdf_path.split(<span>"</span><span></span><span>"</span>)[-1<span>]) tem_pdf_path</span>=pdf_folder_path+<span>"</span><span>temp.pdf</span><span>"</span><span> decrypt_command</span>=f<span>"</span><span>pdftk {pdf_path} input_pw {psd} output {tem_pdf_path}</span><span>"</span><span> extract_command</span>=f<span>"</span><span>pdftk {tem_pdf_path} unpack_files output {pdf_folder_path}</span><span>"</span><span> os.chdir(pdftk_bin_folder) os.system(decrypt_command) os.system(extract_command) </span><span>if</span> <span>__name__</span> == <span>"</span><span>__main__</span><span>"</span><span>: </span><span>#</span><span> pdf_path = r"C:Users86173Desktop estword2-protected.pdf"</span> <span>#</span><span> psd = "dfcver"</span> pdf_path = r<span>"</span><span>C:Users86173Desktop estword无密码1.pdf</span><span>"</span><span> psd </span>= <span>""</span><span> pdftk_bin_folder </span>= r<span>"</span><span>C:Program Files (x86)PDFtk Serverin</span><span>"</span> <span>try</span><span>: get_attachment(pdf_path,psd,pdftk_bin_folder) </span><span>print</span>(<span>"</span><span>提取成功</span><span>"</span><span>) </span><span>except</span><span> Exception as e: </span><span>print</span>(<span>"</span><span>提取失败</span><span>"</span><span>) </span><span>print</span>(e)
www#gaodaima.com来源gaodai$ma#com搞$$代**码网搞代码