Published On: 1970-01-01|Last Updated: 1970-01-01|Categories: Uncategorized|
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 で渡すファイル名に日本語が含まれているか、長すぎると途中で切られる可能性がある (詳細は未確認)。

一時ファイルとして書き出してからリネームするのが一番楽。

関連