2
activeDocument.fitArtboardToSelectedArt()

このコマンドを呼び出すと、AI 5.1/6 32 ビットおよび 64 ビット バージョンで AI がクラッシュします。メニューからコマンドを使用できます。誰かがこれに遭遇しましたか?誰かが回避策を知っていますか?

完全なコード。

    function exportFileToJPEG (dest) {
    if ( app.documents.length > 0 ) {

        activeDocument.selectObjectsOnActiveArtboard()
        activeDocument.fitArtboardToSelectedArt()//crashes here
        activeDocument.rearrangeArtboards()

        var exportOptions = new ExportOptionsJPEG();
        var type = ExportType.JPEG;
        var fileSpec = new File(dest);
        exportOptions.antiAliasing = true;
        exportOptions.qualitySetting = 70;
        app.activeDocument.exportFile( fileSpec, type, exportOptions );
    }
}
var file_name = 'some eps file.eps'
var eps_file = File(file_name)


var fileRef = eps_file;



if (fileRef != null) {
    var optRef = new OpenOptions();
    optRef.updateLegacyText = true;
    var docRef = open(fileRef, DocumentColorSpace.RGB, optRef);
}

exportFileToJPEG ("output_file.jpg")
4

1 に答える 1

6

AI CS5 でバグを再現できます。

fitArtboardToSelectedArt()アートボードのインデックスをオプションのパラメータとして取っているようです。パラメータが設定されている場合、Illustrator はクラッシュしません。(おそらく、パラメーターが渡されない状況を処理するコードのバグ)

回避策として、次を使用できます。

activeDocument.fitArtboardToSelectedArt(
               activeDocument.artboards.getActiveArtboardIndex()
                                       );

アクティブなアートボードのインデックスを関数に渡します。これがあなたにとってもうまくいくことを願っています。

また、ステートメントの末尾にあるセミコロンを決して省略しないことをお勧めします。

于 2012-07-17T20:14:15.507 に答える