gelöst Powershell - Seitenanzahl aus PDF ermitteln

Mitglied: Pat.bat

Pat.bat (Level 1) - Jetzt verbinden

25.10.2019 um 10:58 Uhr, 1332 Aufrufe, 9 Kommentare, 1 Danke

Hallo zusammen,

ich versuche gerade ein kleines Skript zu schreiben, das mir die Seitenanzahl der PDFs in einem Ordner ermittelt. Aber so einfach wie bei Textdateien wird das wohl nicht funktionieren.

Braucht man dafür wieder eine externe Library oder hat Powershell mit was an Board um Werte einer PDF auszulesen. Im Idealfall liegt die Anzahl der Seiten in den Metadaten.

Mfg

Pat
Mitglied: 141575
LÖSUNG 25.10.2019, aktualisiert um 11:33 Uhr
Mit iTextSharp bzw itext-dotnet z.B.
Oder auch mit pdftk
https://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/
pdftk file.pdf dump_data output

RAW auszulesen ist unzuverlässig und funktioniert nicht mit jedem PDF. Man sollte das PDF mit einem Parser korrekt parsen lassen.
Bitte warten ..
Mitglied: Kraemer
25.10.2019 um 11:23 Uhr
Moin,
Zitat von Pat.bat:
ich versuche gerade ein kleines Skript zu schreiben, das mir die Seitenanzahl der PDFs in einem Ordner ermittelt. Aber so einfach wie bei Textdateien wird das wohl nicht funktionieren.
wie kommst du darauf, dass das bei Textdateien einfacher wäre?
Bitte warten ..
Mitglied: Pat.bat
25.10.2019 um 11:32 Uhr
Hm also irgendwas mache ich falsch, er findet die dll nicht:

Zumindest gibt er mir diese Meldung:

Habe ich was vergessen oder spinnt ISE rum?
Bitte warten ..
Mitglied: 141575
25.10.2019, aktualisiert um 11:37 Uhr
Doch er findet die DLL nur der Namespace wird nicht gefunden
Falsche DLL genommen die den neueren Namespace nutzt . itext-dotnet?

Der Code ist für das alte iTextSharp 5.5 API
Bitte warten ..
Mitglied: Pat.bat
25.10.2019 um 11:50 Uhr
hm ich hatte die Version 5.5.13.1 von Github runtergeladen. Dort ist es als Nupkg verpackt. Anders kann ich es ehrlich gesagt auch nicht finden :S
Bitte warten ..
Mitglied: 141575
25.10.2019 um 11:56 Uhr
Dann hastes für die falsche NET Version geladen.
Bitte warten ..
Mitglied: 141575
25.10.2019, aktualisiert um 16:19 Uhr
Noch als Ergänzung, mit dem neuen iText7-dotnet sieht das so aus (getestet):
So Thema erledigt, isch bin raus....
Bitte warten ..
Mitglied: Pat.bat
29.10.2019, aktualisiert um 14:17 Uhr
@Chickenwing hab mich nochmal etwas mehr mit beschäftigt und dein Vorschlag mit dem pdftk funktioniert super.

So bekomme ich nun die Seitenanzahl der PDFs raus


Eine Sache nur noch, ist vll was kleines, aber Nachdem ich mir die Seitenanzahl in eine Variable speichere und mit einer einfachen Wenn Abfrage prüfen will ob das PDF mehr als 10 Seiten hat, geht auch auch dann rein, wenn das PDF zb. nur 2 Seiten hat. PDFs die nur eine Seite haben überspringt er tatsächlich.

EDIT: Habs gefunden, ich musste die Variable $NumberOfPages als Integer deklarieren, damit er das auch wirklich als Zahl ansieht. Nun funktioniert alles perfekt. Obiger Code ist jetzt fertig. Danke nochmal
Bitte warten ..
Mitglied: 141575
29.10.2019, aktualisiert um 14:51 Uhr
So bekomme ich nun die Seitenanzahl der PDFs raus
Geht auch mit obigem Code auch einwandfrei, du machst es nur falsch . Mach ich schon jahrelang damit funktioniert überall. Naja, dann lern mal schön.
dir "$Path\*.pdf"
Fällt dir auf die Schnauze wenn der Ordner einen Ordner mit der Endung ".pdf" hat . bei sowas hinten dran immer noch ein -File, dann werden wirklich nur Dateien zurückgeliefert.
Bitte warten ..
Heiß diskutierte Inhalte
Windows 10
Windows 10 Pro mehrere RDP Benutzer
Jannik2018FrageWindows 1017 Kommentare

Hallo zusammen, kann ich bei Windows 10 Pro irgendwie Freischalten das 2 benutzer sich gleichzeitig per RDP verbinden können ...

CPU, RAM, Mainboards
Hardwareanforderung für Remote Desktop
gelöst Diddi-tbFrageCPU, RAM, Mainboards11 Kommentare

Hallo zusammen, ich brauche mal wieder einen Rat von euch. Mein Chef möchte gerne öfter von zu Hause aus ...

Windows Server
Veeam - DCs restore - 0xc00002e2
Freak-On-SiliconFrageWindows Server10 Kommentare

Servus; Ich hab hier zwei Server 2012R2 DCs auf jeweils einem Hyper-V sitzen. Gesichert wird mit Veeam B&R. JA, ...

Drucker und Scanner
HP LaserJet P3005n muss einmal täglich neu gestartet werden, damit er druckt
HelljumperFrageDrucker und Scanner10 Kommentare

Hallo, seit einiger Zeit macht der Drucker eines Kollegen Probleme: Und zwar geht es um einen HP LaserJet P3005n. ...

Multimedia & Zubehör
Anforderungen an Telefonanlage
jensgebkenFrageMultimedia & Zubehör10 Kommentare

Hallo Gemeinschaft, bin auf der Suche nach einer Telefonanlage die folgendes können muss: - unterschiedliche Ansagen (z.b. während der ...

Windows 10
Probleme mit SMB1-Netzwerklaufwerken seit Build 2004
cmiit97FrageWindows 109 Kommentare

Moin, ich habe seit dem ich auf einigen Computer das Update 2004 installiert habe, das gemappte Laufwerke die noch ...

Ähnliche Inhalte
Batch & Shell
Powershell, PDF
AnkhMorporkFrageBatch & Shell6 Kommentare

Hallo zusammen, ich komme mit der Suche nicht weiter Situation: ca. 2000 PDF-Dateien (Downloads von E-Mails). In der ersten ...

Batch & Shell
Powershell - PDF - String - Durchsuchen?
gelöst ZZaaiiggaaFrageBatch & Shell7 Kommentare

Hallo zusammen, vielen Dank für die Hilfe die ich hier bereits erhalten habe! Es werden PDFs eingelesen und diese ...

Windows Server

Druckaufträge Seitenanzahl Begrenzen GPO

gelöst Hendrik2586FrageWindows Server6 Kommentare

Guten Morgen meine lieben MItstreiterinnen und Mitstreiter. Ich stehe vor einem Kundenwunsch den ich so auch noch nirgends gelesen ...

Batch & Shell

PowerShell - PDF auslesen und trennen

gelöst Pat.batFrageBatch & Shell6 Kommentare

Hallo zusammen, ich bin gerade am recherchieren wie ich in einer PDF mit ca. 210 Seiten jede Seite nach ...

Microsoft Office

Excel Seitenanzahl beim Druck anzeigen

gelöst NurWeilEsGehtFrageMicrosoft Office7 Kommentare

Hallo, ich habe ein Problem mit Excel! Ich finde die Einstellung nicht, bei der man beim Druck die Seitenzahl ...

Batch & Shell

Powershell: Restspeicherplatz von C: und D: ermitteln

gelöst HeuristikerFrageBatch & Shell7 Kommentare

Hallo Leute, nutze ein Powershell-Skript, dessen Kernbefehl den restlichen Plattenplatz ermittelt und in eine CSV-Datei exportiert: gwmi Win32_LogicalDisk -ComputerName ...

Berechtigungs- und IdentitätsmanagementBerechtigungs- und IdentitätsmanagementWebdienste und -serverWebdienste und -serverDatenbankenDatenbankenMonitoring & SupportMonitoring & SupportHybrid CloudHybrid CloudSmall Business ITSmall Business IT