PowerShell - PDF auslesen und trennen
Hallo zusammen,
ich bin gerade am recherchieren wie ich in einer PDF mit ca. 210 Seiten jede Seite nach einem Stichwort auslesen kann, damit ich dann zb. alle Seiten mit einem Stichwort in eine extra PDF speichern kann. Und das ganze mit ca. 10 Stichwörtern.
Da es wohl mit stock PowerShell nicht wirklich funktioniert bzw nur mit großem Aufwand und man eher eine Bibliothek wie zb. PDFsharp benutzen sollte, wollte ich hier erst einmal nachfragen ob der eine oder andere mit derartigen tools schon gearbeitet hat und was empfehlenswert ist?
Ich habe derzeit erstmal Probleme die pdfsharp.dll in Powershell einzubinden. Danach hatte ich es via Visual Studio und VB.net mittels NuGet versicht, allerdings müsste ich hier komplett neu einarbeiten. Ich hätte die Lösung eigentlich lieber bei PowerShell, da ich derzeit alles damit mache. Oder meint ihr mit VS C#/vb.net gehen die Sachen sowieso besser/einfacher?
Bin mir momentan nicht sicher mit welcher Lösung ich das am besten hinbekomme.
Ich bedanke mich schonmal über eure Erfahrungen und Tips.
Mit freundlichen Grüßen,
Pat
ich bin gerade am recherchieren wie ich in einer PDF mit ca. 210 Seiten jede Seite nach einem Stichwort auslesen kann, damit ich dann zb. alle Seiten mit einem Stichwort in eine extra PDF speichern kann. Und das ganze mit ca. 10 Stichwörtern.
Da es wohl mit stock PowerShell nicht wirklich funktioniert bzw nur mit großem Aufwand und man eher eine Bibliothek wie zb. PDFsharp benutzen sollte, wollte ich hier erst einmal nachfragen ob der eine oder andere mit derartigen tools schon gearbeitet hat und was empfehlenswert ist?
Ich habe derzeit erstmal Probleme die pdfsharp.dll in Powershell einzubinden. Danach hatte ich es via Visual Studio und VB.net mittels NuGet versicht, allerdings müsste ich hier komplett neu einarbeiten. Ich hätte die Lösung eigentlich lieber bei PowerShell, da ich derzeit alles damit mache. Oder meint ihr mit VS C#/vb.net gehen die Sachen sowieso besser/einfacher?
Bin mir momentan nicht sicher mit welcher Lösung ich das am besten hinbekomme.
Ich bedanke mich schonmal über eure Erfahrungen und Tips.
Mit freundlichen Grüßen,
Pat
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 453764
Url: https://administrator.de/contentid/453764
Ausgedruckt am: 20.11.2024 um 02:11 Uhr
6 Kommentare
Neuester Kommentar
Servus Pat,
mein Code aus dem Link von @139708 sollte dir schon eine gute Grundlage mit iText geben.
Etwas optimierter ausgeführt und auf deine Anforderungen angepassten Code kannst du hier als Komplett-Paket inkl. Beispiel herunterladen:
extract_pages_to_new_files_453764.zip
Grüße Uwe
mein Code aus dem Link von @139708 sollte dir schon eine gute Grundlage mit iText geben.
Etwas optimierter ausgeführt und auf deine Anforderungen angepassten Code kannst du hier als Komplett-Paket inkl. Beispiel herunterladen:
extract_pages_to_new_files_453764.zip
Grüße Uwe
Aber ich verzweifel gerade daran, abzufangen, wenn ein Begriff nicht gefunden wird.
Tipp: Mit Where-Object die zutreffenden Seiten ausfiltern und nur bei Array größer 0 ein neues Dokument erzeugen, sonst nicht.Weiß da jemand wie man das lösen kann?
Ja, lad dir das Demo-Package, da ist alles das drin was du brauchst, fix un feddisch
Im Demo-Package von oben siehst du wie es geht. Ausschnitt:
$foundpages = 1..($reader.NumberOfPages) | ?{[iTextSharp.text.pdf.parser.PdfTextExtractor]::GetTextFromPage($reader,$_) -match [regex]::Escape($term)}
if ($foundpages){
# hier neues Dokument erstellen und Seiten hinzufügen
}else{
# Suchbegrif wurde auf keiner Seite gefunden
}