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