PDF Vergleichen

Status
Nicht offen für weitere Antworten.

ARadauer

Top Contributor
Hi ich bin gerade dabei, ein kleines Test System für PDF Generatoren zu schreiben.
Ich habe nun ein paar PDF Files erstellt und müsste sie auf Unterschiede vergleichen. Wie gehe ich an so ein Problem heran?
Ich denke daran die PDFs in Bilder umzuwandeln, zu subtrahieren und vielleicht dann das Differnzbild azuszuwerten...

Hat schon schon mal jemand sowas gemcht. bzw wie könnte ich am einfachstenein PDF in ein Jpg umwandeln?

Danke
 
M

maki

Gast
Was genau willst du denn Testen?
Ob der pdf-generator richtig funktioniert? Hast du den geschrieben?
 

ARadauer

Top Contributor
Was genau willst du denn Testen?
Ob der pdf-generator richtig funktioniert? Hast du den geschrieben?

Unterschiede zwischen Ibex Versionen...

java.lang.ArrayIndexOutOfBoundsException: 1
at com.sun.pdfview.colorspace.PDFColorSpace.getColorSpace(PDFColorSpace.java:196)
at com.sun.pdfview.PDFImage.createImage(PDFImage.java:160)
at com.sun.pdfview.PDFParser.doImage(PDFParser.java:950)
at com.sun.pdfview.PDFParser.doXObject(PDFParser.java:935)
at com.sun.pdfview.PDFParser.iterate(PDFParser.java:704)
at com.sun.pdfview.BaseWatchable.run(BaseWatchable.java:101)
at com.sun.pdfview.BaseWatchable.execute(BaseWatchable.java:263)
at com.sun.pdfview.BaseWatchable.go(BaseWatchable.java:197)
at com.sun.pdfview.PDFParser.doForm(PDFParser.java:992)
at com.sun.pdfview.PDFParser.doXObject(PDFParser.java:937)
at com.sun.pdfview.PDFParser.iterate(PDFParser.java:704)
at com.sun.pdfview.BaseWatchable.run(BaseWatchable.java:101)
at java.lang.Thread.run(Thread.java:619)
danke sun...


Geht mir um so dinge wie.. ist eh nix Abgeschnitten, sind die Bilder gleich groß, ist alles an der richtigen stelle...

Konkreter vielleicht, eine andere Abteilung sagt: "wir wollen die Version unserers XSL:FO Processors umstellen, hat das eh keine Auswirkungen bei euch?" Ich muss nun einen rießen Haufen Vorlagen testen... das will ich einwenig automatisieren...
 
Zuletzt bearbeitet:
M

maki

Gast
Das ist nicht Suns Fehler, bedanke dich bei dem Entwickler der auf die idiotische Idee kam com.sun.* packages zu verwenden, das soll man nämlich nicht, denn diese sind intern, können sich jederzeit ändern und sind nicht Teil des JDKs.

In der Tat, ein unangenehmes Problem, viellciht wäre hier der Weg über eine high-level PDF Api besser um die Dokumente zu vergleichen als über Bilder, ein eigener Assert wäre jedenfalls das Ziel.
 

ARadauer

Top Contributor
Das ist nicht Suns Fehler, bedanke dich bei dem Entwickler der auf die idiotische Idee kam com.sun.* packages zu verwenden, das soll man nämlich nicht, denn diese sind intern, können sich jederzeit ändern und sind nicht Teil des JDKs.
Das war ich, vor... 15 Minuten... Ich wollte einfach schnell ein Bild aus dem PDF machen, das war nur mal ein Versuch...

über eine high-level PDF Api besser um die Dokumente zu vergleichen
Wie meinst du das? Bzw welche meinst du?
 
M

maki

Gast
k.A. ehrlich gesagt, hat PDFBox da nix?

Konkreter vielleicht, eine andere Abteilung sagt: "wir wollen die Version unserers XSL:FO Processors umstellen, hat das eh keine Auswirkungen bei euch?" Ich muss nun einen rießen Haufen Vorlagen testen... das will ich einwenig automatisieren...
Dazu sind normale Unitest bzw. learning Tests sehr gut geeignet, klappt prima bei "normalen Frameworks (Hibernate, Spring, etc. pp.), dein Problem ist eben das Format (pdf), wie gesagt, würde da nicht Bilder vergleichen sondern versuchen das über high-level zu lösen, schlimmstenfalls das PDF File manuell parsen...

Was auch eght wäre das du eine erstellte & verifizierte Version des PDF unter deinem Testressourcen ablegst und es als "expected" betrachtest, dann dagegen deine neu erstellten und zu verifizierenden PDFs vergleichst.

NAHCTRAG: Bin gerade über jpdfunit gestolpert, k.A. ob das funnzt, würde ich an deiner Stelle aber mal testen ;)
 
Zuletzt bearbeitet von einem Moderator:

ARadauer

Top Contributor
Wie soll ich vergleichen? Um das gehts mir. Was meinst du mit high-level, bzw manuell parsen?
Es geht mir darum, ob die PDF gleich aussehen sollen.

PDFBox ... schau ich mir gleich an...
 
M

maki

Gast
Was ich meine ist, dass du rigendwie eine Methode haben müsstest, die ungefähr so aussieht:
Java:
public static void assertPdfFilesAreEqual(String message, File expected, File actual) {
...
}
Oder so ähnlich.

Bei solchen Dingen sind autom. Tests immer kompliziert.
 

ARadauer

Top Contributor
jpdfunit ist nicht gerade das was ich suche. Es geht mir wirklich primär um das Aussehen, (Abstände, Ränder usw...) des PDF. Irgendwelche Texte die im PDF sein müssen zu überprüfen, macht keinen Sinn, da diese sicher drinnen sind, nur ob an den richtigen Stellen, das ist die Frage... bzw "richtig" stimmt auch nicht ganz... sondern eher an der selben Stellen wie beim anderen PDF..

PDFBox hat mir da schon mehr geholfen. Jetzt hab ich Bilder der PDFs und möchte diese miteinander Vergleichen. Es geht mir nicht darum, dass ich jeden Tag 200 Tests ausführe, sondern eher dass ich einen Testaufwand von 20 Stunden den ich jede 6 Monate habe auf 2 Stunden reduziere...

Meine Frage jetzt: Ich habe zwei BufferedImages und möchte in Diffenzbild daraus erstellen, wie mache ich das am einfachsten?

Ich weiß noch in Matlab war das einfach sowas... img3 = img2-img1;
 

ARadauer

Top Contributor
Java:
 BufferedImage img1 = readFile(pdf[0]);
      BufferedImage img2 = readFile(pdf[1]);   
      BufferedImage img3 = new BufferedImage(img1.getWidth(), img1.getHeight(), img1.getType());
      
      Graphics2D g2 =(Graphics2D) img3.getGraphics();
      g2.drawImage(img1,0,0, null);
      g2.setXORMode(Color.white);
      g2.drawImage(img2,0,0, null);
      ImageIO.write(img3, "jpeg", new File("c://out/new.jpg"));
....
das wollte ich...
 

ARadauer

Top Contributor
Die Bilder die mit PDFBox erstellt sehen anders aus als das PDF im Acrobat oder im Druck... tja dann war das umsonst...
 

musiKk

Top Contributor
Das hängt halt immer davon ab, was für Features in den Dokumenten sind. Je ausgefallener, desto unwahrscheinlicher ist natürlich, dass freie Libraries diese unterstützen. Der Support ist da sehr gemischt. Du kannst Dir ja mal JPedal anschauen, das scheint wohl recht gut zu sein.

Oder Du wartest nochmal sechs bis zwölf Monate, bis meine PDF-Library fertig ist... ;)
 
U

Unregistriert

Gast
Die Bilder die mit PDFBox erstellt sehen anders aus als das PDF im Acrobat oder im Druck... tja dann war das umsonst...

Das hätte ich dir auch gleich sagen können.

Der Acrobat hat auch noch eine Einstellung für Bildschirmbetrachtung die das PDF-Verändern, zumindest Farbwerte, Kantenglättung, etc....

Vor einiger Zeit hatte ich auch mit PDF-Erstellung mit iText zu tun.

Abhängig, davon ob eine bestimmte Grafik auf einer Seite eingebunden war, veränderten sich andere Farbwerte auf der Seite beim Betrachten mit dem Acrobat-Reader.

Das selbe Dokument im Foxit-Reader lieferte die in iText angegebenen Farbwerte zurück.

Acrobat geht da einen sehr eigenen Weg, man könnte fast meinen die wären eine Tochter von MS.
 

ARadauer

Top Contributor
Der Acrobat hat auch noch eine Einstellung für Bildschirmbetrachtung die das PDF-Verändern, zumindest Farbwerte, Kantenglättung, etc....
ein Rahmen der im Druck und im Acrobat durchgängig ist, ist im erstellten Bild strichliert...
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Ü 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
A PDF Content vergleichen Allgemeine Java-Themen 3
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
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
G schnell Strings vergleichen Allgemeine Java-Themen 4
V Zwei ArrayList(s) vergleichen Allgemeine Java-Themen 6
D Vergleichen von Datensätzen Allgemeine Java-Themen 2
M Name von Wochentagen vergleichen Allgemeine Java-Themen 3
J Dateien binär vergleichen Allgemeine Java-Themen 8
J Datei Inhalt vergleichen (schnell & effizient!) Allgemeine Java-Themen 10
P Bit für Bit vergleichen Allgemeine Java-Themen 15

Ähnliche Java Themen

Neue Themen


Oben