[英]Get clipboard content from illustrator with java
Illustrator使用PDF和AICB作為剪貼板。 我有興趣從java中填充剪貼板作為PDF,然后能夠將其粘貼到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
我對下一步做什么一無所知。 我在過去的幾個小時里一直在努力,但它似乎並沒有帶來任何好處。 我能做什么?
您從剪貼板獲得的Transferable
已包含所有剪貼板內容。 只是你不能將它轉換為任何登記的數據風格。 如果您按原樣將其復制回剪貼板,那么它應該可以在生成它的應用程序中使用。
換句話說,您可以嘗試使自定義Transferable
具有目標應用程序可以解釋的內容和結構。 然后只需將其放入剪貼板即可粘貼。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.