Todos sabemos que os arquivos PDF são um dos formatos digitais mais importantes e amplamente utilizados para apresentar e trocar documentos de forma confiável, independentemente do software, hardware ou sistema operacional. No entanto, em alguns cenários, podemos estar interessados em obter um trecho de grandes arquivos PDF. Ou, podemos ter um requisito para salvar o PDF em texto online. Portanto, neste artigo, exploraremos os detalhes de como desenvolver um conversor de PDF para texto usando a API Java REST.
API do gerador de PDF
Obtenha a alavancagem para gerar documentos PDF usando modelos ou do zero usando nossa API REST. Ao mesmo tempo, a API também permite que você edite e transforme os arquivos PDF em outros formatos suportados. Você também pode aproveitar os benefícios de extrair texto de PDF, descriptografar e mesclar arquivos PDF usando o Java Cloud SDK. Agora, para usar o Aspose.PDF Cloud SDK for Java, precisamos adicionar sua referência em nosso aplicativo Java, incluindo os seguintes detalhes em pom.xml (projeto de tipo de compilação maven).
<repositories>
<repository>
<id>aspose-cloud</id>
<name>artifact.aspose-cloud-releases</name>
<url>https://artifact.aspose.cloud/repo</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-cloud-pdf</artifactId>
<version>21.11.0</version>
<scope>compile</scope>
</dependency>
</dependencies>
Após a instalação, precisamos criar uma conta gratuita no Cloud Dashboard e obter credenciais de cliente personalizadas.
Extrair texto de PDF usando Java
Vamos explorar os detalhes para extrair texto de PDF usando Java Cloud SDK. Neste exemplo, vamos usar a seguinte entrada PdfWithTable.pdf Arquivo.
// para mais exemplos, visite https://github.com/aspose-pdf-cloud/aspose-pdf-cloud-java/tree/master/Examples/src/main/java/com/aspose/asposecloudpdf/examples
try
{
// Obtenha ClientID e ClientSecret em https://dashboard.aspose.cloud/
String clientId = "bb959721-5780-4be6-be35-ff5c3a6aa4a2";
String clientSecret = "4d84d5f6584160cbd91dba1fe145db14";
// criar uma instância de PdfApi
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
// nome do documento PDF de entrada
String name = "PdfWithTable.pdf";
// leia o conteúdo do arquivo PDF de entrada
File file = new File(name);
// carregar PDF para armazenamento em nuvem
pdfApi.uploadFile("input.pdf", file, null);
// Coordenada X do canto inferior esquerdo
Double LLX = 500.0;
// Y - coordenada do canto inferior esquerdo.
Double LLY = 500.0;
// X - coordenada do canto superior direito.
Double URX = 800.0;
// Y - coordenada do canto superior direito.
Double URY = 800.0;
// chamar API para converter PDF em texto
TextRectsResponse response = pdfApi.getText("input.pdf", LLX, LLY, URX, URY, null, null, null, null, null);
// Percorrer a ocorrência de texto individual
for(int counter=0; counter <=response.getTextOccurrences().getList().size()-1; counter++)
{
// escrever conteúdo de texto no console
System.out.println(response.getTextOccurrences().getList().get(counter).getText());
}
System.out.println("Extract Text from PDF successful !");
}catch(Exception ex)
{
System.out.println(ex);
}
Agora vamos tentar entender o trecho de código especificado acima:
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
Crie uma instância de PdfApi ao passar as credenciais personalizadas como argumentos.
File file = new File(name);
pdfApi.uploadFile("input.pdf", file, null);
Leia o PDF de entrada usando o objeto File e carregue-o no armazenamento em nuvem usando o método uploadFile(…) da classe PdfAPi. Observe que o arquivo é carregado com o nome usado no método uploadFile.
TextRectsResponse response = pdfApi.getText("input.pdf", LLX, LLY, URX, URY, null, null, null, null, null);
Agora chame o método getText(..) onde especificamos o nome do arquivo PDF de entrada, dimensões retangulares na página da qual precisamos extrair o conteúdo textual e retornar o conteúdo extraído para o objeto TextRectsResponse.
response.getTextOccurrences().getList().get(counter).getText()
Por fim, para imprimir o conteúdo do texto extraído, vamos iterar todas as TextOccurances e exibi-las no console.
PDF para texto usando comandos cURL
Além do trecho de código Java, também podemos executar a operação pdftotext usando comandos cURL. Agora, um dos pré-requisitos para essa abordagem é gerar um token de acesso JWT (com base nas credenciais do cliente) usando o seguinte comando.
curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=bb959721-5780-4be6-be35-ff5c3a6aa4a2&client_secret=4d84d5f6584160cbd91dba1fe145db14" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"
Depois que o JWT for gerado, execute o seguinte comando para extrair o texto do arquivo PDF já disponível no armazenamento em nuvem.
curl -v -X GET "https://api.aspose.cloud/v3.0/pdf/input.pdf/text?splitRects=true&LLX=0&LLY=0&URX=800&URY=800" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>"
Dica rápida
Procurando PDF para aplicativo gratuito de texto! Por favor, tente usar nosso PDF Parser.
Observações Finais
Concluindo, extrair texto de arquivos PDF usando Java pode ser uma solução poderosa para quem procura automatizar o processamento de dados e as necessidades de análise. Com a ajuda deste guia, você agora tem uma base sólida para construir e pode facilmente implementar sua própria solução baseada em Java para extração de texto de documentos PDF. Esteja você procurando extrair texto para análise de dados, aprendizado de máquina ou qualquer outra finalidade, o Java fornece uma plataforma flexível e confiável para suas necessidades. Então vá em frente e coloque suas habilidades recém-adquiridas à prova!
Se você estiver interessado em explorar outros recursos interessantes oferecidos pela API, explore a Documentação do produto. Por fim, se você encontrar algum problema ao usar a API ou tiver alguma dúvida relacionada, sinta-se à vontade para nos contatar por meio do [Fórum de suporte ao produto] gratuito 9.
Artigos relacionados
Por favor, visite os links a seguir para saber mais sobre: