

Python+Pillow が EMF 画像ファイルを誤って開くという問題に直面しています。

まず、MS-Word 文書に Office Math を使用して数式を作成します。

次に、VBA コードを実行して EMF イメージ ファイルを作成します。

(VBA code)

[code]

    Set equation = ActiveDocument.OMaths(1)
    equation.Range.Select
    Selection.Cut
    Selection.PasteSpecial Link:=False, DataType:=wdPasteEnhancedMetafile, Placement:=wdInLine, DisplayAsIcon:=False
    
[/code]

3 番目に、Python コード (”zipfile”) を実行して Word ファイルから EMF 画像ファイルを取得し、それを Pillow
で開きます。

(Python code)

[code]

    for file in zipped_files:
    if file.startswith(image_folder):
    img_file = docx_zip.open(file)
    img_bytes = img_file.read()
    img_path = img_dir / Path(file).name
    with img_path.open(mode="wb") as f3:
    f3.write(img_bytes)
    img_file.close()
    *snip*
    img = Image.open("image1.emf")
    img.show()
    
[/code]

表示される数式はなぜか横方向に30%～70%程度縮小して表示されます。

ただし、他のビューア (Irfan View、MS-Paint など) は、MS-Word 文書から取得した EMF
画像ファイルを縮小せずに正しく開くことができます。

私のPC環境は以下の通りです。

Windows 11  
Word 2019  
Python 3.11.1  
Pillow 9.5.0

Python+Pillow で EMF 画像ファイルを正しく表示するにはどうすればよいですか?

ご存知の方がいらっしゃいましたら、ぜひご教示ください。  
よろしくお願いいたします。


CC BY-SA 4.0
2023-07-03T08:01:19.270
95451
2023-07-03T09:02:09.313
2023-07-03T09:02:09.313
3060
58955
question
python pillow
Python+Pillow が EMF 画像ファイルを誤って開くという問題に直面しています。