comment ajouter une image à un .docx document avec Apache POI XWPF en java
J'ai créé un simple docx Document, à l'aide de Java PI 3.7. XWPF. Ensuite, j'ai ajouté une image à l'
à l'aide de la Méthode XWPFDocument.addpicture(byte[] arg0, int arg1)
.
XWPFDocument docx = new XWPFDocument();
XWPFParagraph par = docx.createParagraph();
XWPFRun run = par.createRun();
run.setText("Hello, World. This is my first java generated docx-file. Have fun.");
run.setFontSize(13);
InputStream pic = new FileInputStream("logo.jpg");
byte [] picbytes = IOUtils.toByteArray(pic);
docx.addPicture(picbytes, Document.PICTURE_TYPE_JPEG);
Depuis taille du fichier docx grandit, la photo a été ajoutée "physiquement" à la fin du document; mais il n'est pas affiché dans MS Word. Semble qu'il y est une référence à l'image manquante dans le document.
Quelle est la façon de le faire? Comment est l'image de la manipulation fait avec apache POI? Et où sont plus de tutoriels sur le web, il n'y a presque pas de documents ou des tutoriels pour XWPF, ce qui explique la manipulation des paragraphes, les courses, etc.
La seule chose que j'ai trouvé à ce sujet est ici: https://issues.apache.org/bugzilla/show_bug.cgi?id=49765 mais il ne permet pas à tous.
Merci beaucoup à l'avance.
Oui, la seule différence est que, dans PVE 3.8 beta 4 le nom de la méthode XWPFDocument.addPicture(byte[] arg0, int arg1) est modifié à la XWPFDocument.addPictureData(byte[] arg0, int arg1) - peut-être souligner que cette méthode n'ajoute que les données d'image dans le document, mais ne pas ajouter l'image dans un paragraphe à être montré dans word, etc. La question de savoir comment ce faire reste encore sans réponse. Je pense que CTPicture objet ( org.openxmlformats.les schémas.drawingml.x2006.image.CTPicture) doit être créé et ajouté un paragraphe - par contre, je n'ai pas trouvé comment faire.
Avez-vous essayer d'appeler addPicture sur le texte où vous voulez que votre image s'affichent?
XWPFParagraph par = docx.createParagraph(); XWPFRun run = par.createRun(); run.addPicture(pic, XWPFDocument.PICTURE_TYPE_JPEG, "logo.JPG",300,300);
ne fonctionne pas, le document n'est pas lisible par MS Word.
OriginalL'auteur tsd.tom | 2011-10-06
Vous devez vous connecter pour publier un commentaire.
Je sais que ce post est très vieux mais encore je vous poste la réponse, afin que tous ceux qui sont à la recherche pour cette réponse peut l'utiliser.
Pour l'insertion de l'image dans le document word, vous devez écrire deux programmes. La première est :-
Maintenant ici, j'ai utilisé "CustomeXwPFDocument" dans ce code, et vous n'aurez pas les importations par le biais de n'importe quel fichier jar, donc vous devez en ajouter un autre .classe java dans votre colis. le code pour "CustomXWPFDocument" classe comme ceci:-
Utiliser POI 3.9 pots pour ce programme. La meilleure adresse est:-
http://www.apache.org/dyn/closer.cgi/poi/release/bin/poi-bin-3.9-20121203.zip
Maintenant, vous êtes prêt à voler. Le meilleur de la chance.
createPicture
méthode est n'importe où vous voulez.Rajan: Est-il possible d'ajouter une image dans une page en particulier et de la ligne et également avec le centre de l'alignement?
mec je pense que c'est possible, mais je suis désolé que je ne vais pas être en mesure de vous aider sur ce point. Je travaillais sur un PI l'année dernière sur une très petite cession, mais je pense que ce que tu dis est possible. De bien vouloir jouer avec le code et je pense que vous obtiendrez la réponse.Je suis vraiment désolé de ne pas être en mesure de vous aider.
votre code a beaucoup aidé,mais pouvez-vous me dire comment je peux ajouter une image dans l'en-tête à l'aide de ce code
apache poi 3.13 (février 2016) a toujours le problème
OriginalL'auteur Amitabh Ranjan
La solution élégante est à venir, découvrez:
https://issues.apache.org/bugzilla/show_bug.cgi?id=55476
Vous pouvez soit attendre jusqu'à ce que mon patch soit accepté et publié ou essayer d'appliquer le patch pour la dernière POI SVN (http://poi.apache.org/subversion.html, l'accès en lecture seule lien de travail) et la construction de POI pots de sources.
L'approche suggérée par le dnt.tom:
{}
icône).la solution élégante est pas encore ici, février 2016
OriginalL'auteur user2712331
Le bug du lien que vous avez fourni a en fait une solution de travail:
https://issues.apache.org/bugzilla/show_bug.cgi?id=49765#c15
Il nécessite une certaine quantité de hackery mais je sais que je l'utilise et il fonctionne certes!
OriginalL'auteur Wix
J'ai utilisé docx4j et trouvé de travail.J'ai essayé avec POI mais pas capable de le faire fonctionner.Veuillez trouver le code pour l'utilisation docx4j.
}
OriginalL'auteur Pradeep
OriginalL'auteur siva
Parce Que XWPFRun.addPicture ne fonctionne pas (dommage xdoc fichier) j'ai réussi à l'image comme ceci:
Et en cours d'exécution exemple:
OriginalL'auteur Maq