0

私のプログラムは、adobe ai または (eps) ファイルを作成し、それをペーストボードにコピーしたいと考えています。サンプルの ai オブジェクトを adobe illustrator にコピーし、「pasteboard inspector」でペーストボードを検査しました。

ここに画像の説明を入力

私のコードは以下の通りですが、ペーストボードには何もコピーしません:

void copyEPS(CFDataRef data)
{
    OSStatus err = noErr;
    PasteboardRef theClipboard;

    err = PasteboardCreate(kPasteboardClipboard, &theClipboard);
    // err is 0
    err = PasteboardClear(theClipboard);
    // err is 0
    PasteboardSynchronize(theClipboard);

    err = PasteboardPutItemFlavor(theClipboard, (PasteboardItemID)1,
        CFSTR("AICB"), data, 0);
    // err is 0
    CFRelease(data);
}

どうすればいいですか?ありがとうございました。

4

1 に答える 1

0

のタイプ文字列PasteboardPutItemFlavor()は UTI であるため、この場合はおそらく に設定する必要がありますCFSTR("com.adobe.encapsulated-postscript")。Cocoa API も同様の入力で使用できます。

于 2012-07-19T01:40:32.290 に答える