[Python] Adobe Illustrator の .ai ファイルを PDF に変換する

COM 経由で操作するだけ。Illustrator のファイル形式に対応してるプログラムって全然ないよね。
ダイアログの抑制とか全然できない。超困る。無人処理とかできない。たかだかバッチ処理でスレッド起動して監視かよ。全然手軽じゃない。

import os
from win32com.client import Dispatch as CreateObject


def ai2pdf(filename):
    """see http://www.adobe.com/devnet/illustrator/pdfs/IllustratorCS3_VBScript_Reference.pdf"""

    ai = CreateObject('Illustrator.Application')
    aiDontDisplayAlerts = -1
    ai.UserInteractionLevel = aiDontDisplayAlerts

    ai.Open(filename)

    conf = CreateObject('Illustrator.PDFSaveOptions')

    dst = os.path.splitext(filename)[0] + '.pdf'
    ai.ActiveDocument.SaveAs(dst, conf)

    aiDoNotSaveChanges = 2
    ai.ActiveDocument.Close(aiDoNotSaveChanges)

SaveAs / Export で渡すファイル名に日本語が含まれているか、長すぎると途中で切られる可能性がある (詳細は未確認)。
一時ファイルとして書き出してからリネームするのが一番楽。