Bestimmtes PDF automatisiert in ein anderes PDF einfügen und speichern

  • Guten Abend zusammen

    Ich möchte mich als erstes nochmal für die wirklich tolle Hilfe bei meinem letzten Problem bedanken! :)

    Die einfach mal kurz geschriebene Putty-UDF von AspirinJunkie beeindruckt mich heute noch und ist fast täglich in Gebrauch.

    Jetzt habe ich eine andere wiederkehrende Sache die ich automatisieren möchte.
    Ich suche eine automatisierte Lösung um ein PDF in ein anderes PDF einzuzufügen und das neue danach abzuspeichern.
    Soweit vermutlich relativ einfach realisierbar mit PDFCreator und alternativen. OS: Windows 10

    Das ganze ist aber abhängig davon welche Nummer das erstellte PDF hat. Ausserdem muss ich über die Windows Suche herausfinden welches PDF hinzugefügt werden muss da die Nummer nur im PDF steht, der Name vom PDF jedoch anders ist.
    Zur Zeit nutze ich Nitro PDF Pro welches ich auch gerne weiter verwenden würde. Es besitzt die Option PDF zusammenzuführen.

    Beispiel. Zur Zeit sieht der Ablauf so aus:
    5000.pdf fertig erstellt (nicht mit Nitro PDF PRO), soeben erstelltes PDF mit Nitro öffnen, Explorer/Ordner mit vielen PDF öffnen, in der Suche 5000 eingeben, File ABC.pdf wird gefunden, File öffnen und in Nitro zusammenfügen, Speichern unter 5000+.pdf.

    5001.pdf fertig erstellt (nicht mit Nitro PDF PRO), soeben erstelltes PDF mit Nitro öffnen, Explorer/Ordner in der Suche 5001 eingeben, File EFG.pdf wird gefunden, File öffnen und in Nitro zusammenfügen, Speichern unter 5001+.pdf.
    usw. tatütata, hurra!

    Eigentlich schnell erledigt aber die Aufgaben stehen vermutlich längere Zeit immer wieder an.
    Daher wäre eine Automatisierung echt top. Geht das möglicherweise per Autoit oder ist das PDF-Format das zweite Java?

    Vielen Dank für Eure Inputs und Liebe Grüsse

    Swiffer

    Sauber bleiben.

  • Moin Swiffer.

    Im Anhang findest Du folgende Dateien:
    n1.pdf : Inhalt erster Teil von Deinem Beispiel
    n2.pdf : Inhalt zweiter Teil von Deinem Beispiel
    Anweisung.pdf
    zusammengefuehrt.pdf : n1.pdf und n2.pdf als eine Datei.
    cpdf.exe : Kommandozeilendatei, die das zusammen fügen durchführt.

    Wenn Du das über die Kommandozeile so schreibst bekommst Du aus der n1.pdf und der n2.pdf als output die Zusammengefuegte.pdf und das ganze musst nun noch als Script erfolgen.

    Ist das dass, was Du möchtest und habe ich es richtig verstanden?

    In der n1 und n2 habe ich den Text irgendwo auf die Seite kopiert. Also nicht wundern, das es so chaotisch aussieht. Ist schließlich schon spät von der Zeit her. ;)

  • Moin Alina

    Vielen Dank für Deine schnelle Antwort und Deine Bemühungen :)

    Ich denke das ist was ich suche. Ich krieg mich aber nicht überwunden auf die .exe doppel zu klicken. Da löst bei mir der "Alarmreflex" aus. Ist nicht persönlich. Du bist ja schon lange aktiv im Forum daher sollte das sicher in Ordnung gehen aber könnte ich das auch nachträglich kompilieren und mir erst den Inhalt ansehen?

    Es reicht auch erst morgen. Kein Stress. Mein Bett ruft eh schon lange nach mir.

    Edit. Absolut traumhaft wäre: Ordner 1 überwachen ob PDF neu gespeichert wird. Wenn PDF gespeichert schaue letzte 4 ziffern vom Dateinamen (5000). Suche in Ordner 2 nach PDF Inhalt 5000. Füge PDF aus Ordner 2 in PDF aus Ordner 1 ein und speichere dieses in Ordner 3 mit 5000+.

    Sauber bleiben.

    4 Mal editiert, zuletzt von Swiffer (20. Januar 2024 um 01:18)

  • Zu Deinem Edit:
    Es gibt die Möglichkeit ein Filesystem zu monitoren z.b. mit dieser UDF.

  • Moin Swiffer.

    Was die Exe-Datei betrifft, so kann ich Dir Entwarnung geben. Ich verwende die seit sehr langer Zeit und das auch auf Arbeit. Ich habe die irgendwann einmal von unseren Chefadministration bekommen und sie ist durch viele Antivirenprogramme gelaufen. Also es ist keine Exe-Datei die ich selber erstellt habe bzw. es ist keine via Autoit gescriptete Exe-Datei.

    Edit. Absolut traumhaft wäre: Ordner 1 überwachen ob PDF neu gespeichert wird. Wenn PDF gespeichert schaue letzte 4 ziffern vom Dateinamen (5000). Suche in Ordner 2 nach PDF Inhalt 5000. Füge PDF aus Ordner 2 in PDF aus Ordner 1 ein und speichere dieses in Ordner 3 mit 5000+.

    Da muß Du mal warten was aus dem Forum kommt. Damit wäre ich auch "überfordeert".

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

  • so wie ich das lese brauchst du eigentlich 2 voneinander getrennte Lösungen.

    1. mit AutoIt in einem vorgegebenen Verzeichnis nach einem Dateiinhalt suchen. (Ob der dann einmalig ist oder wie der referenziert wird ist Sache des Suchstrings)

    2. Die gefundene pdf-Datei mit einer anderen "mergen".

    Ich denke beide Probleme lassen sich mit AutoIt lösen.

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    ein paar Infos ...

    Wer mehr als "nur" Hilfe benötigt, kann sich gern im Forum "Programmieranfragen" an uns wenden. Wir helfen in allen Fällen, die die Forenregeln zulassen.

    Für schnelle Hilfe benötigen wir ein ! lauffähiges ! Script, dass wir als Demonstration des Problems testen können. Wer von uns erwartet ein Teilscript erstmal lauffähig zu bekommen, der hat
    1. keine wirkliche Not
    2. keinen Respekt vor Menschen die ihm in ihrer Freizeit Ihre Hilfe anbieten
    3. oder ist einfach nur faul und meint wir coden das für ihn

    In solchen Fällen erlaube ich mir, die Anfrage einfach zu ignorieren. ;)

  • zu Alinas exe:

    ein mutiger Start in der Konsole offenbart die Wahrheit: https://www.coherentpdf.com/

    mit cpdf.exe -help wird alles erklärt.

    ;)

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    ein paar Infos ...

    Wer mehr als "nur" Hilfe benötigt, kann sich gern im Forum "Programmieranfragen" an uns wenden. Wir helfen in allen Fällen, die die Forenregeln zulassen.

    Für schnelle Hilfe benötigen wir ein ! lauffähiges ! Script, dass wir als Demonstration des Problems testen können. Wer von uns erwartet ein Teilscript erstmal lauffähig zu bekommen, der hat
    1. keine wirkliche Not
    2. keinen Respekt vor Menschen die ihm in ihrer Freizeit Ihre Hilfe anbieten
    3. oder ist einfach nur faul und meint wir coden das für ihn

    In solchen Fällen erlaube ich mir, die Anfrage einfach zu ignorieren. ;)

  • zu Alinas exe:

    ein mutiger Start in der Konsole offenbart die Wahrheit: https://www.coherentpdf.com/

    mit cpdf.exe -help wird alles erklärt.

    ;)

    Schnuffel Wir haben auf Arbeit eine bezahlte Version.
    Ich bin davon ausgegangen das Swiffer das zusammenfügen nicht gewerblich machen möchte.

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

  • Es gibt die Möglichkeit ein Filesystem zu monitoren z.b. mit dieser UDF.

    Danke, das klingt toll. Da muss ich mich einlesen. Denke aber das könnte mit meinen momentanen Autoit-skills schwierig werden.

    Was die Exe-Datei betrifft, so kann ich Dir Entwarnung geben.

    Ok, dann werde ich es mal testen. Danke.

    so wie ich das lese brauchst du eigentlich 2 voneinander getrennte Lösungen

    Thx auch Dir. Ich werde versuchen in die Richtung zu gehen.


    Was mir noch eingefallen ist: Ich kann aus dem ersten Programm heraus Drucken, ein .pdf oder ein .xls File erstellen.

    Vielleicht wäre der erste Schritt aus einem Excel heraus einfacher zu realisieren. Am Ende müsste es einfach ein PDF sein.

    Edit:

    Ich bin davon ausgegangen das Swiffer das zusammenfügen nicht gewerblich machen möchte.

    Ich möchte ehrlich sein. Es ist für unseren Familienbetrieb um nach der Rechnungserstellung den dazu passenden QR-Code im erstellten PDF zu hinterlegen. Also wenn wir es genau nehmen ist es gewerblich. Leider bietet unser liebgewonnenes Warenwirtschaftsprogramm keine solche Funktion an.

    Falls ich die cpdf.exe brauchen kann und da noch etwas bezahlen sollte wird das selbstverständlich nachgeholt. Keine Frage und Danke für den Hinweis.

    Sauber bleiben.

    Einmal editiert, zuletzt von Swiffer (20. Januar 2024 um 12:28)

  • hilfreich wäre für alle noch, in welchem pdf-Format du arbeitest.

    In neueren Formaten und in Streams wird die Suche schwieriger.

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    ein paar Infos ...

    Wer mehr als "nur" Hilfe benötigt, kann sich gern im Forum "Programmieranfragen" an uns wenden. Wir helfen in allen Fällen, die die Forenregeln zulassen.

    Für schnelle Hilfe benötigen wir ein ! lauffähiges ! Script, dass wir als Demonstration des Problems testen können. Wer von uns erwartet ein Teilscript erstmal lauffähig zu bekommen, der hat
    1. keine wirkliche Not
    2. keinen Respekt vor Menschen die ihm in ihrer Freizeit Ihre Hilfe anbieten
    3. oder ist einfach nur faul und meint wir coden das für ihn

    In solchen Fällen erlaube ich mir, die Anfrage einfach zu ignorieren. ;)

  • Zur Zeit nutze ich Nitro PDF Pro welches ich auch gerne weiter verwenden würde. Es besitzt die Option PDF zusammenzuführen.

    Die Frage wäre auch, ob dieses Programm eine Schnittstelle hat um es via Konsole mit Parametern zu befeuern.
    Viele pdf-Programme machen sowas nur in der Bezahlversion.

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    ein paar Infos ...

    Wer mehr als "nur" Hilfe benötigt, kann sich gern im Forum "Programmieranfragen" an uns wenden. Wir helfen in allen Fällen, die die Forenregeln zulassen.

    Für schnelle Hilfe benötigen wir ein ! lauffähiges ! Script, dass wir als Demonstration des Problems testen können. Wer von uns erwartet ein Teilscript erstmal lauffähig zu bekommen, der hat
    1. keine wirkliche Not
    2. keinen Respekt vor Menschen die ihm in ihrer Freizeit Ihre Hilfe anbieten
    3. oder ist einfach nur faul und meint wir coden das für ihn

    In solchen Fällen erlaube ich mir, die Anfrage einfach zu ignorieren. ;)

  • Welches PDF-Format? .pdf :D

    Gibts da Unterschiede? Ich schaue mal was sich herausfinden lässt. Edit: Ich finde da keine Infos in den Dateieigenschaften vom PDF. Habe was gefunden. PDF-Version: 1.4 (Acrobat5.x)

    In Nitro kann ich als "Standard PDF" und "Flattened PDF" speichern.

    Es handelt sich dabei um die Bezahlversion. Schnittstelle schaue ich ebenfalls was ich finde. Edit: Scheint nur eine Java Schnittstelle zu haben :/ Bei Batch-OCR, OCR& bearbeiten gehts ja nur um Mehrere aufs Mal konverteieren denke ich.

    Die Funktionen stehen hier weiter unten. Habe zum Glück noch die Einmal-Bezahl-Lebenslang-Update-Version erwischt damals.

    Am Ende kann es aber auch ein anderes Programm sein. Es geht eigentlich nur um das zusammenfügen bei Nitro.


    Alina Nochmal zu Deinem Lösungsvorschlag. Die .exe fügt die beiden PDF im gleichen Ordner zusammen richtig?

    Also müsste ich noch schauen die richtigen zwei PDF jeweils automatisiert in den gleichen Ordner zu bekommen?

    Sauber bleiben.

    4 Mal editiert, zuletzt von Swiffer (20. Januar 2024 um 14:30)

  • ich greife Alina mal vor... ^^ (nicht böse gemeint)

    Swiffer der Aufruf von cpdf sieht folgendermaßen aus:

    cpdf.exe 1.Datei(kann auch ein Pfad zu einem anderen Ordner sein) 2.Datei(kann auch ein Pfad zu einem anderen Ordner sein) Ausgabedatei(kann auch ein Pfad zu einem anderen Ordner sein)

    Ein Beispiel deine pdf zu durchsuchen kann so aussehen und müsste natürlich noch an deine Bedürfnisse angepasst werden:

    ich denke damit kannst du erstmal selber weiter arbeiten.

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    ein paar Infos ...

    Wer mehr als "nur" Hilfe benötigt, kann sich gern im Forum "Programmieranfragen" an uns wenden. Wir helfen in allen Fällen, die die Forenregeln zulassen.

    Für schnelle Hilfe benötigen wir ein ! lauffähiges ! Script, dass wir als Demonstration des Problems testen können. Wer von uns erwartet ein Teilscript erstmal lauffähig zu bekommen, der hat
    1. keine wirkliche Not
    2. keinen Respekt vor Menschen die ihm in ihrer Freizeit Ihre Hilfe anbieten
    3. oder ist einfach nur faul und meint wir coden das für ihn

    In solchen Fällen erlaube ich mir, die Anfrage einfach zu ignorieren. ;)

  • Vielen Dank für Deine Vorlage und die Erklärungen!

    AutoIt
    Local $hSearch = FileFindFirstFile(@DesktopDir & "\*.pdf")

    @DesktopDir

    ist mein Desktop richtig?

    & "\*.pdf

    Sind die Unterordner auf dem Desktop und das .pdf Format?

    Falls es nicht auf dem Desktop ist ändere ich es am besten in?

    AutoIt
    Local $hSearch = FileFindFirstFile("C:\Users\Swiffer\Test PDF durchsuchen" & "\*.pdf")

    Dann passiert nichts wenn ich es ausführe. Syntax Check läuft ohne Fehler durch.

    Sauber bleiben.

  • Filefindfirstfile arbeitet nicht rekursiv.

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    ein paar Infos ...

    Wer mehr als "nur" Hilfe benötigt, kann sich gern im Forum "Programmieranfragen" an uns wenden. Wir helfen in allen Fällen, die die Forenregeln zulassen.

    Für schnelle Hilfe benötigen wir ein ! lauffähiges ! Script, dass wir als Demonstration des Problems testen können. Wer von uns erwartet ein Teilscript erstmal lauffähig zu bekommen, der hat
    1. keine wirkliche Not
    2. keinen Respekt vor Menschen die ihm in ihrer Freizeit Ihre Hilfe anbieten
    3. oder ist einfach nur faul und meint wir coden das für ihn

    In solchen Fällen erlaube ich mir, die Anfrage einfach zu ignorieren. ;)

  • Das bedeutet den Pfad so belassen?

    Ich habe es jetzt so wie in Deinem Beispiel übernommen und die .au3 und die .pdf mit dem Inhalt auf dem Desktop.

    Beim Ausführen der .au3 passiert auch nichts. Muss ich sonst noch was anpassen?

    Sauber bleiben.

  • nun ja, ich habe ja geschrieben, "an deine Bedürfnisse anpassen".

    Wir werden dir wohl keinen fertigen Bausatz liefern.

    Ein wenig eigener Hirnschmalz und der Wille es auch ein wenig selbst geschafft zu haben erwarten wir in der Regel schon.

    Wenn du mit einzelnen Befehlen nicht klar kommst, dann schau dir zuallererst die Hilfe dazu an.
    Die erklärt in den meisten Fällen die Sache ganz gut. Wenn du dann das Script an deine Bedürfnisse angepasst hast und nicht weiter kommst,

    poste hier dein Script und eine passende Fehlerbeschreibung. Ich bin sicher dann wird dr auch geholfen ;)

    Idealerweise postest du alle Dateien (und wenn es nur Beispieldateien sind) die dein Problem widerspiegeln.

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    ein paar Infos ...

    Wer mehr als "nur" Hilfe benötigt, kann sich gern im Forum "Programmieranfragen" an uns wenden. Wir helfen in allen Fällen, die die Forenregeln zulassen.

    Für schnelle Hilfe benötigen wir ein ! lauffähiges ! Script, dass wir als Demonstration des Problems testen können. Wer von uns erwartet ein Teilscript erstmal lauffähig zu bekommen, der hat
    1. keine wirkliche Not
    2. keinen Respekt vor Menschen die ihm in ihrer Freizeit Ihre Hilfe anbieten
    3. oder ist einfach nur faul und meint wir coden das für ihn

    In solchen Fällen erlaube ich mir, die Anfrage einfach zu ignorieren. ;)

  • ich greife Alina mal vor... ^^ (nicht böse gemeint)


    Schnuffel
    Als wenn ich jemals jemanden hier böse auf etwas war. Ich lege Dich gleich über das Knie. :rofl:

    Swiffer
    Betreff Beitrag #14
    Also zu @DesktopDir steht doch in der Hilfe* "Pfad zum Desktop des aktuellen Benutzers". So wie Schnuffel es geschrieben hat ist es richtig.
    Ein Unterordner (Ordner auf dem Desktop wäre dann @DesktopDir\Unterordner

    Local $hSearch = FileFindFirstFile("C:\Users\Swiffer\Desktop\Test PDF durchsuchen" & "\*.pdf")

    *) Bitte einmal die Hilfe herunter laden. Da steht es auch erklärt. ;)

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

  • Verstehe. Ich werde versuchen das Problem selber zu lösen. Schade dass es keine Fehlermeldung gibt. Mal schauen was die Hilfe zu Filefindfirstfile meint.

    Sauber bleiben.

  • da hast du mich falsch verstanden.

    Du sollst nicht dein Problem selber lösen.

    Aber,

    wir sind kein Forum, das fertige Lösungen präsentiert. Auch wenn AspirinJunkie dir da einen anderen Eindruck vermittelt hat.
    Das liegt im Ermessen jedes Einzelnen, der hier in seiner Freizeit versucht, andere zu unterstützen.

    Sozusagen Hilfe zur Selbsthilfe.

    Wir möchten jeden ermutigen sich mit dem Thema IT, AutoIt und Programmierung zu beschäftigen.
    Wir unterstützen jeden, der sich damit auseinandersetzt und dann in seinem Findungsprozess auf Hürden stößt.

    Wir sind aber keine Code-Schmiede an die man einen Wunsch schickt und erwarten kann, dass man fertige Scripte inkl. Errorhandling erhält.

    Ich ging davon aus dass du dich mit dem von mir geposteten Script auseinandersetzt und versuchst es zu verstehen,
    um es an deine Bedürfnisse anzupassen.
    Die Frage ob denn @DesktopDir richtig ist zeigt mir, dass du wohl eher der Copy & Paste Typ bist.
    Vielleicht kann ich dich auf die "gute" Seite der Programmierer holen. Hirn einschalten, Eigenanspruch hochfahren, Problem identifizieren und dann, wenn es zu kompliziert wird sich Unterstützung suchen. Dafür sind wir hier. ;)

    Copy & Paste ist der falsche Weg, da zu bequem und immer auf Kosten anderer.

    Ich möchte dir das hier nicht unterstellen, sondern dich ermutigen das Problem anzugehen und uns als "unterstützende Einheit" zu sehen.
    Wir sind fast 24/7 hier. Wir lesen jeden Post.
    Wenn jemand etwas sinnvolles beizutragen hat wird er es tun und die anderen werden lesen, lernen und schweigen.

    :rofl::rofl::rofl:

    Naja, manchmal ;)

    Auf jeden Fall:

    Versuche das bisher gelieferte in eine für dich sinnvolle Abfolge von Befehlen zu bringen, die du verstehst.
    Was du nicht verstehst versuche in der Hilfe nachzulesen.
    Wenn das auch nicht ausreicht, dann stelle hier eine Frage mit Scriptansatz (lauffähig) und allen (auch Demo-Dateien) die das Problem herbeiführen.
    Auch wir sind bequem und möchten eher helfen, wenn wir nur F5 drücken müssen, anstatt uns eine Demonstrationsumgebung aufzubauen, um dir zu erklären warum z.B. eine "MsgBox in der Situation nicht angezeigt wird".

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    ein paar Infos ...

    Wer mehr als "nur" Hilfe benötigt, kann sich gern im Forum "Programmieranfragen" an uns wenden. Wir helfen in allen Fällen, die die Forenregeln zulassen.

    Für schnelle Hilfe benötigen wir ein ! lauffähiges ! Script, dass wir als Demonstration des Problems testen können. Wer von uns erwartet ein Teilscript erstmal lauffähig zu bekommen, der hat
    1. keine wirkliche Not
    2. keinen Respekt vor Menschen die ihm in ihrer Freizeit Ihre Hilfe anbieten
    3. oder ist einfach nur faul und meint wir coden das für ihn

    In solchen Fällen erlaube ich mir, die Anfrage einfach zu ignorieren. ;)