Travailler avec les options et l'apparence des documents Word

Parfois, vous devrez peut-être modifier l’apparence d’un document, par exemple définir des préférences de langue ou le nombre de lignes par page. Aspose.Words offre la possibilité de contrôler la façon dont le document sera affiché, ainsi que certaines options supplémentaires. Cet article décrit de telles possibilités.

Définir les options d’affichage du document

Vous pouvez contrôler la façon dont un document sera affiché dans Microsoft Word à l’aide de la classe ViewOptions. Par exemple, vous pouvez définir une valeur de zoom de document à l’aide de la propriété ZoomPercent ou le mode d’affichage à l’aide de la propriété ViewType.

L’exemple de code suivant montre comment garantir qu’un document s’affiche à 50 % lorsqu’il est ouvert dans Microsoft Word:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir_WorkingWithDocument();
// Load the template document.
Document doc = new Document(dataDir + "TestFile.doc");
// Set view option.
doc.ViewOptions.ViewType = ViewType.PageLayout;
doc.ViewOptions.ZoomPercent = 50;
dataDir = dataDir + "TestFile.SetZoom_out.doc";
// Save the finished document.
doc.Save(dataDir);

Définir les options d’affichage de la page

Si vous souhaitez définir le nombre de caractères par ligne, utilisez la propriété CharactersPerLine. Vous pouvez également définir le nombre de lignes par page pour un document Word – utilisez la propriété LinesPerPage pour obtenir ou définir le nombre de lignes par page dans la grille du document.

L’exemple de code suivant montre comment définir le nombre de caractères par ligne et le nombre de lignes par page pour un document Microsoft Word:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir_WorkingWithDocument();
Document doc = new Document(dataDir + "Document.doc");
//Set the layout mode for a section allowing to define the document grid behavior
//Note that the Document Grid tab becomes visible in the Page Setup dialog of MS Word if any Asian language is defined as editing language.
doc.FirstSection.PageSetup.LayoutMode = SectionLayoutMode.Grid;
//Set the number of characters per line in the document grid.
doc.FirstSection.PageSetup.CharactersPerLine = 30;
//Set the number of lines per page in the document grid.
doc.FirstSection.PageSetup.LinesPerPage = 10;
dataDir = dataDir + "Document.PageSetup_out.doc";
doc.Save(dataDir);

Définir les préférences linguistiques

L’affichage d’un document dans Microsoft Word dépend des langues définies par défaut pour ce document. Si aucune langue n’est définie par défaut, Microsoft Word extrait les informations de la boîte de dialogue “Définir les préférences de langue d’Office”, qui se trouve, par exemple, sous “Fichier → Options → Langue” dans Microsoft Word 2019.

Avec Aspose.Words, vous pouvez également définir des préférences linguistiques à l’aide de la classe LanguagePreferences. Notez également que pour l’affichage correct de votre document, il est nécessaire de définir la version Microsoft Word à laquelle le processus de chargement du document doit correspondre – cela peut être fait en utilisant la propriété MswVersion.

L’exemple de code suivant montre comment ajouter le japonais aux langues d’édition:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET
// Create a new LoadOptions object.
LoadOptions loadOptions = new LoadOptions();
// Set language preferences that will be used when document is loading.
loadOptions.LanguagePreferences.AddEditingLanguage(EditingLanguage.Japanese);
Document doc = new Document(dataDir + @"languagepreferences.docx", loadOptions);

L’exemple de code suivant montre comment définir le russe comme langue d’édition par défaut:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET
// The path to the documents directory.
LoadOptions loadOptions = new LoadOptions();
loadOptions.LanguagePreferences.DefaultEditingLanguage = EditingLanguage.Russian;
Document doc = new Document(dataDir + @"languagepreferences.docx", loadOptions);
int localeId = doc.Styles.DefaultFont.LocaleId;
if (localeId == (int)EditingLanguage.Russian)
Console.WriteLine("The document either has no any language set in defaults or it was set to Russian originally.");
else
Console.WriteLine("The document default language was set to another than Russian language originally, so it is not overridden.");

Optimiser un document pour une version Word particulière

La méthode OptimizeFor permet d’optimiser le contenu du document, ainsi que le comportement Aspose.Words par défaut pour une version particulière de Microsoft Word. Vous pouvez utiliser cette méthode pour empêcher Microsoft Word d’afficher le ruban “Mode de compatibilité” lors du chargement du document. Notez que vous devrez peut-être également définir la propriété Compliance sur Iso29500_2008_Transitional ou une version ultérieure.

L’exemple de code suivant montre comment optimiser le contenu d’un document pour Microsoft Word 2016:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET
Document doc = new Document(fileName);
doc.CompatibilityOptions.OptimizeFor(Settings.MsWordVersion.Word2016);
dataDir = dataDir + RunExamples.GetOutputFilePath(fileName);
// Save the document to disk.
doc.Save(dataDir);