0
我的程序創建adobe ai或(eps)文件,我想將其複製到粘貼板。 我在Adobe Illustrator複製樣品AI對象,並通過「紙板檢查」檢查紙板:如何將eps文件複製到剪貼板/粘貼板?
我的代碼以下,但複製沒什麼紙板:
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);
}
我該怎麼辦呢? Thankyou。
我用「com.adobe.encapsulated-postscript」和eps數據複製到粘貼板,但InDesign或Illustrator不粘貼它,如果我使用「dyn.ah62d4rv4gk8ycwndkk」作爲類型,它粘貼到這兩個程序(接受爲eps)並且一切正常,你知道如何生成「dyn.ah62d4rv4gk8ycwndkk」字符串嗎?我一直使用UTTypeCreatePreferredIdentifierForTag,但我不知道什麼通過「inTag」參數來生成「dyn.ah62d4rv4gk8ycwndkk」。謝謝。 –
我相信'UTTypeCreatePreferredIdentifierForTag()'是唯一的方法。在這種情況下,對於前兩個參數,「kUTTagClassOSType」和「CFSTR(」AICB「)」看起來很不錯。不幸的是,我不知道你是否會得到相同的'dyn。*'字符串;我不知道所有Mac電腦上的字符串是否相同,或者即使在重新啓動時計算機上的字符串相同。用作原始字符串可能不可靠。 –
使用kUTTagClassOSType和CFSTR(「AICB」)生成的「dyn.agk8ycwndkk」; –