Работа с параметрами и внешним видом документов Word
Иногда вам может потребоваться изменить внешний вид документа, например, задать языковые настройки или количество строк на странице. Aspose.Words предоставляет возможность управлять тем, как будет отображаться документ, а также некоторые дополнительные опции. В этой статье описываются такие возможности.
Установите параметры отображения документа
Вы можете управлять отображением документа в Microsoft Word с помощью класса ViewOptions. Например, вы можете задать величину масштабирования документа, используя свойство ZoomPercent, или режим просмотра, используя свойство ViewType.
В следующем примере кода показано, как обеспечить отображение документа на 50% при открытии в 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"); |
Установите параметры отображения страницы
Если вы хотите задать количество символов в строке, используйте свойство CharactersPerLine. Вы также можете задать количество строк на странице для документа Word – используйте свойство LinesPerPage, чтобы получить или задать количество строк на странице в таблице документа.
В следующем примере кода показано, как задать количество символов в строке и количество строк на странице для документа 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"); |
Установите языковые настройки
Отображение документа на Microsoft Word зависит от того, какие языки установлены по умолчанию для этого документа. Если по умолчанию не заданы языки, Microsoft Word использует информацию из диалогового окна “Настройка языковых настроек Office”, которое, например, можно найти в разделе “Файл → Параметры → язык” в Microsoft Word 2019 году.
С помощью Aspose.Words вы также можете настроить языковые настройки, используя класс LanguagePreferences. Также обратите внимание, что для корректного отображения вашего документа необходимо установить версию Microsoft Word, которой должен соответствовать процесс загрузки документа – это можно сделать с помощью свойства MswVersion.
В следующем примере кода показано, как добавить японский язык в список языков редактирования:
// 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."); |
В следующем примере кода показано, как установить русский язык редактирования по умолчанию:
// 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."); |
Оптимизируйте документ для конкретной версии Word
Метод OptimizeFor позволяет оптимизировать содержимое документа, а также поведение Aspose.Words по умолчанию для конкретной версии Microsoft Word. Вы можете использовать этот метод, чтобы предотвратить отображение Microsoft Word ленты “Режим совместимости” при загрузке документа. Обратите внимание, что вам также может потребоваться установить для свойства Compliance
значение Iso29500_2008_Transitional или выше.
В следующем примере кода показано, как оптимизировать содержимое документа для 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");