Как я могу скопировать eps-файл в буфер обмена?

Моя программа создает Adobe AI или (EPS) файл, и я хочу скопировать его в монтажный картон. Я скопировал образец объекта ai в Adobe Illustrator и Inspect pasteboard с помощью "Инспектора монтажных карт":

Мой код ниже, но ничего не копировать в монтажный картон:

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);
}

Как мне это сделать? Спасибо.

1 ответ

Строка типа для PasteboardPutItemFlavor() это UTI, поэтому, вероятно, его следует установить на CFSTR("com.adobe.encapsulated-postscript") в этом случае. API-интерфейсы какао также могут использоваться с аналогичными входными данными.

Другие вопросы по тегам