Найти заменить текст OneNote

Файлы OneNote можно использовать для организации различных задач. Например, планирование поездок, контрольный список или мозговой штурм. Кроме того, иногда вам может понадобиться найти или заменить текст в документе OneNote. Давайте изучим следующие темы:

Поиск и замена текста в файле OneNote — установка Java API

Aspose.Note for Java API позволяет создавать, преобразовывать файлы .one или управлять ими. Вы можете быстро настроить API, загрузив файл JAR из официального раздела Загрузки или со следующими конфигурациями в файле pom.xml вашего проекта. Он легко загрузит файлы из репозитория Aspose.

Репозиторий:

 <repositories>
    <repository>
        <id>AsposeJavaAPI</id>
        <name>Aspose Java API</name>
        <url>https://repository.aspose.com/repo/</url>
    </repository>
</repositories>

Зависимость:

 <dependencies>
    <dependency>
        <groupId>com.aspose</groupId>
        <artifactId>aspose-note</artifactId>
        <version>21.1</version>
        <classifier>jdk17</classifier>        
    </dependency>
</dependencies>

Найти и заменить текст на определенной странице файла OneNote в Java

Вы можете использовать файл OneNote для хранения заметок, напоминаний, изображений и т. д. Для текстового содержимого вы можете найти и заменить текст в файле OneNote с помощью нескольких простых шагов, перечисленных ниже:

  1. Загрузить входной файл OneNote
  2. Получить список узлов страницы
  3. Пройдите все узлы, чтобы найти текст
  4. Заменить текст
  5. Сохранить выходной файл .one

В следующем коде показано, как программно найти и заменить текст на определенной странице файла .one в Java:

Map<String, String> replacements = new HashMap<String, String>();
replacements.put("2. Get organized", "New Text Here");

// Загрузите документ в Aspose.Note.
Document oneFile = new Document(dataDir + "Sample1.one", new LoadOptions());

List<Page> pageNodes = (List<Page>) oneFile.getChildNodes(Page.class);

// Получить все узлы RichText
List<RichText> textNodes = (List<RichText>) pageNodes.get(0).getChildNodes(RichText.class);

for (RichText richText : textNodes) {
	for (String key : replacements.keySet()) {
		if (richText != null && richText.getText().contains(key)) {
			// Заменить текст фигуры
			richText.setText(richText.getText().replace(key, replacements.get(key)));
		}
	}
}

// Сохранить в любой поддерживаемый формат файла
oneFile.save(dataDir + "ReplaceTextonSpecific_out.one", com.aspose.note.SaveFormat.One);

Найти и заменить текст на всех страницах файла OneNote в Java

Иногда текст встречается несколько раз на нескольких страницах файла OneNote. Для того, чтобы найти и заменить текст на всех страницах, вам необходимо выполнить следующие шаги:

  1. Загрузить входной файл .one
  2. Получить все узлы RichText
  3. Пройдите все узлы и сравните текст
  4. Заменить текст
  5. Сохранить выходной файл

Фрагмент кода объясняет, как программно найти и заменить текст на всех страницах файла OneNote с помощью Java:

Map<String, String> replacements = new HashMap<String, String>();
//replaces.put("2. Наведите порядок", "Новый текст здесь");
replacements.put("Remember everything", "New Text Here");

// Загрузите документ в Aspose.Note.
LoadOptions options = new LoadOptions();
Document oneFile = new Document(dataDir + "Sample.one", options);


// Получить все узлы RichText
List<RichText> textNodes = (List<RichText>) oneFile.getChildNodes(RichText.class);

// Пройдите все узлы и сравните текст с ключевым текстом
for (RichText richText : textNodes) {
	for (String key : replacements.keySet()) {
		if (richText != null && richText.getText().contains(key)) {
			// Заменить текст фигуры
			richText.setText(richText.getText().replace(key, replacements.get(key)));
		}
	}
}

// Сохранить в любой поддерживаемый формат файла
oneFile.save(dataDir + "ReplaceTextonAllPages_out.one", SaveFormat.One);

Вывод

В этой статье мы рассмотрели, как работать с файлами OneNote. Вы узнали, как программно находить и заменять текст в файлах OneNote с помощью языка Java. Кроме того, несколько других функций поддерживаются API. Вы можете узнать о дополнительных возможностях, взглянув на Документацию по API. Мы хотели бы услышать ваши отзывы на Free Support Forum. Ваше здоровье!

Смотрите также