Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

PowerShell - Felder in PDF auslesen und Dateiname damit erzeugen

Mitglied: Pat.bat

Pat.bat (Level 1) - Jetzt verbinden

14.02.2020 um 12:01 Uhr, 391 Aufrufe, 10 Kommentare, 2 Danke

Hallo zusammen,

ich stehe gerade vor folgender Herausforderung:

wir haben PDF Dateien, wo Felder befüllt werden bzw. wurden. Ich möchte nun ein Skript bauen, wo man die PDF auf das Skript ziehen kann, dieses dann 4 Daten/Felder aus der PDF ausliest und damit einen neuen Dateinamen für diese PDF erstellt und die Datei umbenennt.

Anbei ein Auszug aus der PDF:
pdf_daten - Klicke auf das Bild, um es zu vergrößern


Meine Frage ist nun, kann man direkt auf solche Felder einer PDF zugreifen, oder wie bekommen ich den Inhalt dieser 4 Felder am besten ausgelesen?


Ich bedanke mich Voraus.


MfG

Patrick
Mitglied: colinardo
14.02.2020, aktualisiert 16.02.2020
Servus Patrick,
wie @142970 oben schon im ersten Link verlinkt hat, ein damit leicht abgewandeltes Skript für die Verwendung mit Formularfeldern.

Anzupassen sind in den Variablen im Header der Pfad in dem die PDFs liegen, und die korrekten Feldnamen der Formularfelder in der Hashtable $fieldnames. Die Feldnamen der Formularfelder finden sich in den Eigenschaften der Felder (Kontextmenü).
Das Muster nachdem umbenannte wird lässt sich in Zeile 76 nach Gusto anpassen.
Die benötigte DLL zum Auslesen der PDFs wird bei nicht Vorhandensein in das Skriptverzeichnis nachgeladen, Schreibrechte sind dort also erforderlich sofern die DLL dort noch nicht hinterlegt ist.

Download des Skripts inkl. Demo-PDF und Kommentaren zu jeder Codezeile hier

pdf_rename_with_form_fields_547272.zip


Grüße Uwe
Bitte warten ..
Mitglied: LeeX01
15.02.2020 um 13:46 Uhr
Hallo Uwe,


ich habe gerade versucht das auszuprobieren, bekomme aber die Feldnamen nicht aus einem PDF (Kontextmenü funktioniert nicht). Soweit ich das erkennen kann scheint das Problem zu sein das das PDF nicht mit Acrobat sondern Lifecycle erstellt worden ist. Hab da auf dei schnelle nichts brauchbares im Web gefunden. Hast du evtl. auch ein kleines Script um alle enthaltenen Felder aus einem PDF auszulesen oder kennst du noch eine andere Möglichkeit?

Beste Grüße
Bitte warten ..
Mitglied: colinardo
15.02.2020, aktualisiert um 14:23 Uhr
Servus,
also damit du die Feldnamen angezeigt bekommst musst du z.B. in Acrobat das spezielle Object Select Tool nutzen, womit du Formularfelder selektieren und bearbeiten kannst, oder du bearbeitest das PDF als Formular in Acrobat dann siehst du die Namen ebenfalls, oder du lässt dir den Object-Tree des PDFs einblenden, oder du lässt dir im Skript in der Schleife nach Zeile 65 mit
die verfügbaren Felder des PDFs auf der Konsole ausgeben.
In Lifecycle kannst du die Objekt-Namen im Normalfall ja auch direkt übernehmen.

Gibt also genug Möglichkeiten 😉.

Grüße Uwe
Bitte warten ..
Mitglied: LeeX01
15.02.2020 um 14:29 Uhr
Servus Uwe,

danke für den Tipp. Ich selbst habe leider kein Lifecycle, wenn ich das PDF mit Acroat bearbeiten will kommt die Meldung "Dieses Formular kann in Acrobat nicht bearbeitet werden, verwenden Sie Lifecycle". Das Object Select Tool steht leider auch nicht zur Verfügung.

https://answers.acrobatusers.com/How-activate-Select-Object-tool-Acrobat ...

Ich geh mal was Essen, dann versuch ich das Script so anzupassen wie du sagst.

Beste Grüße
Bitte warten ..
Mitglied: colinardo
15.02.2020, aktualisiert um 15:08 Uhr
Das Object Select Tool steht leider auch nicht zur Verfügung.
Wenn du Acrobat Pro hast steht das Tool immer zur Verfügung, ist nur meist nicht direkt in der Symbolleiste verlinkt. Genauso wie der Object-Tree den man sich links in der Baumansicht anzeigen lassen kann, wo die Namen ebenfalls stehen.
Das geht hier auch testweise mit einem vom Lifecycle Designer erstellten PDF einwandfrei.
Bitte warten ..
Mitglied: LeeX01
15.02.2020 um 16:37 Uhr
Ich habe jetzt recht lange gesucht und dann im Netz gefunden das das "Object Select Tool" wohl im deutschen in der Gruppe Druckproduktion unter (Werkzeug "Objekt bearbeiten") zu finden ist. Mit dem Tool kann ich aber trotzdem im Acrobat nichts machen. Bin ich richtig?
Bitte warten ..
Mitglied: colinardo
16.02.2020, aktualisiert um 11:20 Uhr
Dann muss ich wohl mal wieder den Stift rausholen und das aufmalen

screenshot - Klicke auf das Bild, um es zu vergrößern

Edit: Beachte aber das bei LifeCycle Forms die Daten nicht wie oben im Skript aufgeführt ausgelesen werden da die Daten in LifeCycle Forms in XML (xfa Format) abgelegt werden.

Solche Felder müssen je evt. mit
abgefragt werden.
Bitte warten ..
Mitglied: LeeX01
16.02.2020 um 11:08 Uhr
Danke dir das hat wirklich geholfen, hab die Felder auslesen können und das Script ist ohne Probleme durchgelaufen.

Hab mir derweilen mal angeschaut was es mit den Lifecycledokumenten auf sich hat. Lifecycle erstellt wohl dynamische PDF Formulare mit einem XFA header im Gegensatz zu Acrobat was statische PDFs erstellt.

Vielleicht auch für jemanden interessant.

Mit PDFTK kann man die XFA Informationen entfernen und dann lässt sich das PDF auch mit Acrobat bearbeiten. Hat problemlos funktioniert ohne das Formate, Felder oder Sonstiges beschädigt worden wären.

https://de.switch-case.com/70877443
Bitte warten ..
Mitglied: LeeX01
16.02.2020 um 11:12 Uhr
Solche Felder müssen mit
abgefragt werden.

Habe das Skript oben dafür noch angepasst.

OK danke, warum auch immer, hat auch mit dem ursprünglichen Script funktioniert...
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Powershell, PDF
Frage von AnkhMorporkBatch & Shell6 Kommentare

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

Windows Tools

Powershell Feld bzw. Zwischenablageüberwachung

gelöst Frage von lord-iconWindows Tools9 Kommentare

Ich hab auf arbeit viel mit strg+c/strg+v zu arbeiten. Ist natürlich nervig wenn man viele Zeilen rüberkopieren muß. Habe ...

Batch & Shell

Powershell - PDF - String - Durchsuchen?

gelöst Frage von ZZaaiiggaaBatch & Shell7 Kommentare

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

Batch & Shell

PowerShell - PDF auslesen und trennen

gelöst Frage von Pat.batBatch & Shell6 Kommentare

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

Neue Wissensbeiträge
Microsoft Office

Office 365 Makro Schutz nicht immer per GPO möglich

Information von sabines vor 1 TagMicrosoft Office

Der zum Schutz gegen Verschlüsselungstrojaner wichtige Makroschutz lässt sich wohl in Office 365 nicht immer per GPO einstellen. Für ...

Netzwerkmanagement
How To Mikrotik Netinstall
Erfahrungsbericht von areanod vor 2 TagenNetzwerkmanagement

Jedes Mal wenn ich Netinstall längere Zeit nicht benutzt habe stolpere ich über die „Besonderheiten“ dieser Software. Das ist ...

Microsoft
Microsoft: LDAPS per Update als Default
Information von em-pie vor 2 TagenMicrosoft2 Kommentare

Hallo, Microsoft wird mit einem der zukünftigen Updates LDAP auf LDAPS per Default umstellen. Admins von angebundenen Systemen die ...

Humor (lol)

Funny: Warum es immer schwieriger wird, die richtigen Produkte online zu finden

Information von Dilbert-MD vor 4 TagenHumor (lol)19 Kommentare

Wir befinden uns in der Rubrik "Off Topic - Humor" und in 15 Minuten ist Freitag. und ja, es ...

Heiß diskutierte Inhalte
Windows Server
Windows Server 2019 RDP auf anderen Port umlegen scheint zumindest in der Firewall nicht zu funktionieren
gelöst Frage von kfj-deWindows Server18 Kommentare

Hallo zusammen, habe gedacht, ich mache den Remote Desktop Zugang etwas sicherer und lege den Port auf einen der ...

Windows 10
Reicht eine 64GB SSD für einen Einwahl-PC für die Funktionsupgrade?
gelöst Frage von StefanKittelWindows 1016 Kommentare

Hallo, ich weiß, bei Google steht ganz viel, aber das meiste zu 32GB und irgendwie schreibt jeder was Anderes. ...

Windows Server
Problem bei der Installation von .Net Framework 3.5 auf Server 2012R2
Frage von Timo0oWindows Server15 Kommentare

Hallo zusammen, vielleicht kann mir hier wer helfen ich bin nämlich langsam am Verzweifeln. Ich habe hier einen Server ...

Netzwerke
FortiGate Firewall Konfiguration
gelöst Frage von ObaidaNetzwerke14 Kommentare

Guten Morgen, ich möchte fragen, wenn man eine Firewall zwischen den Server, der für eine Umgebung test gemacht wurde ...