2017-02-05 2 views
0

J'utilise Novacode DocX pour générer un document Word (DocX) en C#. À un certain moment dans le code, j'ai une référence à un objet de paragraphe, et j'aimerais savoir à quelle page ce paragraphe est. Malheureusement, il n'y a pas d'option Pargraph.PageNumber, ou quoi que ce soit du genre.novacode docx trouver le numéro de page

Y a-t-il une solution de contournement pour cela?

+0

Je ne pense pas qu'il serait possible, puisque l'information d'échange ne sont pas inclus à l'intérieur du document docx, il ne peut être calculé que si vous rendez le docx, et je ne pense pas que Novacode sache comment rendre docx. – edi9999

+0

Je vois ce que vous voulez dire, merci pour votre réponse. Maintenant, je suis venu avec un moyen de simuler le même comportement, en utilisant une table des matières (car cela utilise des espaces réservés pour les numéros de page). Cependant, lorsque je modifie le document, la table des matières n'est pas automatiquement mise à jour. Savez-vous s'il est possible d'utiliser Novacode DocX pour forcer la mise à jour de la table des matières ou en générer une nouvelle, avec uniquement un niveau d'en-tête spécifique? – Wouter

Répondre

0

Pour générer une table de contenu que vous pouvez utiliser ce code:

DocX myDocument = DocX.Load(FilePath); 

TableOfContents ToC = fullReportDocument.InsertTableOfContents(
     title : "Your Title", 
     switches : TableOfContentsSwitches.O | TableOfContentsSwitches.H | TableOfContentsSwitches.Z | TableOfContentsSwitches.U, 
     headerStyle : null, 
     maxIncludeLevel : 2 
); 

maxIncludeLevel est probablement le paramètre que vous voulez