Java permet l'extraction de texte et d'images PDF

Les fichiers PDF sont toujours utilisés pour transporter un grand nombre d'informations intéressantes. Pour mieux utiliser ces informations, vous devez utiliser certains outils pour extraire des informations de texte et d'image du PDF. Vous trouverez ci-dessous quelques textes et photos qui extraient des PDF via Java.

Utilisation de l'outil:
Présentation du package Jar:

--Méthode 1: Après avoir téléchargé le stress de Free Spire.Pdf pour Java depuis le site officiel, ajoutez-le à Shift + Ctrl + Alt + S dans IDEA ou Eclipse. En ajoutant le paquet Spire.Pdf.jar au programme, le fichier jar Peut être obtenu dans le dossier lib sous le chemin de décompression. Le résultat de l'introduction du package jar est le suivant:

image.png

La documentation source du test est la suivante: image.png

Voir l'exemple de code Java:

[Exemple 1] Extraire le contenu texte du PDF

** Étape 1: ** Ajouter un espace de noms;

import com.spire.pdf.*;
import java.io.FileWriter;

** Étape 2: ** Créez une instance de PDF et chargez le fichier source PDF;

//Create the PDF
PdfDocument doc = new PdfDocument();
//Load the PDF file
doc.loadFromFile("data/Sample.pdf");

** Étape 3: ** Définissez un exemple de tampon de caractères qui traverse tout le document PDF en utilisant la méthode StringBuider;

// Traverse the PDF
StringBuilder buffer = new StringBuilder();
for(int i = 1; i<doc.getPages().getCount(); i++){
    PdfPageBase page = doc.getPages().get(i);
    buffer.append(page.extractText());
}

** Étape 4: ** Définissez une instance d'écriture pour écrire des données dans la zone tampon et utilisez write () pour écrire et enregistrer les données de la zone tampon dans un fichier text.txt.

//save text
String fileName = "output/text.txt";
FileWriter writer = new FileWriter(fileName);
writer.write(buffer.toString());
writer.flush();
writer.close();

Résultat de l'extraction de texte: image.png

[Exemple 2] Extraction d'images au format PDF

** Étape 1: ** Ajouter un espace de noms;

import com.spire.pdf.*;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;

** Étape 2: ** Créez une instance de PDF et chargez le fichier source PDF;

        //Create the PDF
        PdfDocument pdf = new PdfDocument();
	   //Load the PDF file
        pdf.loadFromFile("data/Sample.pdf");

** Étape 3: ** La boucle for parcourt chaque page du PDF, utilise la méthode extractImages () pour obtenir l'image de la page spécifiée, et enfin enregistre l'image au format PNG.

        // Declare an int variable
	 int index = 0;
        // loop through the pages
        for (int i= 0;i< pdf.getPages().getCount(); i ++){
            //Get the PDF pages
            PdfPageBase page = pdf.getPages().get(i);
            // Extract images from a particular page 
            for (BufferedImage image : page.extractImages()) {
            //specify the file path and name
                File output = new File("output/" + String.format("Image_%d.png ", index++));                
            //Save image as .png file    
            ImageIO.write(image, "PNG", output);
            }
        }

Résultat d'extraction d'image: image.png image.png image.png image.png

Recommended Posts

Java permet l'extraction de texte et d'images PDF
Extraction de texte en Java à partir de PDF avec pdfbox-2.0.8
Cryptage et décryptage Java PDF
Avantages et inconvénients de Java
[Java] Téléchargez une image et convertissez-la en Base64
Insertion Java Excel et extraction d'images
À propos de Biocontainers fastqc et Java
Java pour extraire le contenu de texte PDF
Sortie PDF et TIFF avec Java 8
Ajouter, remplacer, supprimer des images Java PDF
Après 3 mois de formation Java et Spring
Je veux afficher des images avec REST Controller de Java et Spring!
Programmer les en-têtes et pieds de page PDF en Java
Résumé de Java Math.random et import (calendrier)
[Java] Contenu de l'interface de collection et de l'interface de liste
Discrimination d'énum dans Java 7 et supérieur
[Java] Résumé personnel des classes et méthodes (basique)
J'ai comparé les caractéristiques de Java et .NET
JAVA: réalise la génération et la numérisation de divers types de codes à barres
Texte d'introduction Java
Java et JavaScript
XXE et Java
[Java] Types de commentaires et comment les rédiger
Résumé du comportement de ToString avec les annotations Java et Groovy
Veuillez noter la division (division) de java kotlin Int et Int
La comparaison d'énumération est ==, et equals est bonne [Java]
Java extrait le contenu textuel des graphiques SmartArt dans PowerPoint
Organiser l'état actuel de Java et envisager l'avenir
Langage Java du point de vue de Kotlin et C #
[Java] Extraction de texte de PowerPoint (ppt) à l'aide d'Apache POI
[Java] À propos de Objects.equals () et examen de la comparaison de chaînes (== et égal à)
Vérification de la relation entre l'image Docker et le conteneur
J'ai résumé les types et les bases des exceptions Java
Liste des instructions Java fréquemment utilisées (pour les débutants et les débutants)
Modifier la qualité de stockage des images JPEG en Java
Utilisation correcte de la classe abstraite et de l'interface en Java
[Java] [Kotlin] Appeler valueOf et les valeurs de Enum de manière générique
[Java10] Veillez à utiliser ensemble var et génériques
[Java] Gestion des chaînes de caractères (classe String et classe StringBuilder)
Sortie d'images graphiques vectorielles (PDF, SVG, PPT, EPS, SWF) avec Java Graphics 2D et diverses bibliothèques