Ich habe hier eine PDF-Datei mit Karten des Gebäudes, in dem ich arbeite:
http://www.libsys.und.edu/dev/FloorPlans_All.pdf
Die ursprünglichen Quelldateien sind verloren gegangen, und ich wurde gebeten, die Kartenbilder zu extrahieren, vorzugsweise ohne den Text und die Symbole, die darüber gelegt wurden. Dies hat sich als ärgerlich schwierig erwiesen.
Bisher habe ich folgende GUI-Programme ausprobiert:
- Adobe Reader: Mit dieser Option kann ich Text auswählen, jedoch nicht die Hintergrundbilder
- FoxIt PDF Viewer: Mit dieser Option kann ich Text auswählen, jedoch nicht die Hintergrundbilder
- XPDF unter Ubuntu 10.10: Ermöglicht die Auswahl von Text, jedoch nicht der Hintergrundbilder
Und auch die folgenden Kommandozeilenprogramme:
- pdfimages: Extrahiert die Symbole für Badezimmer, aber nicht die Hintergrundbilder
- pdftohtml: Entspricht pdfimages und erstellt ein schlecht markiertes HTML-Dokument
- pdfextract: wie pdfimages
- konvertieren: erfolgreich gespeicherte Bilder, aber mit dem darin eingebrannten Text
Ich habe sogar versucht, die PDF-Datei manuell in einem Texteditor zu öffnen und die Stream-Objekte zu extrahieren, indem ich sie in eine neue Datei einfügte und sie mit der Erweiterung .jpg, .png oder .bmp speicherte (jeweils nacheinander). Wenn man bedenkt, wie wenig ich über die interne Struktur von PDF-Dateien weiß, ist es keine Überraschung, dass dies nicht funktioniert hat.
Also ... gibt es eine Möglichkeit, die Kartenbilder von diesem Ding abzurufen, ohne auch den Text und die Symbole zu erhalten?
qpdf
, um die Binärteile so weit wie möglich in ASCII zu konvertieren. (2) Verwenden Sie einen Texteditor, um den gesamten Text unsichtbar zu machen, den ich nicht auf dem Bildschirm oder in Ausdrucken sehen möchte (dies kann einfach und ohne Beschädigung der XRef-Tabelle durch Umschalten der unsichtbaren Flagge erreicht werden). (3) Destillieren Sie das Ergebnis erneut mit Ghostscript, um die Größe so gering wie möglich zu halten. - Leider kann Ihre Datei nicht mehr heruntergeladen werden, um die Vorgehensweise zu demonstrieren ...