Apache POI de conversion *.doc *.html avec des images
Il y a un fichier DOC qui contient une image. Comment faire pour convertir au format HTML avec image?
J'ai essayé d'utiliser cet exemple:
Convertir Word doc au format HTML par programmation en Java
public class Converter {
...
private File docFile, htmlFile;
try {
FileInputStream fos = new FileInputStream(docFile.getAbsolutePath());
HWPFDocument doc = new HWPFDocument(fos);
Document newDoc = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument();
WordToHtmlConverter wordToHtmlConverter = new WordToHtmlConverter(newDoc) ;
wordToHtmlConverter.processDocument(doc);
StringWriter stringWriter = new StringWriter();
Transformer transformer = TransformerFactory.newInstance().newTransformer();
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
transformer.setOutputProperty(OutputKeys.ENCODING, "utf-8");
transformer.setOutputProperty(OutputKeys.METHOD, "html");
transformer.transform(
new DOMSource(wordToHtmlConverter.getDocument()),
new StreamResult(stringWriter)
);
String html = stringWriter.toString();
try {
BufferedWriter out = new BufferedWriter(
new OutputStreamWriter(new FileOutputStream(htmlFile), "UTF-8")
);
out.write(html);
out.close();
} catch (IOException e) {
e.printStackTrace();
}
JEditorPane jEditorPane = new JEditorPane();
jEditorPane.setContentType("text/html");
jEditorPane.setEditable(false);
jEditorPane.setPage(htmlFile.toURI().toURL());
JScrollPane jScrollPane = new JScrollPane(jEditorPane);
JFrame jFrame = new JFrame("display html file");
jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jFrame.getContentPane().add(jScrollPane);
jFrame.setSize(512, 342);
jFrame.setVisible(true);
} catch(Exception e) {
e.printStackTrace();
}
...
}
Mais l'image est perdue.
La la documentation pour la WordToHtmlConverter
classe est dit ce qui suit:
...cette mise en œuvre n'est pas de créer des images ou des liens vers eux. Cette
peut être modifié en remplaçant
AbstractWordConverter.processImage(Element, boolean, Picture)
méthode.
Comment convertir DOC en HTML avec des images?
OriginalL'auteur Aleksey Bykov | 2012-12-11
Vous devez vous connecter pour publier un commentaire.
Votre meilleur pari dans ce cas est d'utiliser Apache Tika, et laisser envelopper Apache POI pour vous. Apache Tika va générer le code HTML de votre document (ou texte brut, mais vous voulez le code HTML de votre dossier). Parallèlement à cela, il va mettre dans des espaces réservés pour les ressources incorporées, les balises img pour les images incorporées, et de vous fournir un moyen d'obtenir le contenu des ressources incorporées et les images.
Il y a un très bon exemple de faire figurer dans Alfresco, HTMLRenderingEngine. Vous aurez probablement envie de revoir le code, puis rédigez votre propre à faire quelque chose de très similaire. Le code il inclut un gestionnaire de contenu personnalisé qui permet la modification des balises img, pour ré-écrire les attributs src, vous pouvez ou ne pouvez pas besoin que selon l'endroit où vous allez écrire les images.
veuillez s'il vous plaît fournir des détails sur la façon dont vous avez travaillé sur ce problème, des liens utiles ?
OriginalL'auteur Gagravarr
Étendre WordToHtmlConverter et remplacer processImageWithoutPicturesManager.
Utiliser la nouvelle classe lors de l'analyse de document, comme indiqué ci-dessous
merci pour cet homme!
OriginalL'auteur raok1997