簡體   English   中英

如何使用 Python 和 Selenium 將具有合法大小的文檔另存為 PDF

[英]How to Save as PDF with legal size document using Python and Selenium

我有一個使用 Python、Selenium 和 Chrome webdriver 的工作腳本來將網頁保存為 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 字典中,您應該將紙張大小設置為合法。

如果您想更改為任何其他尺寸(在列表中),您可以谷歌尺寸並轉換為微米,或檢查允許您選擇紙張尺寸的下拉菜單,然后在選項中搜索您想要的尺寸,然后復制/粘貼值。

要使此解決方案起作用,這些值必須與下拉列表中的值完全匹配,否則它不會選擇並默認為 Letter。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM