【问题标题】:Get clipboard content from illustrator with java使用 java 从 illustrator 获取剪贴板内容
【发布时间】:2015-11-30 17:38:21
【问题描述】:

Illustrator 使用 PDF 和 AICB 作为剪贴板。 我有兴趣从 java 中将剪贴板填充为 PDF,然后将其粘贴到 Illustrator 中。

我认为首先尝试其他方式可能更容易。所以从illustrator复制到java。

如果我在 Illustrator 中复制一些圆圈,则来自 Clipboard 的方法 getTransferDataFlavors 不会返回任何 DataFlavor。 对于所有isDataFlavorSupported,我得到了一个错误。

import java.awt.datatransfer.*;
import java.awt.Toolkit;

public class ClipBoardTest {


    public static void main(String[] args) {

        Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();

        Transferable content = clipboard.getContents(null);
        if (content != null) {

            DataFlavor[] dataFlavors = content.getTransferDataFlavors();

            for (DataFlavor df : dataFlavors) {
                System.out.println(df.getHumanPresentableName());
                System.out.println("---");
            }


            System.out.println(content.isDataFlavorSupported(DataFlavor.stringFlavor));
            System.out.println(content.isDataFlavorSupported(DataFlavor.imageFlavor));
            System.out.println(content.isDataFlavorSupported(DataFlavor.allHtmlFlavor));
            System.out.println(content.isDataFlavorSupported(DataFlavor.fragmentHtmlFlavor));
            System.out.println(content.isDataFlavorSupported(DataFlavor.selectionHtmlFlavor));
            System.out.println(content.isDataFlavorSupported(DataFlavor.javaFileListFlavor));


            DataFlavor myDF = new DataFlavor("application/pdf", "PDF");
            System.out.println(content.isDataFlavorSupported(myDF));

        }

    }

}

输出:

false
false
false
false
false
false
false

我不知道下一步该做什么。在过去的几个小时里,我一直在尝试一些事情,但它似乎并没有取得任何进展。我能做什么?

【问题讨论】:

    标签: java clipboard adobe-illustrator


    【解决方案1】:

    您从剪贴板获得的Transferable 已经包含所有剪贴板内容。只是您无法将其转换为任何入伍数据风格。如果您按原样将其复制回剪贴板,那么它应该可以粘贴到生成它的应用程序中。

    反之,您可以尝试使您的自定义Transferable 具有目标应用程序可以解释的内容和结构。然后只需将其放入剪贴板即可粘贴。

    【讨论】:

      猜你喜欢
      • 2013-07-23
      • 2011-09-18
      • 1970-01-01
      • 2023-02-08
      • 2012-03-26
      • 2021-01-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多