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”; –