如何解决如何使用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。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。