AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Pdf in einzelne Seiten als Bilder zerlegen
Thema durchsuchen
Ansicht
Themen-Optionen

Pdf in einzelne Seiten als Bilder zerlegen

Ein Thema von stahli · begonnen am 24. Jul 2020 · letzter Beitrag vom 25. Jul 2020
Antwort Antwort
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.336 Beiträge
 
Delphi 11 Alexandria
 
#1

Pdf in einzelne Seiten als Bilder zerlegen

  Alt 24. Jul 2020, 21:54
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...
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.116 Beiträge
 
Delphi 12 Athens
 
#2

AW: Pdf in einzelne Seiten als Bilder zerlegen

  Alt 24. Jul 2020, 22:34
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". (Bei Google suchengoogle)

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)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (24. Jul 2020 um 23:23 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.680 Beiträge
 
Delphi 5 Professional
 
#3

AW: Pdf in einzelne Seiten als Bilder zerlegen

  Alt 25. Jul 2020, 07:17
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:
pdftk "$1" burst output "${pfad}/pg_%04d.pdf"
find "${pfad}" -iname 'pg_*.pdf' -size -8000c -delete
pdftk "${pfad}"/pg_*.pdf cat output "$1" compress
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 ).
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
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.336 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Pdf in einzelne Seiten als Bilder zerlegen

  Alt 25. Jul 2020, 07:22
Danke schon mal an Euch!

Ich schaue mir gerade SynPdf an.
Scheint vielversprechend zu sein.

Melde mich wieder...
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.170 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Pdf in einzelne Seiten als Bilder zerlegen

  Alt 25. Jul 2020, 07:56
Schau dir auch mal die PDF-Box an
https://pdfbox.apache.org/2.0/commandline.html
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.336 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Pdf in einzelne Seiten als Bilder zerlegen

  Alt 25. Jul 2020, 10:25
Ich habe es jetzt mit PdfiumLib gelöst.
Funktioniert wunderbar. -> https://youtu.be/89sAKxQ7fvU

Die Lizenzbedingen muss ich noch versuchen, zu verstehen...
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.116 Beiträge
 
Delphi 12 Athens
 
#7

AW: Pdf in einzelne Seiten als Bilder zerlegen

  Alt 25. Jul 2020, 11:16
Schau auch mal in welchem Format deine PDF gespeichert wird, bzw. ob du das irgendwie vorgeben kannst.

PDF/A wäre da vermutlich passend.
https://de.wikipedia.org/wiki/PDF/A
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.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  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 03:51 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz