2009-09-01 6 views

Répondre

11

Comment votre modèle est-il construit? Utilise-t-il un schéma XML sous-jacent chargé dans le fichier * .docx? Ou utilisez-vous des contrôles de contenu hors du ruban Developer, auquel cas chaque contrôle est identifié de manière unique par un nom de tag donné? Ces deux approches faciliteraient l'identification de certaines sections de votre document, car vous pourriez contrôler l'emplacement des tableaux ou des paragraphes.

En outre, vous pouvez envisager d'utiliser le Open XML SDK 2.0 (utilise .NET 3.5). Il inclut un outil pratique de réflecteur de document qui vous permet d'ouvrir et d'inspecter n'importe quel document Open XML et montre comment générer le code pour n'importe quel élément sur lequel vous cliquez.

En dehors de cela, pour en savoir plus sur les contrôles de contenu, vous pouvez vérifier ces messages:

+0

A bientôt, je vais jeter un oeil à ces liens. Merci beaucoup. –

3

Pouvez-vous utiliser des variables/champs de document? Allez simplement dans Insérer-> Quick Parts-> Fields-> Doc Variable, entrez le nom de la variable.

exemple: http://www.codeproject.com/KB/office/Fill_Mergefields.aspx

Vous pouvez aussi utiliser des valeurs de texte d'espace réservé comme « ## insert_first_name ## », puis faire une recherche et remplacer pour ces variables.

exemple: http://geekswithblogs.net/DanBedassa/archive/2009/01/16/dynamically-generating-word-2007-.docx-documents-using-.net.aspx

+0

Merci pour votre réponse. Le DocVariable semble intéressant, et nous pourrions potentiellement l'utiliser pour des morceaux de texte. Cependant, cela ne règle pas le problème des tables d'identification unique. –

3

Je pense que vous cherchez soit signets, ou des contrôles de contenu (sur l'onglet Developer Ruban, exemple de code here)
Je l'ai utilisé plages nommées dans Excel dans le même but.

+0

Merci beaucoup, je vais jeter un oeil dans l'onglet Développeur dans le ruban ... J'avais oublié qu'il était là ;-) –

1

Il y a plusieurs options pour ce faire.

J'ai créé une bibliothèque Open Source simple qui remplacera les balises par des valeurs.

Par exemple Hi {name} avec data={name:"John"} sera remplacé par Hi John.

Ici, il est: https://github.com/edi9999/docxtemplater

Démo: http://javascript-ninja.fr/docxgenjs/examples/demo.html

+1

tanks @ edi9999 Cela fonctionne très bien avec .docx, mais a le même problème avec .pptx. – Massimo212121

+1

Cela fonctionne aussi avec pptx (utilisez 'PptxGen = require (" docxtemplater ").PptxGen' à la place) – edi9999

+1

merci encore @ edi9999 woks avec pptx :) – Massimo212121

Questions connexes