VB 2008 - PDF-Seitenanzahl in ein log-file schreiben
Hallo beisammen !
Ich schreibe an einem Programm, dass von mehreren PDF-Files die Seitenzahl auslesen und diese in ein log-File schreiben soll. Hat einer von euch evtl. ne schlaue Idee wie das in VB 2008 umzusetzen ist?
mfg,
Listiger
Ich schreibe an einem Programm, dass von mehreren PDF-Files die Seitenzahl auslesen und diese in ein log-File schreiben soll. Hat einer von euch evtl. ne schlaue Idee wie das in VB 2008 umzusetzen ist?
mfg,
Listiger
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 130699
Url: https://administrator.de/forum/vb-2008-pdf-seitenanzahl-in-ein-log-file-schreiben-130699.html
Ausgedruckt am: 05.04.2025 um 07:04 Uhr
9 Kommentare
Neuester Kommentar
Moin listigerTeppich,
Würde es dir oder deinen Cheffes eventuell die ängstlich durchwachten Nächte verkürzen, wenn wir MitleserInnen alle gemeinsam eine Verschwiegenheitserklärung bezüglich eurer betrieblichen Abläufe blanko unterzeichen?
Oder wenn einer der gelangweilten Moderatoren eventuell versehentlich im Klartext eingetippte Verzeichnis- oder Programmnamen anonymisiert oder mit "###" unkenntlich macht?
Oder hat dir eine viel zu früh verschiedene Patentante beigebracht, dass durch ein kokettes Zurückhalten von Details erst richtig das Interesse, die Neugier und oft auch die Leidenschaft entfacht wird und sicherlich ganz ganz schnell viele viele Nachfragen kommen werden?
Ich frag mal anders:
Grüße
Biber,
Moderator und eigentlich einer der In-sich-Ruhenden hier
Zitat von @listigerTeppich:
Ich schreibe an einem Programm, dass von mehreren PDF-Files die Seitenzahl auslesen und diese in ein log-File schreiben soll.
Hat einer von euch evtl. ne schlaue Idee wie das in VB 2008 umzusetzen ist?
mfg,
Listiger
Hmmm, ist das denn wirklich alles, was du zum heutigen Zeitpunkt über die genaue Aufgabenstellung bereit bist preiszugeben?Ich schreibe an einem Programm, dass von mehreren PDF-Files die Seitenzahl auslesen und diese in ein log-File schreiben soll.
Hat einer von euch evtl. ne schlaue Idee wie das in VB 2008 umzusetzen ist?
mfg,
Listiger
Würde es dir oder deinen Cheffes eventuell die ängstlich durchwachten Nächte verkürzen, wenn wir MitleserInnen alle gemeinsam eine Verschwiegenheitserklärung bezüglich eurer betrieblichen Abläufe blanko unterzeichen?
Oder wenn einer der gelangweilten Moderatoren eventuell versehentlich im Klartext eingetippte Verzeichnis- oder Programmnamen anonymisiert oder mit "###" unkenntlich macht?
Oder hat dir eine viel zu früh verschiedene Patentante beigebracht, dass durch ein kokettes Zurückhalten von Details erst richtig das Interesse, die Neugier und oft auch die Leidenschaft entfacht wird und sicherlich ganz ganz schnell viele viele Nachfragen kommen werden?
Ich frag mal anders:
- wodurch genau sind diese PDF-Dateien beschreibbar? Liegen die an einem bestimmten Ort, wurden die gedruckt, sind die nur einen Tag alt?
- wer oder was soll denn wann sagen: "Hey, zähl mir alle PDF-Seiten für meine Vorratsdatenspeicherung!"
- WTHF ist denn das übergeordnete Ziel dieser " "Hey, zähl mir alle PDF-Seiten"-Aktion?
- WTHBF ist denn an diesen Details so schützenswert???
Grüße
Biber,
Moderator und eigentlich einer der In-sich-Ruhenden hier
Moin listigerTeppich,
danke für die Erläuterung.
Aus deiner Antwort würde ich schliessen, dass der (geplante) Ablauf so aussieht:
Ist das halbwegs so korrekt (ich kenne den Ablauf mit einem Druckzentrum nicht aus eigener Erfahrung) ?
Und gibt es einen bestimmten Grund, das in VB 200x zusammenzubraten?
Ich meine, es gibt ja solche out-of-the-Box-Tools wie pdftk, die auch hier im Forum durchdekliniert worden sind...
Grüße
Biber
danke für die Erläuterung.
Aus deiner Antwort würde ich schliessen, dass der (geplante) Ablauf so aussieht:
- in einem Verzeichnis XY laufen den ganzen Tag PDF-Dateien ein von euren druckenden BenutzerInnen
- bis dann alle 4, 8 oder alle 24 Stunden der ganze Klump zusammengezippt wird und per Fahrradbote oder wie auch immer an dieses Druckzentrum geht
- --------hier bzw. vor dem nächsten Schritt soll sich dein Seitenzähl-Schnipsel einklinken ----
- dann werden alle *.pdfs gelöscht/gemoved/als versendet gekennzeichnet
Ist das halbwegs so korrekt (ich kenne den Ablauf mit einem Druckzentrum nicht aus eigener Erfahrung) ?
Und gibt es einen bestimmten Grund, das in VB 200x zusammenzubraten?
Ich meine, es gibt ja solche out-of-the-Box-Tools wie pdftk, die auch hier im Forum durchdekliniert worden sind...
Grüße
Biber
Moin listigerTeppich,
im Prinzip lässt sich die Mimik von diesem VBA-Schnipsel doch übernehmen... ein PDF lässt sich durchaus als Textdatei öffnen, ein FileSystemObject gibt es natürlich auch in VB und ebenso ein TextStream-Object....
Aber
Wenn denn nu' wirklich, wie dem Schnipsel-Algorithmus vorgekaspert, das ganze streng behütete Geheimnis des PDF-Seitenzählens darin besteht, in allen vorhandenen PDF-Dateien nach einem Vorkommnis des Strings "/Count" am Zeilenanfang zu suchen, dann kann das auch ein FindStr-Aufruf
Grüße
Biber
im Prinzip lässt sich die Mimik von diesem VBA-Schnipsel doch übernehmen... ein PDF lässt sich durchaus als Textdatei öffnen, ein FileSystemObject gibt es natürlich auch in VB und ebenso ein TextStream-Object....
Aber
Wenn denn nu' wirklich, wie dem Schnipsel-Algorithmus vorgekaspert, das ganze streng behütete Geheimnis des PDF-Seitenzählens darin besteht, in allen vorhandenen PDF-Dateien nach einem Vorkommnis des Strings "/Count" am Zeilenanfang zu suchen, dann kann das auch ein FindStr-Aufruf
findstr /B /C:"/Count" X:\Deinpfad\*.pdf
Grüße
Biber
Moin listigerTeppich,
sagen wir so...
ich kann von hier aus nicht hundertprozentig erkennen, was diese eine CMD-Findstr-Zeile rausschreibt, wenn sie gegen deine PDFs abgefeuert wird.
Das wäre ein POC, den du machen müsstest.
Bei "meinen" PDFs kommt raus, dass zwar die meisten PDFs
soweit die gute Nachricht
Aber andere PDFs haben eben
Anyhow... der optimistische Algorithmus aus dem gefundenen Schnipsel oben wird nur mit Glück bei dir passen...
...andererseits...
ein Abfeuern der "Findstr"-Zeile kostet ja nix. wenn eure PDFs so simpel gestrickt sind, dann klappt es ja vielleicht.
---> wenn nicht (also der realistisch zu erwartende Fall), dann solltest du VOR jeglicher Programmierung erstmal eine Suchmaschine deines Vertrauens nach den Details des PDF-Formats befragen ... und/oder nach der Ermittlung der Seiten/Pages in einem PDF-Dokument.
Da wollte ich dir nicht vorgreifen.
Grüße
Biber
sagen wir so...
ich kann von hier aus nicht hundertprozentig erkennen, was diese eine CMD-Findstr-Zeile rausschreibt, wenn sie gegen deine PDFs abgefeuert wird.
Das wäre ein POC, den du machen müsstest.
Bei "meinen" PDFs kommt raus, dass zwar die meisten PDFs
- genau einmal ein Vorkommnis des Strings "/Count" am Zeilenanfang haben
- und das auch dahinter lesbar eine Zahlenangabe im Klartext steht (siehe gleich).
>findstr /B /C:"/Count" *.pdf
it_training-biber_faq.pdf:/Count 1005
Oracle_SQL_Tuning_Tools.pdf:/Count 13
db2cert7015-a4.pdf:/Count 30
VeranstaltungskalenderNeuwülferode2009.pdf:/Count 2
db2_trigger.pdf:/Count 6
soweit die gute Nachricht
Aber andere PDFs haben eben
- irgendwo zwar nur eine Fundstelle "/Count", aber NICHT am Anfang einer Zeile
- oder zwar MEHRERE "/Count"-Fundstellen mit Werten dahinter, von denen aber nur einziger positiv ist (der ist gleich der Gesamtzahl Seiten) und x mal "/Count -nn" (negativer Wert) ,was wohl vielleicht eine Seitenzahl pro Kapitel sein könnte...(?)
Anyhow... der optimistische Algorithmus aus dem gefundenen Schnipsel oben wird nur mit Glück bei dir passen...
...andererseits...
ein Abfeuern der "Findstr"-Zeile kostet ja nix. wenn eure PDFs so simpel gestrickt sind, dann klappt es ja vielleicht.
---> wenn nicht (also der realistisch zu erwartende Fall), dann solltest du VOR jeglicher Programmierung erstmal eine Suchmaschine deines Vertrauens nach den Details des PDF-Formats befragen ... und/oder nach der Ermittlung der Seiten/Pages in einem PDF-Dokument.
Da wollte ich dir nicht vorgreifen.
Grüße
Biber
Moin ListigerTeppich,
meine Strategie habe ich oben erläutert .
Rein handwerklich wird es ja wohl kein Hexenwerk werden, wenn eine PDF-Format-Dokumentation vorläge.
Aber der Aufwand, da ohne Doku mit Hex-editor und geschärften Sinnen durch ein 500 GByte-PDF zu scrollen auf der Suche nach einem möglicherweise "passenden" Seitenzahlwert..... würde mich abschrecken.
Grüße
Biber
meine Strategie habe ich oben erläutert .
- Entweder du stellst dich auf den Standpunkt, du hast das passende Werkzeug (VB2008) und die fehlt nur die Dokumentation des PDF-Formates -->dann musst du die suchen
- oder du sagst "Da frag ich einen, der was davon versteht" bzw. einen der dieses Rad schon erfunden hat -->z.B pdftk
Rein handwerklich wird es ja wohl kein Hexenwerk werden, wenn eine PDF-Format-Dokumentation vorläge.
Aber der Aufwand, da ohne Doku mit Hex-editor und geschärften Sinnen durch ein 500 GByte-PDF zu scrollen auf der Suche nach einem möglicherweise "passenden" Seitenzahlwert..... würde mich abschrecken.
Grüße
Biber