Chrome上でHTMLファイルを開いて、PDFに保存するというのをやりたくて、  
下記コードを書きましたが、コード中のappState内の"pageSize"をA3、A5、レターサイズと  
どんなに値を変えて指定しても、出力されたPDFファイルのページサイズがA4となってしまいます。  
appState内の他のプロパティ"isLandscapeEnabled"や"isHeaderFooterEnabled"の値を変えると、出力されたPDFは設定通りになっていて、動いています。  
コントロールパネル→地域→形式(F)を日本に設定した場合は、出力されたPDFファイルのページサイズがずっとA4で、  
米国に設定すると、ずっとレターサイズになってしまいます。

python初心者で、まだほとんど理解できていません。このコードのどこかが悪いでしょうか？  
ご教授をよろしくお願いします。

環境  
Python 3.9.6  
selenium 3.141.0  
Chrome 94.0.4606.71  
ChromeDriver 94.0.4606.61  
windows10

```

    from selenium import webdriver
    from selenium.webdriver.chrome.options import Options
    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.support import expected_conditions as EC
    import json
    import time
    
    def PrintSetUp():
        chopt=webdriver.ChromeOptions()
        appState = {
            "recentDestinations": [
                {
                    "id": "Save as PDF",
                    "origin": "local",
                    "account":""
                }
            ],
            "selectedDestinationId": "Save as PDF",
            "version": 2,
            "isLandscapeEnabled": False,
            "pageSize": 'A3', 
            "marginsType": 0,
            "scalingType": 3 , 
            "scaling": "100" ,
            "isHeaderFooterEnabled": False, #ヘッダーとフッター
            "isCssBackgroundEnabled": True, #背景のグラフィック
        }
        
        prefs = {'printing.print_preview_sticky_settings.appState':
                 json.dumps(appState),
                 "download.default_directory": "~/Downloads"
                 }
        chopt.add_experimental_option('prefs', prefs)
        chopt.add_argument('--kiosk-printing')
        return chopt
    
    def main_WebToPDF(BlogURL):
        chopt = PrintSetUp()
        driver_path = "C:/Work/pythonTest/Ver94/chromedriver_win32/chromedriver.exe" #webdriverのパス
        driver = webdriver.Chrome(executable_path=driver_path, options=chopt)
        driver.implicitly_wait(10) # 秒 暗示的待機 
        driver.get(BlogURL) #ブログのURL 読み込み
        WebDriverWait(driver, 15).until(EC.presence_of_all_elements_located)  # ページ上のすべての要素が読み込まれるまで待機（15秒でタイムアウト判定）
        driver.execute_script('return window.print()') #Print as PDF
        time.sleep(10) #ファイルのダウンロードのために10秒待機
        driver.quit() #Close Screen
        
    if __name__ == '__main__':
        BlogURLList=["file://C:/Work/pythonTest/1_pdf.html",
                     "file://C:/Work/pythonTest/2_pdf.html",
                     "file://C:/Work/pythonTest/3_pdf.html"]
        for BlogURL in  BlogURLList:
            main_WebToPDF(BlogURL)
    
```
CC BY-SA 4.0
2021-10-06T07:53:59.227
82916
2021-10-06T08:21:18.057
2021-10-06T08:21:18.057
3060
48514
question
python google-chrome selenium
ChromeでHTMLファイルをPDF保存時のページサイズ指定が動作しない