2009-08-24 5 views
0

Существуют ли библиотеки или API-интерфейсы для конвертирования файлов MHT в изображения? Можем ли мы использовать программное обеспечение Universal Document Converter для этого? Цените любые мысли.конвертировать MHT-файлы в изображения

+0

Я предполагаю, что этот вопрос будет связано с программированием! – Narayan

ответ

1

Если вы действительно хотите сделать это программно,

MHT

архивации веб-страницы. При сохранении веб-страницы в виде веб-архива в Интернете Проводник, веб-страница сохраняет эту информацию в многоцелевом Интернете. Формат расширения электронной почты (HTML) (0): с расширением .MHT. Все относительные ссылки на веб-странице: переназначенные, а встроенный контент - , включенный в файл .MHT.

вы можете использовать JEditorPane преобразовать это в изображение

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

} 
Смежные вопросы