Comment puis-je obtenir le flux d'en-tête / pied de page dans un document de traitement de texte

StackOverflow https://stackoverflow.com/questions/190499

Question

J'ai besoin de savoir comment obtenir le flux des en-têtes et des pieds de page d'un document de traitement de texte. Je reçois le MainDocument par la MainDocumentPart d'un WordprocessingDocument. Savez-vous comment je reçois l'en-tête? J'ai essayé d'utiliser la méthode GetPartsOfType mais elle a renvoyé la valeur null.

Greets

Sébastien

Était-ce utile?

La solution

Obtenir l’en-tête et le pied de page est un peu plus complexe que d’obtenir une partie de document.

Comme cela est décrit ici (une très bonne mine d'informations), il peut y avoir de nombreux en-têtes et pieds de page dans le document et même dans une section.

Vous devez donc ouvrir cette partie du document principal et identifier l'élément w: headerReference elemnt dans l'élément section (w: sectPr). Cet en-tête référence (ou pied de page bien sûr) contient des informations sur le type d'en-tête (première page, pages impaires et paires ou général), ainsi qu'un identifiant de référence (par exemple "rId6"). En fonction de l'ID de référence, vous pouvez rechercher les références d'en-tête / pied de page (GetRelationship ()) et ainsi trouver la partie en-tête / pied de page.

Remarque: il est intéressant de noter que le type de relation des en-têtes / pieds de page était " http: / /schemas.openxmlformats.org/officeDocument/2006/relationships/header " au lieu de " http://schemas.openxmlformats.org/wordprocessingml/2006/header " qui est dans la spécification, mais puisque vous devez de toute façon rechercher l’en-tête / pied de page par l’identifiant de référence, et non le type de référence, ce n’est pas un problème en réalité.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top