Lavorare con le opzioni e l'aspetto dei documenti di Word

A volte potrebbe essere necessario modificare l’aspetto di un documento, ad esempio impostare le preferenze di lingua o il numero di righe per pagina.Aspose.Words fornisce la possibilità di controllare come verrà visualizzato il documento, oltre ad alcune opzioni aggiuntive. Questo articolo descrive tali possibilità.

Impostare le opzioni di visualizzazione del documento

È possibile controllare come verrà visualizzato un documento in Microsoft Word utilizzando la classe ViewOptions. Ad esempio, è possibile impostare un valore di zoom documento utilizzando la proprietà ZoomPercent o la modalità di visualizzazione utilizzando la proprietà ViewType.

L’esempio di codice seguente mostra come garantire che un documento venga visualizzato al 50% quando viene aperto in Microsoft Word:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java
Document doc = new Document(dataDir + "Document.doc");
doc.getViewOptions().setViewType(ViewType.PAGE_LAYOUT);
doc.getViewOptions().setZoomPercent(50);
doc.save(dataDir + "Document.SetZoom_out.doc");

Imposta le opzioni di visualizzazione della pagina

Se si desidera impostare il numero di caratteri per riga, utilizzare la proprietà CharactersPerLine. È anche possibile impostare il numero di righe per pagina per un documento Word: utilizzare la proprietà LinesPerPage per ottenere o impostare il numero di righe per pagina nella griglia del documento.

L’esempio di codice seguente mostra come impostare il numero di caratteri per riga e il numero di righe per pagina per un documento Microsoft Word:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java
// The path to the documents directory.
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.getFirstSection().getPageSetup().setLayoutMode(SectionLayoutMode.GRID);
// Set the number of characters per line in the document grid.
doc.getFirstSection().getPageSetup().setCharactersPerLine(30);
// Set the number of lines per page in the document grid.
doc.getFirstSection().getPageSetup().setLinesPerPage(10);
// Save the document
doc.save(dataDir + "Document.PageSetup_out.doc");

Impostare le preferenze di lingua

La visualizzazione di un documento in Microsoft Word dipende dalle lingue impostate come predefinite per questo documento. Se non sono impostate lingue predefinite, Microsoft Word prende informazioni dalla finestra di dialogo “Imposta preferenze lingua di Office”, che, ad esempio, può essere trovata in “File → Opzioni → Lingua” in Microsoft Word 2019.

Con Aspose.Words, puoi anche impostare le preferenze di lingua usando la classe LanguagePreferences. Si noti inoltre che per la corretta visualizzazione del documento è necessario impostare la versione Microsoft Word che il processo di caricamento del documento deve corrispondere – questo può essere fatto utilizzando la proprietà MswVersion.

Il seguente esempio di codice mostra come aggiungere il giapponese alle lingue di modifica:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java
// Specify LoadOptions to add Editing Language
LoadOptions loadOptions = new LoadOptions();
loadOptions.getLanguagePreferences().addEditingLanguage(EditingLanguage.JAPANESE);
Document doc = new Document(dataDir + "languagepreferences.docx", loadOptions);
int localeIdFarEast = doc.getStyles().getDefaultFont().getLocaleIdFarEast();
if (localeIdFarEast == (int) EditingLanguage.JAPANESE)
System.out.println("The document either has no any FarEast language set in defaults or it was set to Japanese originally.");
else
System.out.println("The document default FarEast language was set to another than Japanese language originally, so it is not overridden.");

Il seguente esempio di codice mostra come impostare il russo come lingua di modifica predefinita:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java
// Specify LoadOptions to set Default Editing Language
LoadOptions loadOptions = new LoadOptions();
loadOptions.getLanguagePreferences().setDefaultEditingLanguage(EditingLanguage.RUSSIAN);
Document doc = new Document(dataDir + "languagepreferences.docx", loadOptions);
int localeId = doc.getStyles().getDefaultFont().getLocaleId();
if (localeId == (int) EditingLanguage.RUSSIAN)
System.out.println("The document either has no any language set in defaults or it was set to Russian originally.");
else
System.out.println("The document default language was set to another than Russian language originally, so it is not overridden.");

Ottimizzare un documento per una particolare versione di Word

Il metodo OptimizeFor consente di ottimizzare il contenuto del documento, così come il comportamento predefinito Aspose.Words per una particolare versione di Microsoft Word. È possibile utilizzare questo metodo per impedire a Microsoft Word di visualizzare la barra multifunzione “Modalità compatibilità” durante il caricamento del documento. Si noti che potrebbe anche essere necessario impostare la proprietà Compliance su Iso29500_2008_Transitional o superiore.

L’esempio di codice seguente mostra come ottimizzare il contenuto del documento per Microsoft Word 2016:

Document doc = new Document(dataDir + "Document.docx");

// Set Word2016 version for document
doc.getCompatibilityOptions().optimizeFor(MsWordVersion.WORD_2016);

// Save the document.
doc.save(dataDir + "output.docx");