![]() |
Pdf in einzelne Seiten als Bilder zerlegen
Ich bekomme gescannte Pdf´s, die ich aufarbeiten muss.
Da gibt es unterschiedliche Dokumente, die einseitig oder mehrseitig gescannt sein können. In einer Pdf können mehrere Dokumente enthalten sein, die wieder getrennt werden müssen. Es können Leerseiten enthalten sein und auch die Reihenfolge kann durcheinander sein. Da die PDF´s ohnehin nur Bitmaps je Seite enthalten möchte ich einfach diese Bitmaps extrahieren Page1.bmp, Page2.bmp... und diese weiter verarbeiten (das ginge auch über SeiteInBitmapDrucken(Nr) oder so). Leerseiten können dann leicht gelöscht und die übrigen Seiten neu zusammengestellt werden. So können aus den 10 Chaos-Seiten z.B. 3 ordentliche Dokumente zusammengestellt werden. Die drei Dokumente sollen dann wieder als PDF´s gespeichert (gedruckt) werden. Diese Umwandlungen können problemlos über das Filesystem laufen (SaveAs()). Weiß jemand, wie man das am besten angehen könnte? Teure Tools passen nicht für mich. Ich will mir mal den Sumatra Viewer anschauen. Vielleicht hat ja dennoch schon mal jemand einen Tipp für mich... |
AW: Pdf in einzelne Seiten als Bilder zerlegen
Es gibt Delphi-Komponenten (z.B. DevExpress oder ImageEn) und auch ActiveX-Komponenten und Dergleichen,
da kannst im Delphi eine PDF drucken, in Bitmaps exportieren, von Bitmaps importieren, Seiten/Teile bearbeiten/einfügen/löschen und wieder speichern. Auch Fast Report kann PDFs erstellen. (die kosten aber oft ä bissl was) Dann gibt es bestimmt garantiert auch Consolen-Tools, denen man sagen kann "hier hast Bilder, mach PDF draus" oder "hier hast PDF, mach Bilder daraus". ( ![]() Es gibt auch für alles Mögliche virtuelle Drucker. * irgendeinem PDF-Programm sagen "drucke PDF" und wählst einen Drucker der als Bild(er) speichert ** Acrobat und Foxit lassen sich via OCX oder über Parameter aufrufen und automatisch drucken * und dann druckste (mit fremden Programm oder TPrinter) die Bilder über einen Drucker, der als PDF speichert. Über ShellExecute Operation=PRINT und File=deine Datei kannst zwar oft mit "irgendeinem" Standardprogramm drucken, aber dort kann man nicht sagen welcher Drucker es werden soll. (wird hoffentlich der Standarddrucker benutzt) Drum ist es dann immer besser, wenn man das "gewünschte" Programm startet und muß hoffen, dass man es via Parameter starten und gezielt drucken lassen kann. Über WLS kannst jetzt im Windows auch viele der kostenlosen Linux-Tools benutzen, falls dir keines der Windows-Consolen-Tools gefällt. Bei ImageEn und DevExpress könnte ich helfen (haben wir schon bissl was mit gemacht) und für Adobe/Foxit kann ich schnell mal die Parameter/Schnittstellen raussuchen (falls du in Google nicht fündig werden möchtest) |
AW: Pdf in einzelne Seiten als Bilder zerlegen
Wir haben in der Firma eine ähnliche Vorgabe, aus PDFs automatisiert Leerseiten zu entfernen. Wir benutzen dafür PdfTk (bei uns auf Linux, aber das gibt's auch für Windows).
Code:
Erste Zeile: Zerlegen in Einzelseiten. Das %04d gibt dabei eine vierstellige Zahl mit führender Null an (damit genügend Platz ist für bis zu 9999 Seiten ;)).
pdftk "$1" burst output "${pfad}/pg_%04d.pdf"
find "${pfad}" -iname 'pg_*.pdf' -size -8000c -delete pdftk "${pfad}"/pg_*.pdf cat output "$1" compress Zweite Zeile: Finden und Löschen von Leerseiten (maximal 8000 Bytes). Für Windows müsste man sich einen anderen Befehl suchen (for-Schleife bietet sich an, da es dort Parameter für die Größe gibt). Dritte Zeile: Einzelseiten wieder zu einem PDF zusammenbauen. Wenn du es von Hand machen kannst oder willst: Mit PDF-XChange Viewer kann man jedes PDF in verschiedene Grafikformate exportieren lassen (Datei > Export > Als Bild). Grüße Dalai |
AW: Pdf in einzelne Seiten als Bilder zerlegen
Danke schon mal an Euch!
Ich schaue mir gerade SynPdf an. Scheint vielversprechend zu sein. :-) Melde mich wieder... |
AW: Pdf in einzelne Seiten als Bilder zerlegen
|
AW: Pdf in einzelne Seiten als Bilder zerlegen
Ich habe es jetzt mit PdfiumLib gelöst.
Funktioniert wunderbar. :-) -> ![]() Die Lizenzbedingen muss ich noch versuchen, zu verstehen... :gruebel: |
AW: Pdf in einzelne Seiten als Bilder zerlegen
Schau auch mal in welchem Format deine PDF gespeichert wird, bzw. ob du das irgendwie vorgeben kannst.
PDF/A wäre da vermutlich passend. ![]() Da wird sich im PDF nur noch auf gewisse standardisierte Dinge beschränkt und auf externe/veränderliche Sachen verzichtet, welche in Zukunft im PDF-Reader fehlen könnten. Außerdem kann man z.B. als XML oder CSV Zusatzinfos standardisiert in der PDF speichern. Ist zwar jetzt hier nicht ganz so interessant, wobei da eventuell deine TAGs reinpassen würden. Speziell ist es dafür gedacht, dass wenn du z.B. eine Rechnung als PDF druckst, die "Rohdaten" nochmal in maschinenlesbarer Form im PDF liegen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:00 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-2025 by Thomas Breitkreuz