2013-02-13 2 views
2

i ont créé un code java qui me permet d'imprimer png, jpg, pdf, etc, mais je suis coincé sur les fichiers docx et éventuellement d'autres types de fichiers,Comment imprimer un fichier DOCX dans java?

actuellement je suis en utilisant le code ci-dessous:

if (extension.equals("txt")) { 
      psInFormat = DocFlavor.INPUT_STREAM.AUTOSENSE; 
     } else if (extension.equals("png")) { 
      psInFormat = DocFlavor.INPUT_STREAM.PNG; 
     } else if (extension.equals("gif")) { 
      psInFormat = DocFlavor.INPUT_STREAM.GIF; 
     } else if (extension.equals("jpg")) { 
      psInFormat = DocFlavor.INPUT_STREAM.JPEG; 
     } else if (extension.equals("pdf")) { 
      psInFormat = DocFlavor.INPUT_STREAM.PDF; 
     } 

pour déterminer quel est le type de fichier à créer le ps du flux d'entrée droit pour ce type de document, puis-je modifier ce code pour inclure des fichiers doc?

+0

Mon approche serait de voir si vous pouvez utiliser OpenOffice par programme pour convertir le '.docx' en' .pdf', puis l'imprimer directement. – millimoose

+0

Merci, je peux imprimer pdfs, mais malheureusement pour ce programme, l'une des principales exigences est d'imprimer des fichiers doc – user2065929

+0

C'est pourquoi j'ai dit de ** convertir ** les docs en fichiers PDF. Je voulais dire que vous le feriez à la demande de votre application. OpenOffice devrait être automatisable, vous permettant d'invoquer ses fonctionnalités à partir d'un programme Java (ou C++), mais malheureusement c'est à peu près la quantité de choses que je sais à ce sujet. Je l'ai suggéré parce que toutes les autres réponses vous dirigent simplement vers des bibliothèques qui analysent 'docx' dans une structure de données qui pourrait vous permettre de modifier facilement des documents existants, mais qui est loin d'en imprimer une. – millimoose

Répondre

2

Une meilleure réponse que POI est d'utiliser docx4j

http://www.docx4java.org/trac/docx4j

La raison en est parce qu'il a toutes les API nécessaires pour accéder aux différents parties du paquet docx.

+0

Merci beaucoup, doit y jeter un coup d'oeil – user2065929

Questions connexes