使用java将图像从剪贴板粘贴到ms字

时间:2013-11-18 11:04:07

标签: java

我的方案是复制图像格式的png文件并将其粘贴到MS word文档中。 我有用于将png图像复制到剪贴板的Java代码,我的问题是将其写入文档文件。使用以下代码:

import java.awt.Image;
import java.awt.Toolkit;
import java.awt.datatransfer.DataFlavor;
import java.awt.datatransfer.Transferable;
import java.awt.datatransfer.UnsupportedFlavorException;
import java.awt.image.RenderedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
/* -- get clipboard content */
public class InsertImage{
    public static void main(String args[]){
Transferable transferable = Toolkit.getDefaultToolkit().getSystemClipboard().getContents( null );
/* -- check, if contains image. If yes, try to get it */
if ( transferable != null && transferable.isDataFlavorSupported( DataFlavor.imageFlavor ) ) {
   try {  
      Image image = null;
    try {
        image = (Image)transferable.getTransferData( DataFlavor.imageFlavor );
    } catch (UnsupportedFlavorException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
         File ps_file = new File("D:\\Testingps_file.jpeg");//i need to paste the clipboard image  "D:\\Testingps_file.doc" file           
           ImageIO.write( (RenderedImage) image, "png", ps_file);       
  }
    catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
   }
}
}

我可以从剪贴板粘贴到其他图像格式(png,jpeg)。

当我尝试用.doc(“D:\ Testingps_file.doc”)替换.jpeg时,一些垃圾值以.doc文件(不可读的格式)粘贴在那里。

我是Java的初学者,如果有人为此提供解决方法,我会非常高兴。

0 个答案:

没有答案