我正在尝试创建一个脚本,通过Chrome的打印功能自动保存只读pdf,以将其另存为同一文件夹中的另一个pdf。这将删除“只读”'特征。但是,在运行脚本时,我不确定在哪里可以指定自己的特定目标文件夹,脚本会直接将其保存在“下载”文件夹中。
以下代码为https://stackoverflow.com/users/1432614/ross-smith-ii提供完整道具。
非常感谢任何帮助。
import json
from selenium import webdriver
downloadPath = r'mypath\downloadPdf\'
appState = {
"recentDestinations": [
{
"id": "Save as PDF",
"origin": "local"
}
],
"selectedDestinationId": "Save as PDF",
"version": 2
}
profile = {'printing.print_preview_sticky_settings.appState':
json.dumps(appState)}
chrome_options = webdriver.ChromeOptions()
chrome_options.add_experimental_option('prefs', profile)
chrome_options.add_argument('--kiosk-printing')
driver = webdriver.Chrome(chrome_options=chrome_options)
pdfPath = r'mypath\protected.pdf'
driver.get(pdfPath)
driver.execute_script('window.print();')
答案 0 :(得分:0)
好的,我想我找到了解决方案。只需使用以下代码附加以下行:
profile = {'printing.print_preview_sticky_settings.appState':json.dumps(appState),'savefile.default_directory':downloadPath}
它仍然不理想,因为您无法指定所需的新文件名,但它现在可以使用。
如果有人有更好的解决方案,请在此处发布。感谢