微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决如何使用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 举报,一经查实,本站将立刻删除。