Extrair texto ou imagens de documentos do OneNote usando Java

Podemos coletar e organizar notas na forma de texto, desenhos, recortes de tela e comentários de áudio no documento do OneNote. Ocasionalmente, podemos precisar extrair texto ou imagens de documentos do OneNote programaticamente em aplicativos Java. Essa extração nos permite reutilizar o texto ou as imagens extraídas separadamente. Neste artigo, aprenderemos como extrair texto ou imagens de documentos do OneNote usando Java.

Os seguintes tópicos serão abordados neste artigo:

API Java para extrair texto ou imagens do OneNote

Para extrair texto e imagens do documento OneNote, usaremos a API Aspose.Note for Java. Ele permite criar, ler e converter documentos do OneNote programaticamente sem usar o MS OneNote. Faça o download do JAR da API ou adicione a seguinte configuração pom.xml em um aplicativo Java baseado em Maven.

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>http://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-note</artifactId>
    <version>22.1</version>
    <classifier>jdk17</classifier>
</dependency>

Extraia todo o texto do documento do OneNote usando Java

Podemos extrair facilmente todo o texto do documento do OneNote seguindo as etapas abaixo:

  1. Em primeiro lugar, carregue um arquivo do OneNote usando a classe Document.
  2. Depois disso, chame o método GetChildNodes com RichText.class como argumento para extrair texto.
  3. Por fim, mostre o texto extraído.

O exemplo de código a seguir mostra como extrair todo o texto de um arquivo do OneNote usando Java.

// Este exemplo de código demonstra como extrair todo o texto do documento OneNode.
// Carregue o documento em Aspose.Note.
Document oneFile = new Document("D:\\Files\\Note\\Sample1.one");

// Recuperar texto
List<RichText> textNodes = (List<RichText>) oneFile.getChildNodes(RichText.class);

for (RichText richText : textNodes) {
  if(!richText.getText().isBlank())
    System.out.println(richText.getText().toString());
}
Extraia todo o texto do documento do OneNote usando Java

Extraia todo o texto do documento do OneNote usando Java

Obter texto de páginas específicas do documento do OneNote em Java

Podemos extrair texto de páginas específicas do documento do OneNote seguindo as etapas abaixo:

  1. Em primeiro lugar, carregue um arquivo do OneNote usando a classe Document.
  2. Em seguida, chame o método GetChildNodes com Page.class como argumento para extrair páginas.
  3. Em seguida, obtenha uma página específica por seu índice da lista de páginas.
  4. Depois disso, obtenha uma lista de itens de texto para a página usando o método GetChildNodes com RichText.class como argumento.
  5. Por fim, mostre o texto extraído.

O exemplo de código a seguir mostra como extrair texto de uma página específica de um arquivo do OneNote usando Java.

// Este exemplo de código demonstra como extrair texto de uma página específica de um documento OneNode.
// Carregue o documento no Aspose.Note
Document doc = new Document("D:\\Files\\Note\\Sample1.one");

// Obter lista de nós de página
List<Page> pages = doc.getChildNodes(Page.class);

// Obter página por índice
Page page = pages.get(0);

// Obter texto da página
List<RichText> textNodes = (List<RichText>) page.getChildNodes(RichText.class);

// Mostrar texto
for (RichText richText : textNodes) {
  if(!richText.getText().isBlank())
    System.out.println(richText.getText().toString());
}
Extract Text from a Specific Page of OneNote Document in Java

Extract Text from a Specific Page of OneNote Document in Java

Podemos iterar em todas as páginas uma a uma e extrair o texto de cada página, conforme mostrado no exemplo de código abaixo:

// Este exemplo de código demonstra como extrair texto de páginas de um documento OneNode.
// Carregue o documento em Aspose.Note.
Document doc = new Document("D:\\Files\\Note\\Sample1.one");

// Obter lista de nós de página
List<Page> pages = doc.getChildNodes(Page.class);

for (Page p : pages) {
  System.out.println("---- Page Started Here ----");

  List<RichText> textNodes = (List<RichText>) p.getChildNodes(RichText.class);

  for (RichText richText : textNodes) {
    if(!richText.getText().isBlank())
      System.out.println(richText.getText().toString());
  }

  System.out.println("---- Page Ended Here ----");
  System.out.println();
}
Obter texto de páginas específicas do documento do OneNote em Java

Obter texto de todas as páginas uma a uma em Java

Extrair imagens do documento do OneNote usando Java

Também podemos extrair imagens do documento do OneNote seguindo as etapas abaixo:

  1. Em primeiro lugar, carregue um arquivo do OneNote usando a classe Document.
  2. Depois disso, obtenha uma lista de imagens usando o método GetChildNodes com o Image.class como argumento.
  3. Por fim, mostre as propriedades da imagem e salve no disco local.

O exemplo de código a seguir mostra como extrair imagens de um arquivo do OneNote usando Java.

// Este exemplo de código demonstra como extrair imagens do documento OneNode.
// Carregue o documento no Aspose.Note
Document doc = new Document("D:\\Files\\Note\\Sample1.one");

// Obter todas as imagens
List<Image> list = doc.getChildNodes(Image.class);
System.out.printf("Total Images: %s\n\n", list.size());

// Percorra a lista
for (int i = 0; i < list.size(); i++) {
  Image image = list.get(i);

  // Mostrar propriedades da imagem
  System.out.println("Width: " + image.getWidth());
  System.out.println("Height: " + image.getHeight());
  System.out.println("OriginalWidth: " + image.getOriginalWidth());
  System.out.println("OriginalHeight: " + image.getOriginalHeight());
  System.out.println("FileName: " + image.getFileName());
  System.out.println("LastModifiedTime: " + image.getLastModifiedTime());

  String outputFile = "ExtractImages_out" + i + "_" + image.getFileName();

  // Salve a imagem
  byte[] buffer = image.getBytes();
  Files.write(Paths.get("D:\\Files\\Note\\Images\\" + outputFile), buffer);
  System.out.printf("File saved: %s\n", outputFile);
}
Extrair imagens do documento do OneNote usando Java

Extrair imagens do documento do OneNote usando Java

Obtenha uma licença gratuita

Você pode obter uma licença temporária gratuita para experimentar a biblioteca sem limitações de avaliação.

Conclusão

Neste artigo, aprendemos como extrair texto de todo o documento do OneNote ou de uma página específica do documento. Também vimos como extrair imagens de documentos do OneNote programaticamente. Além disso, você pode aprender mais sobre o Aspose.Note para API Java usando a documentação. Em caso de qualquer ambiguidade, não hesite em contactar-nos no fórum.

Veja também