AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein PDF-Doks auf doppelte Seiten vergleichen
Thema durchsuchen
Ansicht
Themen-Optionen

PDF-Doks auf doppelte Seiten vergleichen

Ein Thema von frieder2008 · begonnen am 12. Jun 2015 · letzter Beitrag vom 14. Jun 2015
Antwort Antwort
frieder2008

Registriert seit: 28. Feb 2009
78 Beiträge
 
#1

PDF-Doks auf doppelte Seiten vergleichen

  Alt 12. Jun 2015, 21:57
Liebe Leute,

ich habe ein Datenproblem, bei dem ich via Google nicht weiterkomme, sprich, ein fertiges Tool scheint es nicht zu geben. Bliebe also nur die eigene Programmierung. Zu dem folgendem Thema habe ich aber überhaupt keine Erfahrung:

- Ich habe etwa 180T PDF-Dokumente (mit unterschiedl. Dateinamen)
- jedes PDF hat mind. 1 Seite, manchmal mehrere
- Es ist davon auszugehen, dass manche Seiten in verschiedenen PDF-Dokumenten zugleich / parallel (!) vorhanden sind

Da ich die Daten zu Forschungszwecken benötige, muss ich doppelte Seiten ausschließen.

Welchen Ansatz könnte ich wählen, damit ich idealiter - vor einer Konvertierung in RTF oder gar via mühsamer / fehlerträchtiger Duplikat-Suche auf Basis von TXT-Äquivalenten (die immer ein bisschen anders aussehen...) - solche doppelten Seiten oder Dateien mit gleichen Seiten identifizieren kann?

Bin für jeden Tipp dankbar!

Viele Grüße und schönen Abend wünscht:
der Frieder
  Mit Zitat antworten Zitat
vagtler

Registriert seit: 9. Jul 2010
Ort: Köln
667 Beiträge
 
Delphi 2010 Professional
 
#2

AW: PDF-Doks auf doppelte Seiten vergleichen

  Alt 13. Jun 2015, 08:38
Ohne Konvertierung wird es hart. Ein Ansatz könnte die in http://superuser.com/questions/47320...n-pdf-document beschriebene Vorgehensweise sein.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.213 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: PDF-Doks auf doppelte Seiten vergleichen

  Alt 13. Jun 2015, 09:40
... dass manche Seiten in verschiedenen PDF-Dokumenten zugleich / parallel (!) vorhanden sind

Da ich die Daten zu Forschungszwecken benötige, muss ich doppelte Seiten ausschließen.

... fehlerträchtiger Duplikat-Suche auf Basis von TXT-Äquivalenten ...
Hier wäre zu definieren wann eine Seite gleich ist und als Duplikat gekennzeichnet werden muss und wann sie nur ähnlich ist.
Oder wäre sogar eine genauere Unterscheidung nötig wie sie z.B. bei http://de.vroniplag.wikia.com/wiki/Home gemacht wurde?
Müssen auch Bilder untersucht werden oder reicht der Text?
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#4

AW: PDF-Doks auf doppelte Seiten vergleichen

  Alt 13. Jun 2015, 10:06
Je nachdem mit welchen Parametern das Dokument erstellt wurde, kann es intern ganz anders aussehen als ein Dokument, das z.B. gedruckt genau gleich aussieht.
Ich denke Du solltest mögliche ähnliche Seiten suchen (Textfragmente) und diese dann durch eigenen Augenschein erledigen.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
frieder2008

Registriert seit: 28. Feb 2009
78 Beiträge
 
#5

AW: PDF-Doks auf doppelte Seiten vergleichen

  Alt 13. Jun 2015, 10:36
Moin zusammen,

zunächst mal Danke für Eure Rückmeldungen. Ja, nach weiterer Recherche sehe ich auch, dass ich zuerst in RTF wechseln muss. Das wollte ich eben machen und stelle eben fest, dass es ausgerechnet dieses Mal Probleme gibt (Adobe Acrobat Pro X): Die PDFs sind nicht geschützt, enthalten bereits super ocr-erkannten Text, aber bei der Konvertierung in RTF ist der Text nur als Bild enthalten. Konvertierung direkt in TXT scheitert gänzlich. Eine Idee, woran das liegen kann? Konvertierung erst in TIFF o.ä. und dann erneut OCR macht ja wenig Sinn, zumal die bestehende Erkennung bereits früher mal sauber korrigiert wurde.

Wenn ich die RTF habe, ist mir das Verfahren einigermaßen klar. Ich hatte gehofft, mir "manuelles" sparen zu können. Da die Seiten - zumindest für den jeweiligen Zeitraum der Erstellung - alle nach dem gleichen FOrmat aufgebaut sind, könnte es klappen via RegEx jeweils den Seitenkopf zu identifizieren und zu vergleichen. Aber ehe ich soweit bin, muss ich erst mal das PDF->RTF-Problem lösen.

Schöne Grüße,
Frieder

Edit: @vagtler: Das wäre in der Tat ein Ansatz, schaue ich mir nochmal genauer an!

Geändert von frieder2008 (13. Jun 2015 um 10:40 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.544 Beiträge
 
Delphi 12 Athens
 
#6

AW: PDF-Doks auf doppelte Seiten vergleichen

  Alt 13. Jun 2015, 10:45
Gängige Vorgehensweise bei Bearbeitung / Anzeige von PDF-Dokumenten ist, die PDF-Datei zu laden und dann sich eine Seite als Bitmap "rendern" zu lassen, die angezeigt werden soll.

Du könntest also entsprechend vorgehen, jede Datei öffnen, jede Seite rendern und von der Bitmap ein Fingerprint erstellen (z.B. MD5) und in eine Datenbank speichern (nebst Seitenzahl, Dateiname). Jedes mal, wenn Du das machst, vergleichst Du, ob der Fingerprint bereits in der Datenbank steht, wenn ja, erhöhst Du einen Zähler und/oder legst zusätzlich eine Information zum Fundort der doppelten Seiten an.

Ich arbeite in meinem PDF-Manager-Programm mit den DEBENU-PDF-Komponenten, die sind sehr schnell und zuverlässig.
  Mit Zitat antworten Zitat
frieder2008

Registriert seit: 28. Feb 2009
78 Beiträge
 
#7

AW: PDF-Doks auf doppelte Seiten vergleichen

  Alt 13. Jun 2015, 11:19
Hallo Harry,

ok, darauf hätte man natürlich selbst kommen können. Da die einzelnen Seiten sehr wahrscheinlich eine gemeinsame Quelle haben (also alles mal aus einem einzigen Scan stammte und dann dateispezifisch Seiten kombiniert wurden), müsste das mit dem Rendern/Fingerprint hinhauen.

Hast Du zufällig auch einen Tipp zu dem Problem PDF->RTF-Problem?
Edit: Die Alternative, erst alles in TIFF und dann zurück OCR-Erkennung geht zwar, aber die OCR-Erkennungsqualität ist um Meilen schlechter als die bereits in den PDF-Quelldateien vorliegende...

Danke!

Schöne Grüße,
der Frieder

Geändert von frieder2008 (13. Jun 2015 um 11:33 Uhr)
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#8

AW: PDF-Doks auf doppelte Seiten vergleichen

  Alt 13. Jun 2015, 11:34
Blöd ist, wenn die eine Seite um einen Pixel versetzt gerendert wird und einige Graustufen doch anders sind.

D.h. sind die Seiten auch nach dem Rendern identisch, also 1:1 pixelgenau? Ansonsten würde ich die Bitmaps auf Ähnlichkeit hin vergleichen. Alternativ wäre aber es aber auch möglich, die PDF in reinen Text zu überführen und dann mit Diff-Tools 'große Gemeinsamkeiten' herauszufinden. Z.B. über Wortlisten je Seite. Dann kann man einen Ähnlichkeitsindex der Seiten erstellen.

Ähnlichkeitsindex (Seite1,Seite2) = Anzahl identischer Wörter (Seite1, Seite2) / Max (AnzahlWörter(Seite1)AnzahlWörter(Seite2))

Alles > 0.8 ist suspekt.
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.190 Beiträge
 
Delphi 10 Seattle Enterprise
 
#9

AW: PDF-Doks auf doppelte Seiten vergleichen

  Alt 13. Jun 2015, 11:38
Wollte ich auch grade sagen: Die PDF-Seiten optisch zu vergleichen finde ich auch die beste und zuverlässigste Methode, aber exakt gleich werden die wohl niemals sein. Deshalb müsste man da wirklich auf Ähnlichkeit und nicht Exaktheit prüfen.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:26 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz