Trabalhe com opções e aparência de documentos do Word
Às vezes você pode precisar alterar a aparência de um documento, por exemplo, definir preferências de idioma ou o número de linhas por página. Aspose.Words oferece a capacidade de controlar como o documento será exibido, bem como algumas opções adicionais. Este artigo descreve essas possibilidades.
Definir opções de exibição de documentos
Você pode controlar como um documento será exibido em Microsoft Word usando a classe ViewOptions. Por exemplo, você pode definir um valor de zoom de documento usando a propriedade ZoomPercent ou o modo de visualização usando a propriedade ViewType.
O exemplo de código a seguir mostra como garantir que um documento seja exibido em 50% quando aberto em 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); |
Definir opções de exibição de página
Se quiser definir o número de caracteres por linha, use a propriedade CharactersPerLine. Você também pode definir o número de linhas por página para um documento do Word – use a propriedade LinesPerPage para obter ou definir o número de linhas por página na grade do documento.
O exemplo de código a seguir mostra como definir o número de caracteres por linha e o número de linhas por página para um 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); |
Definir preferências de idioma
A exibição de um documento em Microsoft Word depende de quais idiomas estão definidos como padrão para este documento. Se nenhum idioma estiver definido como padrão, o Microsoft Word obtém informações da caixa de diálogo “Definir preferências de idioma do Office”, que, por exemplo, pode ser encontrada em “Arquivo → Opções → Idioma” no Microsoft Word 2019.
Com Aspose.Words, você também pode configurar preferências de idioma usando a classe LanguagePreferences. Observe também que para a exibição correta do seu documento é necessário definir a versão Microsoft Word que o processo de carregamento do documento deve corresponder – isso pode ser feito utilizando a propriedade MswVersion.
O exemplo de código a seguir mostra como adicionar japonês aos idiomas de edição:
// 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); |
O exemplo de código a seguir mostra como definir o russo como idioma de edição padrão:
// 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."); |
Otimize um documento para uma versão específica do Word
O método OptimizeFor permite otimizar o conteúdo do documento, bem como o comportamento Aspose.Words padrão para uma versão específica do Microsoft Word. Você pode usar este método para evitar que o Microsoft Word exiba a faixa “Modo de compatibilidade” ao carregar o documento. Observe que também pode ser necessário definir a propriedade Compliance
como Iso29500_2008_Transitional ou superior.
O exemplo de código a seguir mostra como otimizar o conteúdo do 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); |