Hatena::ブログ(Diary)

chrono-meterの日記 このページをアンテナに追加 RSSフィード

2008-03-18

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

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

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/chrono-meter/20080318/p1