Trabajar con opciones y apariencia de documentos de Word

A veces es posible que necesite cambiar la apariencia de un documento, por ejemplo, establecer preferencias de idioma o el número de líneas por página. Aspose.Words brinda la capacidad de controlar cómo se mostrará el documento, así como algunas opciones adicionales. Este artículo describe tales posibilidades.

Establecer opciones de visualización de documentos

Puede controlar cómo se mostrará un documento en Microsoft Word utilizando la clase ViewOptions. Por ejemplo, puede establecer un valor de zoom del documento utilizando la propiedad ZoomPercent o el modo de visualización utilizando la propiedad ViewType.

El siguiente ejemplo de código muestra cómo garantizar que un documento se muestre al 50% cuando se abre en 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);

Establecer opciones de visualización de página

Si desea establecer el número de caracteres por línea, utilice la propiedad CharactersPerLine. También puede establecer el número de líneas por página para un documento de Word; use la propiedad LinesPerPage para obtener o establecer el número de líneas por página en la cuadrícula del documento.

El siguiente ejemplo de código muestra cómo establecer el número de caracteres por línea y el número de líneas por página para un documento 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);

Establecer preferencias de idioma

La visualización de un documento en Microsoft Word depende de los idiomas configurados como predeterminados para este documento. Si no se establecen idiomas predeterminados, Microsoft Word toma información del cuadro de diálogo “Establecer preferencias de idioma de Office”, que, por ejemplo, se puede encontrar en “Archivo → Opciones → Idioma” en Microsoft Word 2019.

Con Aspose.Words, también puedes configurar las preferencias de idioma usando la clase LanguagePreferences. También tenga en cuenta que para la visualización correcta de su documento es necesario configurar la versión Microsoft de Word con la que debe coincidir el proceso de carga del documento; esto se puede hacer usando la propiedad MswVersion.

El siguiente ejemplo de código muestra cómo agregar japonés a los idiomas de edición:

// 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);

El siguiente ejemplo de código muestra cómo configurar el ruso como idioma de edición predeterminado:

// 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.");

Optimizar un documento para una versión particular de Word

El método OptimizeFor permite optimizar el contenido del documento, así como el comportamiento Aspose.Words predeterminado para una versión particular de Microsoft Word. Puede utilizar este método para evitar que Microsoft Word muestre la cinta “Modo de compatibilidad” al cargar el documento. Tenga en cuenta que es posible que también deba establecer la propiedad Compliance en Iso29500_2008_Transitional o superior.

El siguiente ejemplo de código muestra cómo optimizar el contenido del documento para 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);