PDF Content vergleichen

ayibogan

Mitglied
Ich suche nach einer Möglichkeit, um den Content zweier PDF´s zu vergleichen.

Der Vergleich soll auch TRUE ergeben wenn die Metadaten(z.B. Creation-Date) verschieden und der "Rest" identisch ist.
Finde leider keine Möglichkeit - bei einem byteWeisen Vergleich - vorher die Metadaten zu extrahieren.
Mit PDFBox kann ich zwar den Content in eine Textdatei konvertieren, jedoch werden da Annotationen und Bilder zum Problem.

Kennt jemand evtl. eine Möglichkeit mit PDFBox den Content als Stream ohne Metadaten zu erzeugen?
Oder eine andere Lösung wie ich von einem PDF die Metadaten extrahieren könnte?
 

ayibogan

Mitglied
Danke für die Antwort, leider weiß ich nicht wie ich die Position der Metadaten im Stream heraufinden kann.
Wenn ich folgendes für ein Bsp. PDF mit gleichen Inhalt abder verschiedene Creation-Date Metadaten durchführe:
Java:
while ((byte1 = fis1.read()) != -1 && (byte2 = fis2.read()) != -1) {
  if (byte1 != byte2) {
     return false;
  }
}
ist die letzte Position unterschiedlich, aber wie kann ich genau herausfinden wann die Metadaten anfangen?
 

Templarthelast

Bekanntes Mitglied
Über das iText Framwork kannst du die metadaten auslesen. Die jagst du dann wieder durch einen XML Parser und ließt dabei das Datum aus.

Java:
/*
 * This class is part of the book "iText in Action - 2nd Edition"
 * written by Bruno Lowagie (ISBN: 9781935182610)
 * For more info, go to: [url=http://itextpdf.com/examples/]iText ®: where to find examples[/url]
 * This example only works with the AGPL version of iText.
 */
 
package part2.chapter06;
 
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintWriter;
 
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Rectangle;
import com.itextpdf.text.pdf.PdfReader;
 
import part1.chapter01.HelloWorldLandscape1;
import part1.chapter01.HelloWorldLandscape2;
import part1.chapter03.MovieTemplates;
import part1.chapter05.Hero1;
 
public class PageInformation {
 
	/** The resulting text file with info about a PDF. */
    public static final String RESULT
        = "results/part2/chapter06/page_info.txt";
 
    /**
     * Main method.
     * @param args no arguments needed
     * @throws DocumentException 
     * @throws IOException
     */
    public static void main(String[] args)
        throws DocumentException, IOException {
    	// Use old examples to create PDFs
        HelloWorldLandscape1.main(args);
        HelloWorldLandscape2.main(args);
        MovieTemplates.main(args);
        Hero1.main(args);
        // Inspecting PDFs
        PrintWriter writer = new PrintWriter(new FileOutputStream(RESULT));
        inspect(writer, HelloWorldLandscape1.RESULT);
        inspect(writer, HelloWorldLandscape2.RESULT);
        inspect(writer, MovieTemplates.RESULT);
        inspect(writer, Hero1.RESULT);
        writer.close();
    }
 
    /**
     * Inspect a PDF file and write the info to a txt file
     * @param writer Writer to a text file
     * @param filename Path to the PDF file
     * @throws IOException
     */
    public static void inspect(PrintWriter writer, String filename)
        throws IOException {
        PdfReader reader = new PdfReader(filename);
        writer.println(filename);
        writer.println("metadata: ");
        writer.println(reader.getgetMetadata()); // <-- Metadaten
        writer.print("Number of pages: ");
        writer.println(reader.getNumberOfPages());
        Rectangle mediabox = reader.getPageSize(1);
        writer.print("Size of page 1: [");
        writer.print(mediabox.getLeft());
        writer.print(',');
        writer.print(mediabox.getBottom());
        writer.print(',');
        writer.print(mediabox.getRight());
        writer.print(',');
        writer.print(mediabox.getTop());
        writer.println("]");
        writer.print("Rotation of page 1: ");
        writer.println(reader.getPageRotation(1));
        writer.print("Page size with rotation of page 1: ");
        writer.println(reader.getPageSizeWithRotation(1));
        writer.print("Is rebuilt? ");
        writer.println(reader.isRebuilt());
        writer.print("Is encrypted? ");
        writer.println(reader.isEncrypted());
        writer.println();
        writer.flush();
    }
}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
A Variablen non-static variable cannot be referenced from a static content Allgemeine Java-Themen 4
F Content-Disposition ermitteln über URL Allgemeine Java-Themen 2
N Content von URL lesen Allgemeine Java-Themen 18
I URLConnection mit Chunked und Content-Length=-1 Allgemeine Java-Themen 4
A HashCode von DatagrammPacket(content) erzeugen. Allgemeine Java-Themen 3
J PDF Content extrahieren mit JPO Allgemeine Java-Themen 5
M Content-Type setzen und auslesen? Allgemeine Java-Themen 2
Ü Arrays vergleichen Allgemeine Java-Themen 59
Ü Methoden Arrays vergleichen - Methode Allgemeine Java-Themen 1
D Zwei Listen vergleichen Allgemeine Java-Themen 7
F 2 JsonArray vergleichen, geht es auch einfacher ? Allgemeine Java-Themen 3
N String vergleichen. Allgemeine Java-Themen 27
B Einfach Elemente zweier Arraylisten kreuz und quer vergleichen, min und max Problem? Allgemeine Java-Themen 16
Aboya Char Array rekursiv vergleichen Allgemeine Java-Themen 15
Curtis_MC Pointer mit ArrayList vergleichen Allgemeine Java-Themen 6
P einen public <Optinal String> in einer anderen Klasse mit einem Int vergleichen Allgemeine Java-Themen 2
D Erste Schritte Arrays vergleichen und die zahlen die nur einmal vorkommen ausgeben Allgemeine Java-Themen 5
E Elemente innerhalb einer ArrayList vergleichen Allgemeine Java-Themen 33
R Optimierung beim Vergleichen von 2 Bildern Allgemeine Java-Themen 23
CptK Input/Output Buttonwerte vergleichen Allgemeine Java-Themen 5
J Mockito - Objekte miteinander vergleichen (equals) Allgemeine Java-Themen 6
Meeresgott Best Practice Strings auf Inhalte vergleichen Allgemeine Java-Themen 1
N DNA Strings vergleichen Allgemeine Java-Themen 1
C Input/Output Textdateien vergleichen Allgemeine Java-Themen 3
M Dateien nach kopieren vergleichen Allgemeine Java-Themen 9
KeVoZ_ JSoup - Website Inhalt/Element mit String vergleichen Allgemeine Java-Themen 2
K Eingabe mit Char vergleichen klappt nicht! Allgemeine Java-Themen 2
AssELAss Best Practice Checksumme über jede Spalte zweier Tabellen und vergleichen Allgemeine Java-Themen 3
AssELAss Zwei Arrays / ArrayLists inhaltlich vergleichen Allgemeine Java-Themen 2
W Variablen Dates vergleichen Allgemeine Java-Themen 7
A Collections Inhalt einer Liste mit Inhalt anderer Liste vergleichen ? Allgemeine Java-Themen 7
J Farben mit comparing vergleichen Allgemeine Java-Themen 3
Dechasa Java 8 - Datum vergleichen Allgemeine Java-Themen 5
S Zwei String vergleichen, Fehler markieren Allgemeine Java-Themen 3
Dechasa Vergleichen von zwei Arrays Allgemeine Java-Themen 4
H Strings vergleichen Allgemeine Java-Themen 9
Y inhalte aus 2 unterschiedlichen Arrays miteinander vergleichen Allgemeine Java-Themen 12
D Pattern mit Pattern vergleichen Allgemeine Java-Themen 3
2 Joda Time - Localtime mit anderer Zeit vergleichen? Allgemeine Java-Themen 1
A Kann String nicht vergleichen (Android) Allgemeine Java-Themen 4
F Zwei LinkedHashMaps iterieren und vergleichen Allgemeine Java-Themen 2
D Variablen java.io.File zum vergleichen abspeichern Allgemeine Java-Themen 1
7 6 int variablen vergleichen Allgemeine Java-Themen 34
E Lesen von mehrere Csv-Datei und ihre Inhalte vergleichen Allgemeine Java-Themen 3
R Int werte vergleichen und Anzahl Paare ausgeben Allgemeine Java-Themen 4
OnDemand Spalten vergleichen Java Allgemeine Java-Themen 25
C Rechenzeit verschiedener Algorithmen vergleichen Allgemeine Java-Themen 4
OnDemand Dateien einlesen und vergleichen Allgemeine Java-Themen 1
L Zwei Files miteinander vergleichen und Grafisch darstellen Allgemeine Java-Themen 1
S String vergleichen Allgemeine Java-Themen 1
T Zwei Wortendungen vergleichen ohne .equals Allgemeine Java-Themen 10
N Variablen Positionen vergleichen ??? Allgemeine Java-Themen 2
A Bilder vergleichen auf gleichheit oder ähnlichkeit Allgemeine Java-Themen 8
J XML Dateien vergleichen Allgemeine Java-Themen 9
X Collections Hashmaps vergleichen Allgemeine Java-Themen 23
BRoll Image RGB Werte auslesen und vergleichen Allgemeine Java-Themen 8
S Zwei Comparable (compareTo) vergleichen Allgemeine Java-Themen 6
M Datentypen Referenzen oder seperate IDs vergleichen? Allgemeine Java-Themen 6
D Strings vergleichen; Komma ignorieren Allgemeine Java-Themen 3
J String nur erste Zeichen vergleichen Allgemeine Java-Themen 6
S Reports vergleichen Allgemeine Java-Themen 8
V ArrayList vergleichen mit .equals? Allgemeine Java-Themen 13
T Wörter Vergleichen Allgemeine Java-Themen 3
T Uhrzeiten vergleichen Allgemeine Java-Themen 4
P JAVA Bilder/Videos in Form von Files vergleichen Allgemeine Java-Themen 7
S Strings vergleichen Allgemeine Java-Themen 11
9 Dateinamen erfassen und vergleichen Allgemeine Java-Themen 6
S String Zeichen für Zeichen vergleichen Allgemeine Java-Themen 4
D String mit Wörterbuch vergleichen Allgemeine Java-Themen 12
I Input/Output Zeichenkette eingeben und vergleichen Allgemeine Java-Themen 2
Landei Hilfsklasse zum Vergleichen Allgemeine Java-Themen 5
S Datum vergleichen - ohne Hilfsmittel Allgemeine Java-Themen 8
1 zwei Strings vergleichen Allgemeine Java-Themen 16
F Vergleichen von Datumswerten Allgemeine Java-Themen 3
S Ergebnis von Cursor c1 mit Cursor c2 vergleichen Allgemeine Java-Themen 3
G Zwei bytes vergleichen Allgemeine Java-Themen 2
S Fixe Zahlen vergleichen Allgemeine Java-Themen 4
M Zeitangaben vergleichen Allgemeine Java-Themen 2
MonsterBit 2 Werte aus 2 Array vergleichen Allgemeine Java-Themen 10
1 String mit contains vergleichen (ignore case) Allgemeine Java-Themen 2
Developer_X Problem mit String vergleichen Allgemeine Java-Themen 3
Z zwei Daten vergleichen Allgemeine Java-Themen 4
nrg Leere Objektreferenz mit != null vergleichen Allgemeine Java-Themen 4
ARadauer PDF Vergleichen Allgemeine Java-Themen 16
S Alle Elemente von zwei Listen vergleichen Allgemeine Java-Themen 10
O Probleme beim vergleichen von 2 Datumsangaben Allgemeine Java-Themen 2
N 2 files auf gleichheit vergleichen Allgemeine Java-Themen 5
V Datum vergleichen Allgemeine Java-Themen 7
T Shapes vergleichen? Zeichen erkennen? Allgemeine Java-Themen 7
S Datei auf Server mit lokaler Datei vergleichen Allgemeine Java-Themen 4
M Warum Strings mit equals vergleichen... Allgemeine Java-Themen 6
G Datum vergleichen Allgemeine Java-Themen 5
A zwei listen vergleichen und unterschiede anzeigen Allgemeine Java-Themen 3
J Inhalt von HashMap vergleichen Allgemeine Java-Themen 3
S Anfänger: 2 Objekte vergleichen? Allgemeine Java-Themen 8
Y Mal wieder vergleichen von Strings.[Leider noch ein Problem] Allgemeine Java-Themen 18
K zipdatei mit txtdatei vergleichen Allgemeine Java-Themen 9
S 2 URIs vergleichen Allgemeine Java-Themen 4
C Viele Informationen aus zwei Collections vergleichen Allgemeine Java-Themen 2
QDog beliebige Objekte vergleichen Allgemeine Java-Themen 2

Ähnliche Java Themen

Neue Themen


Oben