2009-08-24 12 views
0

Existe-t-il des bibliothèques ou des API disponibles pour convertir des fichiers MHT en images? Pouvons-nous utiliser le logiciel Universal Document Converter pour cela? Appréciez toutes les pensées.convertir des fichiers MHT en images

+0

Je suppose que cette question soit liée à la programmation! – Narayan

Répondre

1

Si vous voulez vraiment faire programatically,

MHT

archivées Page Web. Lorsque vous enregistrez une page Web en tant qu'archive Web dans Internet Explorer, la page Web enregistre ces informations dans le format HTML de l'extension courrier (MHTML) de courrier électronique (MHTML) avec une extension de fichier .MHT. Tous les liens relatifs dans la page Web sont remappés et le contenu incorporé est inclus dans le fichier .MHT.

vous pouvez utiliser le JEditorPane pour convertir en une image

import javax.imageio.ImageIO; 
import javax.swing.*; 
import java.awt.*; 
import java.awt.image.BufferedImage; 
import java.beans.PropertyChangeEvent; 
import java.beans.PropertyChangeListener; 
import java.io.File; 
import java.io.IOException; 
import java.net.URL; 

public class Test { 
    private static volatile boolean loaded; 

    public static void main(String[] args) throws IOException { 
     loaded = false; 
     URL url = new URL("http://www.google.com"); 
     JEditorPane editorPane = new JEditorPane(); 
     editorPane.addPropertyChangeListener(new PropertyChangeListener() { 
      public void propertyChange(PropertyChangeEvent evt) { 
       if (evt.getPropertyName().equals("page")) { 
        loaded = true; 
       } 
      } 
     }); 
     editorPane.setPage(url); 
     while (!loaded) { 
      Thread.yield(); 
     } 

     File file = new File("out.png"); 

     componentToImage(editorPane, file); 
    } 

    public static void componentToImage(Component comp, File file) throws IOException { 
     Dimension prefSize = comp.getPreferredSize(); 
     System.out.println("prefSize = " + prefSize); 
     BufferedImage img = new BufferedImage(prefSize.width, comp.getPreferredSize().height, 
               BufferedImage.TYPE_INT_ARGB); 
     Graphics graphics = img.getGraphics(); 
     comp.setSize(prefSize); 
     comp.paint(graphics); 
     ImageIO.write(img, "png", file); 
    } 

}