PDF library

Hallo liebe community

Ich suche nach einer Java library, die aus PDF Dokumenten Bilder erstellt und den Text ausliest.

Folgende Anforderungen sollten erfüllt werden:
- Aus einem PDF Dokument werden pro PDF Seite je 3 Bilder in der gewünschten grösse erstellt.
- Aus PDF Dokumenten den Text auslesen (wird später ev. in einer DB, oder als JSON gespeichert).
- Link Attribute im PDF Dokument erkennen und auslesen können.
- Schnelle verarbeitunng (PDF Dokument mit z.B. 1000 Seiten in max. 20 min. verarbeiten).
- Open source (wenn möglich).

Die Library sollte für Desktop Apps, sowie auf einem Webserver eingesetzt werden können.
Über Google stiess ich auf PDFbox und iText. Hat jemand schon erfahrungen damit gesammelt? Was ratet ihr mir?
 

thet1983

Top Contributor
iText find ich gut, benutze es gerade für ein paar Formulare mit EAN Barcodes.
Da meine Anwendung nur schreibt kann ich zur Verarbeitung (Geschwindigkeit) nicht viel sagen.
Code ist schön logisch und flüssig zum schreiben.
PdfBox kenn ich zwar aber damit hab ich mich noch nicht beschäftigt.
 

Nuiton

Bekanntes Mitglied
Ich benutze derzeit PDFBox um den Text einer PDF auszulesen - schafft man mit nur ein paar Zeilen. Falls du ein Beispiel moechtest, kann ich hier noch eins posten.

Bilder habe ich bis jetzt noch nicht erstellen lassen, jedoch habe ich beim suchen etwas gefunden.
 
PDFBox (PDF Seiten als Bild speichern):
Java:
// dieses Code Beispiel fand ich bei stackoverflow (pdfbox ab version 2):
PDDocument document = PDDocument.load(new File("pdfDokument.pdf"));
PDFRenderer pdfRenderer = new PDFRenderer(document);
for (int page = 0; page < document.getNumberOfPages(); ++page)
{
    BufferedImage bim = pdfRenderer.renderImageWithDPI(page, 300, ImageType.RGB);
    ImageIOUtil.writeImage(bim, "img-seite-" + (page+1) + ".png", 300);
}
document.close();

Das Problem ist es funktioniert nicht perfekt. Probleme gibt es bei der Transparenz. Wenn z.B. eine Seite aus mehreren Bildern besteht die einen Transparenten Hintergrund haben. Der transparente Hintergrund wird im generierten Bild weiss. Das möchte ich aber nicht. Dieser soll transparent bleiben. Ich habe es mit "JPedal" versucht. Dort klappt es einwandfrei mit der Trial Version. Nur diese Library ist nicht kostenlos (für mich zu teuer).

Hat sonst jemand eine Idee. PDFBox finde ich von der Doku und der API her sehr übersichtlich. Hatte jemand schon Probleme mit der Transparenz beim generieren der Bilder?
 
Zuletzt bearbeitet:

Nuiton

Bekanntes Mitglied
Ein nachtraegliches Beispiel wie man den Text aus einer PDF auslesen kann:
Java:
package tools;

import java.io.*;
import org.apache.pdfbox.pdmodel.*;
import org.apache.pdfbox.text.PDFTextStripper;
import org.apache.pdfbox.util.*;

public class PDFToText {

 public static void main(String[] args){
 PDDocument pd;
 BufferedWriter wr;
 try {
         File input = new File("C:/Users/.../datei.pdf"); 
         File output = new File("C:/Users/.../datei.txt"); 
         pd = PDDocument.load(input);
         pd.save("kopie.pdf"); // Erstelle eine Kopie?
         PDFTextStripper stripper = new PDFTextStripper();
         stripper.setStartPage(1); // Seitenstart..
         stripper.setEndPage(5); // Seitengrenze..
         wr = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(output)));
         stripper.writeText(pd, wr);
         if (pd != null) {
             pd.close();
         }
        wr.close();
 } catch (Exception e){
         e.printStackTrace();
        } 
     }
}

Zum Thema PDFs und Bilder:
Ist es möglich aus einer bestimmten PDF-Seite die Koordinaten(X|Y) eines bestimmten Wortes oder eines Link Attributes zu erhalten?
Sollte eigentlich moeglich sein, schliesslich hat PDFBox auch eine Klasse zu den Bilder und Textkoordinaten, siehe hier.
Probleme gibt es bei der Transparenz. Wenn z.B. eine Seite aus mehreren Bildern besteht die einen Transparenten Hintergrund haben. Der transparente Hintergrund wird im generierten Bild weiss.
Versuche mal anstatt...
Java:
BufferedImage bim = pdfRenderer.renderImageWithDPI(page, 300, ImageType.RGB);
...das:
Java:
BufferedImage bim = pdfRenderer.renderImageWithDPI(page, 300, ImageType.ARGB);
Oder noch ein Beispiel findest du hier.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Hat Java eine Library um JavaScript auszuwerten? Allgemeine Java-Themen 2
F Problem mit PDFBOX Library Allgemeine Java-Themen 1
D Open Source Library zum erstellen von PDFs Allgemeine Java-Themen 1
webracer999 Library für Textsuche (z. B. include/exclude, and/or)? Allgemeine Java-Themen 5
P9cman java.Lang Klassen fehlen in JRE System Library Allgemeine Java-Themen 1
I OCR Library für Belegerkennung Allgemeine Java-Themen 7
F Kennt ihr eine Library um 2 HTML Seiten zu diffen? Allgemeine Java-Themen 8
H Interface PluginSystem ClassNotFound exception für library Klassen Allgemeine Java-Themen 10
O Arrays an DOCX-Stamper Library übergeben Allgemeine Java-Themen 1
TheWhiteShadow 2D-Grafik GIF Library mit byte output Allgemeine Java-Themen 10
J Probleme beim einbinden von Zip4j library Allgemeine Java-Themen 6
B Maven Keycloak library wirft exceptions nach maven package Allgemeine Java-Themen 1
A Classpath Library in verschiedenen Projekten Allgemeine Java-Themen 2
O Standard library nativer C code Allgemeine Java-Themen 1
B OCR Library gesucht Allgemeine Java-Themen 6
S Anwendung die alle Abhaengigkeiten einer Library listet..? Allgemeine Java-Themen 5
Tausendsassa Kabeja Library Allgemeine Java-Themen 9
D Library/Framework zum Umwandeln von Sound in Notenbilder Allgemeine Java-Themen 1
S Classpath Wie kann ich Java-Library Klassen "verstecken"..? Allgemeine Java-Themen 4
J Lanterna Library Allgemeine Java-Themen 2
A Linux: Native Library mit Rootrechten ohne Prozess mit sudo zu starten Allgemeine Java-Themen 1
F Java Native/Shared Library (.so) laden macht Probleme Allgemeine Java-Themen 3
F rxtx library mit virtuellem Comport Allgemeine Java-Themen 2
chuxXo JAVA MP3 Library Allgemeine Java-Themen 11
F Frage zur Library JTS Allgemeine Java-Themen 5
M Interface einer Library implementieren Allgemeine Java-Themen 3
reibi JNA - Native Acess - Library Path Allgemeine Java-Themen 2
G USB Library Allgemeine Java-Themen 1
B Load Library and use JNA to access Allgemeine Java-Themen 3
G Native Library / Fehler beim Laden der .so/.dll Datei Allgemeine Java-Themen 17
S Library fuer Internet-Text-Daten-Quellen..? Allgemeine Java-Themen 8
B IRC-Library Gesucht Allgemeine Java-Themen 2
N DTAU Library Allgemeine Java-Themen 2
H java.library.path mit einer Batch-Datei einstellen Allgemeine Java-Themen 3
G RXTX native library unter Linux in jar build angeben Allgemeine Java-Themen 4
B NetBeans Library nicht gefunden Allgemeine Java-Themen 6
T Einbinden einer Library in NetBeans Allgemeine Java-Themen 3
S RXTX library in Jar einbinden Allgemeine Java-Themen 5
R JNI load so-library Allgemeine Java-Themen 4
M Best Practices Exception Handling für eigene library Allgemeine Java-Themen 8
ruutaiokwu META-INF-daten bei ungepackten library-projekten während der entwicklung mit einbeziehen...? Allgemeine Java-Themen 2
I Library für High Performance Mime Type Erkennung Allgemeine Java-Themen 8
C Jni Library/dll erstellen Allgemeine Java-Themen 4
G Suche "richtiges" Framework/Library Allgemeine Java-Themen 14
G Library für CNC Programme Allgemeine Java-Themen 2
T Mathematik Parser Library? Allgemeine Java-Themen 4
P jar <-> Library Allgemeine Java-Themen 2
nrg Externe Library Lizenzen Allgemeine Java-Themen 14
D plattformabhängige library ausblenden Allgemeine Java-Themen 4
S 3D Grafik Library? Allgemeine Java-Themen 5
Lufti Unterschied zwischen Djava.library.path und Class-Path im Manifest? Allgemeine Java-Themen 2
N Exception in thread "main" java.lang.UnsatisfiedLinkError: no lwjgl in java.library.p Allgemeine Java-Themen 4
P SUCHE: gute Geo Library (freeware) Allgemeine Java-Themen 2
P Suche performante PDF Library Allgemeine Java-Themen 20
S suche library die diagramme darstellen kann Allgemeine Java-Themen 2
G RXTX library braucht sehr lange zum laden. Ist das normal? Allgemeine Java-Themen 8
A Strings joinen, Standard-Library? Allgemeine Java-Themen 9
F Java Library für Videobearbeitung, edit, cut, encode. Allgemeine Java-Themen 6
P MP3-Player Library: MP3 abspielen und ID-Tags auslesen Allgemeine Java-Themen 12
D PDF library Allgemeine Java-Themen 6
J ICQ Library Allgemeine Java-Themen 6
T Native Library ausliefern Allgemeine Java-Themen 12
C Speicherlecks in externer Library Allgemeine Java-Themen 2
A java.library.path festlegen. Allgemeine Java-Themen 5
J Native Library einbinden Allgemeine Java-Themen 17
G C++ Library in Java einbinden Allgemeine Java-Themen 4
C ICQ Library Allgemeine Java-Themen 3
M JNI, static.a mit load.Library laden? Allgemeine Java-Themen 2
T Disk Image Library (iso,mdf,nrg,bin) Allgemeine Java-Themen 6
cowabunga1984 Library um TIF in PDF zu konvertieren Allgemeine Java-Themen 2
foobar java.library.path Property setzen Allgemeine Java-Themen 5
F POI Library - Graphic in Excel inserten möglich? Allgemeine Java-Themen 2

Ähnliche Java Themen

Neue Themen


Oben