Conversor de PDF a TXT

Cómo convertir PDF a TXT usando Java

Un archivo PDF generalmente se compone de texto, imagen, encabezado, anotaciones y otros elementos. Y dado que este formato conserva el diseño del documento en todas las plataformas (Escritorio/Móvil, etc.), es ampliamente utilizado para compartir información a través de Internet. Sin embargo, es posible que tengamos un requisito para extraer el contenido textual del documento PDF para su posterior procesamiento. Entonces, en este artículo, discutiremos los detalles sobre cómo extraer texto de PDF usando Java Cloud SDK. Una vez completada la operación, la salida se guarda en formato TXT.

API de conversión de PDF a TXT

Aspose.PDF Cloud SDK for Java es nuestra galardonada solución REST API que ofrece las capacidades para crear, editar y convertir PDF a JPG, XPS, HTML, DOCX y una variedad de otros formatos compatibles. Ahora, para implementar las capacidades de reconocimiento de texto pdf en la aplicación Java, agregue los siguientes detalles en pom.xml del proyecto de tipo de compilación 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-pdf-cloud</artifactId>
        <version>21.11.0</version>
    </dependency>
</dependencies>

Después de la instalación del SDK, el siguiente paso importante es la creación de una cuenta gratuita en Aspose Cloud. Por lo tanto, inicie sesión con una cuenta recién creada y busque/cree el ID del cliente y el secreto del cliente en Cloud Dashboard. Estos detalles son necesarios en las secciones siguientes.

PDF a texto en Java

Siga los pasos que se indican a continuación para realizar la conversión de PDF a texto utilizando Java Cloud SDK. Entonces, después de una conversión exitosa, el archivo TXT resultante se guarda en el almacenamiento en la nube.

  • Primero necesitamos crear un objeto PdfApi mientras proporcionamos ClientID y Client secret como argumentos
  • En segundo lugar, cargue el archivo PDF de entrada utilizando la instancia de archivo
  • Sube el PDF de entrada al almacenamiento en la nube usando el método uploadFile(…)
  • Cree una variable entera que especifique el número de página de PDF para la extracción de texto e instancias dobles que indiquen la región rectangular de la página de la que necesitamos extraer el contenido textual
  • Finalmente llame al método getPageText(…) para obtener contenido textual del PDF de entrada
try
    {
    // Obtenga ClientID y ClientSecret de https://dashboard.aspose.cloud/
    String clientId = "bb959721-5780-4be6-be35-ff5c3a6aa4a2";
    String clientSecret = "4d84d5f6584160cbd91dba1fe145db14";
	  
    // crear una instancia de PdfApi
    PdfApi pdfApi = new PdfApi(clientSecret,clientId);

    // nombre del documento PDF de entrada
    String inputFile = "marketing.pdf";

    // leer el contenido del archivo PDF de entrada
    File file = new File("//Users//"+inputFile);
	    
    // subir PDF al almacenamiento en la nube
    pdfApi.uploadFile("input.pdf", file, null);

    // página específica de PDF para conversión
    int pageNumber =1;

    // Coordenada X de la esquina inferior izquierda
    Double LLX = 0.0;
    // Y - coordenada de la esquina inferior izquierda.
    Double LLY = 0.0;
    // X - coordenada de la esquina superior derecha.
    Double URX = 800.0;
    // Y - coordenada de la esquina superior derecha.
    Double URY = 800.0;
	       
    // llame a la API para convertir PDF a texto
    TextRectsResponse response = pdfApi.getPageText(inputFile, pageNumber, LLX, LLY, URX, URY, null, null, true, null, "default");	    
    
    // instancia de archivo TXT resultante
    FileWriter myWriter = new FileWriter("filename.txt");
  
    // Ahora recorra la ocurrencia de texto individual y obtenga el resultado de impresión en la consola
    for(int counter=0; counter <=response.getTextOccurrences().getList().size()-1; counter++)
    {
        // escribir contenido de texto en un archivo TXT
	myWriter.write(response.getTextOccurrences().getList().get(counter).getText());
    }
  
    // cerrar el controlador TXT
    myWriter.close();
    
    System.out.println("Text successfully extracted from PDF !");
    }catch(Exception ex)
    {
	      System.out.println(ex);
    }
Convertir PDF a TXT

Imagen 1: - Vista previa de conversión de PDF a TXT

El archivo PDF de muestra utilizado en el ejemplo anterior se puede descargar de marketing.pdf y extracted.txt

Extraiga texto de PDF usando comandos cURL

Se puede acceder fácilmente a las API REST a través de los comandos cURL, por lo que en esta sección vamos a explorar la opción de cómo podemos extraer contenido textual de PDF usando los comandos cURL. Entonces, como requisito previo, primero debemos generar un token de acceso JWT (basado en las credenciales del cliente) mientras ejecutamos el siguiente 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"

Una vez que tengamos el token JWT, debemos ejecutar el siguiente comando para extraer todas las ocurrencias de texto dentro del documento PDF.

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>"

Conclusión

Este artículo ha explicado los detalles sobre cómo convertir PDF a TXT usando Java Cloud SDK. Al mismo tiempo, también hemos explorado las opciones para extraer texto de PDF usando comandos cURL. Entonces, con la flexibilidad de atravesar varias páginas PDF, tenemos un control sobre dónde extraer el contenido. Le recomendamos encarecidamente que explore el producto Documentación para obtener más información sobre las otras características interesantes que ofrece la API de Java Cloud. Además, dado que todos nuestros SDK de Cloud se publican con licencia MIT, puede considerar descargar el código fuente completo de GitHub y modificarlo según sus requisitos. En caso de cualquier problema, puede considerar acercarse a nosotros para una resolución rápida a través del [foro de soporte del producto] gratuito 9.

Artículos relacionados

Visite los siguientes enlaces para obtener más información sobre: