我有一个使用Python、Selenium和Chrome网络驱动程序的工作脚本,可以将网页保存为PDF。但是,我需要将它们保存在法定大小的文档(216 x 356毫米(上,而我当前的脚本仅以字母大小(216 x 279毫米(保存文件。
这是我目前拥有的代码:
# Attach printing options to webdriver
app_state = {
"recentDestinations": [
{
"id": "Save as PDF",
"origin": "local",
"account": ""
}
],
"selectedDestinationId": "Save as PDF",
"isCssBackgroundEnabled": True,
"isHeaderFooterEnabled": False,
"isLandscapeEnabled": True,
"version": 2
}
prefs = {
'printing.print_preview_sticky_settings.appState': json.dumps(app_state)
}
chrome_options = webdriver.ChromeOptions()
chrome_options.add_experimental_option('prefs', prefs)
chrome_options.add_argument('--kiosk-printing')
driver = webdriver.Chrome(options=chrome_options)
是否有使用法定尺寸保存文档的方法(或以任何方式更改纸张尺寸(?
我一直在寻找其他的首选项和选项来更改纸张设置和/或尺寸,但运气不佳。
谢谢!
如果添加
"mediaSize": {"height_microns": 355600, "width_microns": 215900}
在appState字典中,您应该将纸张大小设置为legal。
如果您想更改为任何其他尺寸(即列表中的尺寸(,您可以在谷歌上搜索尺寸并转换为微米,或者检查允许您选择纸张尺寸的下拉列表,然后在选项中搜索所需尺寸,并复制/粘贴值。
要使此解决方案工作,值必须与下拉列表中的值完全匹配,否则将不会选择并默认为Letter。