如何使用Python和Selenium保存为具有合法大小文档的PDF



我有一个使用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。

相关内容

  • 没有找到相关文章

最新更新