2015-09-04 16 views
7

Illustrator uygulaması, pano için PDF ve AICB kullanır. Amblemi java içinden PDF olarak doldurmak için Illustrator uygulamasına yapıştırmak istiyorum.Illustrator'dan pano içeriğinin ipten görüntülenmesi Al

İlk önce başka yollardan denemenin daha kolay olduğunu düşündüm. Bu yüzden illustrator'dan java'ya kopyalayın.

Illustrator'da bazı daireler kopyalarsam, Clipboard numaralı getTransferDataFlavors yöntemi herhangi bir DataFlavors döndürmez. Ve tüm isDataFlavorSupported için yanlış alıyorum.

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

     } 

    } 

} 

çıkışı:

false 
false 
false 
false 
false 
false 
false 

sonraki ne yapacağını clueless değilim. Son birkaç saat boyunca bir şeyler deniyorum ama hiçbir yere gitmiyor gibi görünüyor. Ne yapabilirdim?

cevap

1

Panodan alabileceğiniz Transferable zaten tüm pano içeriğini içerir. Sadece, listelenen veri tatlarından herhangi birine dönüştüremezsiniz. Panoya olduğu gibi geri kopyalarsanız, o zaman onu üreten uygulamada yapıştırılabilir olmalıdır.

Diğer yol için, özel Transferable ürününü, içeriği ve hedef uygulama tarafından yorumlanabilecek yapıya sahip hale getirmeyi deneyebilirsiniz. Daha sonra sadece yapıştırılabilir, böylece yapıştırılabilir.