Trabajar con Opciones y Apariencia de Documentos de Word

A veces, es posible que deba cambiar la apariencia de un documento, por ejemplo, establecer preferencias de idioma o el número de líneas por página.Aspose.Words proporciona 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 de documento utilizando la propiedad ZoomPercent, o el modo de visualización utilizando la propiedad ViewType.

El siguiente ejemplo de código muestra cómo asegurarse de 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-C
// The path to the documents directories.
System::String inputDataDir = GetInputDataDir_WorkingWithDocument();
System::String outputDataDir = GetOutputDataDir_WorkingWithDocument();
// Load the template document.
System::SharedPtr<Document> doc = System::MakeObject<Document>(inputDataDir + u"TestFile.doc");
// Set view option.
doc->get_ViewOptions()->set_ViewType(ViewType::PageLayout);
doc->get_ViewOptions()->set_ZoomPercent(50);
System::String outputPath = outputDataDir + u"SetViewOption.doc";
// Save the finished document.
doc->Save(outputPath);

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 de Microsoft Word:

For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-C
// The path to the documents directories.
System::String inputDataDir = GetInputDataDir_WorkingWithDocument();
System::String outputDataDir = GetOutputDataDir_WorkingWithDocument();
System::SharedPtr<Document> doc = System::MakeObject<Document>(inputDataDir + u"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->get_FirstSection()->get_PageSetup()->set_LayoutMode(SectionLayoutMode::Grid);
//Set the number of characters per line in the document grid.
doc->get_FirstSection()->get_PageSetup()->set_CharactersPerLine(30);
//Set the number of lines per page in the document grid.
doc->get_FirstSection()->get_PageSetup()->set_LinesPerPage(10);
System::String outputPath = outputDataDir + u"DocumentPageSetup.doc";
doc->Save(outputPath);

Establecer Preferencias de Idioma

Mostrar un documento en Microsoft Word depende de los idiomas predeterminados para este documento. Si no se establecen idiomas en los valores 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 puede configurar las preferencias de idioma utilizando la clase LanguagePreferences. También tenga en cuenta que para la visualización correcta de su documento es necesario establecer la versión de Microsoft Word que debe coincidir con 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-C
// Create a new LoadOptions object.
System::SharedPtr<LoadOptions> loadOptions = System::MakeObject<LoadOptions>();
// Set language preferences that will be used when document is loading.
loadOptions->get_LanguagePreferences()->AddEditingLanguage(EditingLanguage::Japanese);
System::SharedPtr<Document> doc = System::MakeObject<Document>(inputDataDir + u"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-C
// The path to the documents directory.
System::SharedPtr<LoadOptions> loadOptions = System::MakeObject<LoadOptions>();
loadOptions->get_LanguagePreferences()->set_DefaultEditingLanguage(EditingLanguage::Russian);
System::SharedPtr<Document> doc = System::MakeObject<Document>(inputDataDir + u"languagepreferences.docx", loadOptions);
int32_t localeId = doc->get_Styles()->get_DefaultFont()->get_LocaleId();
if (localeId == static_cast<int32_t>(EditingLanguage::Russian))
{
std::cout << "The document either has no any language set in defaults or it was set to Russian originally." << std::endl;
}
else
{
std::cout << "The document default language was set to another than Russian language originally, so it is not overridden." << std::endl;
}

Optimizar un Documento para una versión de Word en Particular

El método OptimizeFor permite optimizar el contenido del documento, así como el comportamiento predeterminado Aspose.Words para una versión particular de Microsoft Word. Puede usar este método para evitar que Microsoft Word muestre la cinta de opciones “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-C
System::SharedPtr<Document> doc = System::MakeObject<Document>(inputDataDir + u"TestFile.docx");
doc->get_CompatibilityOptions()->OptimizeFor(MsWordVersion::Word2016);
System::String outputPath = outputDataDir + u"SetCompatibilityOptions.docx";
// Save the document to disk.
doc->Save(outputPath);