You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python3.6实现Chrome自动打印/保存PDF:指定存储路径问题

嘿,我帮你搞定这个Chrome打印自定义保存路径的问题!你现在需要用Selenium控制Chrome,把只读PDF通过打印转成可写PDF,同时指定自定义保存文件夹,而不是默认的下载目录对吧?咱们直接修改Chrome的配置就能实现,下面是具体的代码调整和说明:

核心思路

Chrome的“打印另存为PDF”本质上是触发了下载行为,所以只要通过Chrome的偏好设置指定默认下载路径,同时配置打印默认目标为“保存为PDF”,就能跳过弹窗直接存到你想要的文件夹。

完整代码示例

import json
import time
from selenium import webdriver
from selenium.webdriver.chrome.options import Options

# 替换成你想要的自定义文件夹绝对路径(Windows用原始字符串或双反斜杠)
target_folder = r"C:\Your\Custom\Save\Folder"

# 配置Chrome浏览器选项
chrome_options = Options()

# 核心配置:设置下载路径+打印偏好
chrome_options.add_experimental_option("prefs", {
    # 指定自定义下载/保存路径(必须是绝对路径)
    "download.default_directory": target_folder,
    # 关闭保存弹窗提示
    "download.prompt_for_download": False,
    # 允许路径升级
    "download.directory_upgrade": True,
    # 安全浏览启用(避免拦截)
    "safebrowsing.enabled": True,
    # 配置打印默认目标为“保存为PDF”,跳过打印选择框
    "printing.print_preview_sticky_settings.appState": json.dumps({
        "recentDestinations": [{
            "id": "Save as PDF",
            "origin": "local",
            "account": ""
        }],
        "selectedDestinationId": "Save as PDF",
        "version": 2
    })
})

# 可选:启用无头模式(后台运行,不显示浏览器窗口)
chrome_options.add_argument("--headless=new")
chrome_options.add_argument("--disable-gpu")
chrome_options.add_argument("--print-to-pdf")

# 初始化浏览器并打开只读PDF
driver = webdriver.Chrome(options=chrome_options)
# 本地PDF用file:///前缀,注意路径格式(Windows要把\换成/)
driver.get("file:///C:/Path/To/Your/ReadOnly.pdf")

# 等待页面加载完成(根据文件大小调整时间)
time.sleep(2)

# 触发打印操作(模拟Ctrl+P)
driver.execute_script("window.print();")

# 等待保存完成(大文件需要延长时间)
time.sleep(5)

# 关闭浏览器
driver.quit()

关键注意事项

  • 路径必须是绝对路径:download.default_directory不能用相对路径,否则Chrome会忽略并使用默认下载文件夹
  • Windows路径格式:要么用原始字符串r"",要么把路径里的\换成\\,避免转义字符报错
  • 版本兼容性:如果你的Chrome版本较新,打印偏好的JSON结构可能有微调,要是遇到问题可以检查Chrome的打印预览设置里的状态参数
  • 等待时间:time.sleep()的时长要根据PDF文件大小调整,确保文件完全保存后再关闭浏览器

内容的提问来源于stack exchange,提问作者PKG

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 07:35:40