1

現在の課題では、Adobe Creative SuitExtensionBuilderとFlashBuilderを使用してAdobeInDesignの拡張機能を作成する必要があります。これは、ExtensionBuilderとInDesignAPIを知っている人にとってはもっと質問だと思います。

この拡張機能のポイントは、一部のデータをロードし、一部のデータをサーバーに送信することです。ページのスクリーンショットを作成し、それをjpgでサーバーに送信する必要があります。ただし、ビットマップを作成する方法はありません(または少なくとも見つけることができませんでした)(このオブジェクトは単なるオブジェクトであり、DisplayObjectではないため、オブジェクトにキャストすることは不可能のようです)。

何とか静かにページをjpegとしてエクスポートしました。今はページを読み込んで送信することを考えていますが、すべてを処理するにはAIRアプリを作成する必要があるため、少しかさばります。

質問を要約すると、CS Ext.Builderを使用してInDesignのページ上のすべての要素のスクリーンキャプチャを取得するにはどうすればよいですか?

4

1 に答える 1

1

JPG へのエクスポートの問題は何ですか? ページまたはオブジェクト自体のエクスポートを選択できます。

これは私が最近のプロジェクトで書いたスニペットです。それが役に立てば幸い。

public static function getFilePath():String {

var app:com.adobe.indesign.Application = InDesign.app;
var sel:* = app.selection, oldResolution:Number, oldColorSpace:JpegColorSpaceEnum, groupItems:Array = [], i:int = 0, n:int = sel.length;

if (!sel || !n )
        {
            Alert.show("Pas de selection !", "title", Alert.OK, Sprite(mx.core.Application.application));
            return "";
        }

        for ( i = 0 ; i < n ; i ++ )
        {
            groupItems [ groupItems.length ] = sel[i];
        }
        sel = ( sel.length > 1 )? app.activeDocument.groups.add ( sel ) : sel[0] ;

        var tempFolder:File = File.createTempDirectory();
        AppModel.getInstance().jpgFolder = tempFolder;
        var jpgFile:File = new File ();
        jpgFile.nativePath = tempFolder.nativePath + "/temp.jpg";

        oldResolution = app.jpegExportPreferences.exportResolution;
        app.jpegExportPreferences.exportResolution = 72;
        oldColorSpace = app.jpegExportPreferences.jpegColorSpace;
        app.jpegExportPreferences.jpegColorSpace = JpegColorSpaceEnum.GRAY;
        sel.exportFile ( ExportFormat.jpg, jpgFile );


        app.jpegExportPreferences.jpegColorSpace = oldColorSpace;
        app.jpegExportPreferences.exportResolution = oldResolution;

        if ( sel is Group )
        {
            sel.ungroup();
            app.select ( groupItems );
        }

        return jpgFile.nativePath;
    }
于 2012-07-06T11:06:44.217 に答える