Comment travailler avec les paramètres du document dans .NET
Ce guide montre comment travailler avec les paramètres de document au niveau de l’application dans Aspose.Words FOSS pour .NET: commutateurs de compatibilité hérités, préférences d’hyphénation, configuration de publipostage stockée, options d’affichage et protection en écriture. Aspose.Words FOSS pour .NET est disponible via NuGet ou en le compilant à partir du code source.
Guide étape par étape
Étape 1: Obtenir la bibliothèque
Clonez le dépôt et compilez Aspose.Words.sln en configuration Release, puis ajoutez une référence de projet à Aspose.Words.csproj de votre propre projet .NET, comme décrit dans le Guide d’installation. Ajoutez using Aspose.Words; and using Aspose.Words.Settings; en haut de tout fichier qui lit ou écrit les paramètres du document.
Étape 2: définir les options de compatibilité héritées
Document.CompatibilityOptions (une instance CompatibilityOptions) contient des dizaines d’interrupteurs booléens qui reproduisent des comportements de mise en page et d’espacement spécifiques aux versions plus anciennes de Word — par exemple GrowAutofit, UseWord2010TableStyleRules, AdjustLineHeightInTable, AlignTablesRowByRow, NoExtraLineSpacing, SuppressSpacingAtTopOfPage et SpacingInWholePoints. Définissez directement les propriétés individuelles dont vous avez besoin; OptimizeFor(MsWordVersion) est présent dans la classe mais lance NotImplementedException dans cette version, il n’existe donc aucun raccourci qui applique un profil de version complet en une fois.
Étape 3: Configurer les préférences de césure
Document.HyphenationOptions (une instance HyphenationOptions) stocke les préférences de césure de Word pour le document : AutoHyphenation, ConsecutiveHyphenLimit, HyphenateCaps et HyphenationZone. Ces propriétés font l’aller-retour de la requête dans le fichier enregistré; comme cette édition ne possède aucun moteur de mise en page, les ruptures de césure elles-mêmes sont calculées par Word lorsqu’il ouvre et pagine le fichier, et non par Aspose.Words FOSS.
Étape 4: Lire et écrire la configuration de publipostage
Document.MailMergeSettings (une instance MailMergeSettings) stocke la configuration de publipostage enregistrée dans le document — MainDocumentType, CheckErrors, Destination, DataSource, DataType, Query, ConnectString, MailSubject, MailAsAttachment, ActiveRecord et ViewMergedData — ainsi que Clear() et Clone(). Pour une source de données externe connectée via le mécanisme Office Data Source Object de Word, MailMergeSettings.Odso expose une instance Odso (DataSource, DataSourceType, TableName, ColumnDelimiter, FirstRowContainsColumnNames), dont les collections FieldMapDatas et RecipientDatas décrivent le mappage des champs et la liste des destinataires. La lecture et l’écriture de cette configuration stockée sont disponibles dans cette édition open-source; l’exécution du publipostage lui-même contre une source de données en direct est une préoccupation distincte, hors du champ de cette page.
Étape 5: Configurer les paramètres d’affichage du document
Document.ViewOptions (une instance ViewOptions) contrôle la façon dont Word affiche le fichier une fois ouvert : ViewType, ZoomType, ZoomPercent, DisplayBackgroundShape, DoNotDisplayPageBoundaries et FormsDesign. Ces propriétés sont des préférences stockées qui n’influencent que l’affichage du document par Word — elles n’ont aucune incidence sur la façon dont Aspose.Words FOSS traite lui-même le fichier.
Étape 6: Appliquer la protection en écriture
Document.WriteProtection (une instance WriteProtection) expose IsWriteProtected et ReadOnlyRecommended, avec SetPassword() pour établir un mot de passe de protection et ValidatePassword() pour vérifier un mot de passe candidat contre celui-ci. Appelez SetPassword() avant de définir IsWriteProtected = true, et utilisez ValidatePassword() plutôt que de stocker ou comparer vous-même la chaîne de mot de passe brute.
Problèmes courants et solutions
CompatibilityOptions.OptimizeFor() throws NotImplementedException. Cette méthode n’est pas implémentée dans cette version. Définissez les CompatibilityOptions propriétés booléennes dont vous avez besoin directement à la place.
Changing ViewOptions.ZoomPercent n’a aucun effet visible sur la sortie générée. ViewOptions est une préférence d’affichage stockée lue par Word, pas quelque chose que Aspose.Words FOSS applique lui-même pendant le traitement. Aucun correctif nécessaire — c’est prévu.
WriteProtection.ValidatePassword() renvoie de façon inattendue false. SetPassword() n’a jamais été appelé, ou un mot de passe différent a été défini. Appelez SetPassword() d’abord pour établir le mot de passe protégé avant la validation.
La configuration de publipostage est enregistrée mais le publipostage ne s’exécute pas. MailMergeSettings and Odso stocke uniquement la configuration du publipostage ; cette édition open-source n’exécute pas le publipostage elle-même. Lisez la configuration stockée et appliquez votre propre logique de remplissage des champs.
Foire aux questions
Est-ce que CompatibilityOptions.OptimizeFor() fonctionne?
Non — il génère NotImplementedException dans cette version. Définissez directement les propriétés CompatibilityOptions individuelles dont vous avez besoin.
Comment protéger un document par mot de passe contre les modifications?
Appelez WriteProtection.SetPassword() sur Document.WriteProtection, puis définissez IsWriteProtected pour activer la protection.
Est-ce que HyphenationOptions et ViewOptions modifient l’apparence du document lorsque Aspose.Words FOSS le traite?
Non. Les deux sont des préférences enregistrées que Word applique lui-même lorsqu’il ouvre et affiche le fichier; cette édition ne possède aucun moteur de mise en page pour les traiter directement.
Où puis-je trouver la configuration de la source de données de publipostage pour une source de données externe?
MailMergeSettings.Odso — ses collections FieldMapDatas et RecipientDatas décrivent le mappage des colonnes et l’état d’inclusion des destinataires.
Quelle est la différence entre Document.CompatibilityOptions et Document.ViewOptions?
CompatibilityOptions commutateurs reproduisent les particularités de mise en page et d’espacement des anciennes versions de Word ; ViewOptions contrôle la façon dont l’interface de Word affiche le fichier (zoom, marques de formatage). Aucun n’est calculé par Aspose.Words FOSS lui-même.