Mise à jour d'un .fichier docx page en-tête à l'aide d'Apache POI
-
12-11-2019 - |
Question
Comment puis-je mettre à jour la page en-tête d'un .docx
fichier à l'aide de l'Apache POI 3.7 de l'API?
La solution
premier up, appelez Getheaderfooterpolicy () sur votre XWPFDocument, qui renvoie un Headerfooterpolicy .De cela, vous pouvez identifier l'en-tête approprié pour votre page (par exemple, la première page, etc.)
Une fois que vous avez le XWPFHeader Que vous souhaitez modifier, vous pouvez également y modifier comme tout autre document.Vous pouvez récupérer les tables, les paragraphes, etc., puis les supprimer, ajouter de nouveaux, modifier le texte d'eux, etc. C'est tout le même processus que modifiant le document principal.
Autres conseils
Depuis votre document est en .docx
format, vous aurez besoin d'utiliser la XWPF de l'API du composant de la PI du projet.Vous pouvez trouver la org.apache.poi.xwpf.usermodel.XWPFHeader
classe utile (Javadoc), mais je n'ai jamais utilisé moi-même.
Je ne pouvais pas trouver une bonne référence pour cela, avec XWPF, mais les instructions suivantes décrivent la accès des en-têtes avec HWPF, les analogues de l'interface pour les vieux documents Word (AKA .doc
docs):
Pour obtenir les en-têtes et pieds de page d'un document Word, créez d'abord un
org.apache.poi.hwpf.HWPFDocument
.Ensuite, vous devez créer unorg.apache.poi.hwpf.usermodel.HeaderStores
, passant votreHWPFDocument
.Enfin, l'HeaderStores
vous donne accès aux en-têtes et pieds de page, y compris le premier / pair / impair page s'définis dans votre document.En outre,HeaderStores
fournit une méthode pour enlever toutes les macros dans le texte, ce qui est utile, car de nombreux en-têtes et pieds de page de macros.
L' page de ces instructions sont de implique que l'en-tête de support n'a jamais été que de bonnes HWPF, sans parler de XWPF.Pour plus de mauvaises nouvelles, cette autre page de votre serveur Apache le fait ressembler à XWPF développement n'a quasiment pas progressé.Il est possible que ce que vous voulez faire, c'est prévu mais pas encore pris en charge.
Découvrez écrire des documents Microsoft Word en Java avec Java avecApache Poi
Je n'ai jamais travaillé avec le fichier Word avant, mais tout fait avec une bibliothèque de POI pour Excel Stuff, ils sont assez faciles à suivre (ils modélisent la ligne, la colonne, la feuille, etc. pour Excel), donc je suppose qu'ils seront tout aussi faciles àfaire pour les fichiers de mots.
et faire une lecture rapide sur leur guide Apache POI - HWPF - API Java pour gérer les fichiers Microsoft Word