PDF ´s automatisch umbennen

  • Es tut mir leid das ich nochmals nerven muss ^^, aber es kam noch ein kelines Problem zum vorschein...und zwar funktioniert alles tadelos solange die PDF nur eine Seite lang ist.
    Jedoch wenn diese 2 Seiten lang wird, dann speichert er mir die PDF´s als jede einzeln ab..? Das ist natürlich ein Problem, er soll diese als eine PDF mit 2 oder 3 Seiten lassen.

    Vielen Dank und frohe Ostern :)

  • Hallo @Sascha123456,

    Ich kann das nicht nachvollziehen:

    und zwar funktioniert alles tadelos solange die PDF nur eine Seite lang ist.
    Jedoch wenn diese 2 Seiten lang wird, dann speichert er mir die PDF´s als jede einzeln ab..? Das ist natürlich ein Problem, er soll diese als eine PDF mit 2 oder 3 Seiten lassen.


    Eine zweiseitige PDF bleibt zweiseitig und eine zehnseitige PDF bleibt zehnseitig. Schau dir mal den Code an:

    AutoIt
    FileMove($sSourcePath, $sNewFullPath, 8) ; Datei wird verschoben/umbenannt.

    Die Datei wird einfach verschoben. Das andere ist nur zum Extrahieren des Namens und verändert die vorhandene PDFCreator.pdf überhaupt nicht. Daher würde ich nicht davon sprechen, es bei zwei oder drei Seiten zu lassen, sondern wie fügt man die zusammen?

    Ich kann mir nur vorstellen, dass dein Druckprozess jede Seite als einzelne Datei erstellt oder PDFCreate selbst immer eine Seite schreibt oder bei Bedarf an ein Dokument anhängt, aber nach jedem Durchlauf das Skript ausgeführt wird.
    .. Das ist alles nur Mutmaßung. Kannst du es vielleicht noch einmal genauer erklären?

    Schöne Feiertage

    Grüße autoiter

  • Hallo,

    ja du könntest recht haben damit das dieses Problem seitens dem Creator verursacht wird, leider finde ich keine Eisntellung dies bezüglich...jetzt weiß ich fürs erste nicht weiter...vielleicht leigt es auchz an der Druckausgabe der Maschine.

    Es passiert folgender Maßen:
    Er druckt sobald eine PDF Seite voll ist, dann bei der nächsten Messung schreibt er die PDF einfach weiter....also erst die Messdaten der vorherigen Messung die scheinbar nicht mehr auf die Seite gepasst haben und dann die neuen Messdaten bis die Seite wieder voll ist usw

  • Kurzes Update:
    Ich habe jetzt ein paar Sachen probiert und fesgestellt das selbst wenn ich die 2seitige PDF dem Script zur Verfügung stelle, kann er dieses nicht mehr umwandeln. Fehlermeldung erscheint "Fehler beim auslesen der Artikelnummer"

    So sieht die PDF aus die er nicht umwandeln kann...

    Diese habe ich zu 2 seiten zusammengefügt, dann ging es noch diese umzuwandeln...
    Jedoch wenn ich diese zusammengefügte Datei nochmal über den Creator drucke und automatisch abspeichern lasse dann geht das Script leider nicht mehr.

  • Hallo @Sascha123456,
    das eigentliche Problem scheint mir eigentlich die Automatisierung der Erstellung der richtigen PDF Dateien. Also jeden Bericht komplett in einer Datei zu haben. Das Umbenennen sollte dann auch noch klappen. (Wenn du selbst schon die Dateien zusammen friemeln musst, kannst du sie auch selbst benennen.)
    Macht es vllt. Sinn, alle Dateien erst einmal fortlaufend zu benennen und sie später in einem weiteren Durchlauf nach den richtigen Inhalten aufzuteilen und in mit Artikelnummer zu benennen?

    Grüße autoiter

  • Hallo @autoiter

    das zusammen fügen der einzelnen pdf zu zwei war nur mal eben testweise :)

    Prinzipiell sollte das ja alles automatisch geschehen.

    Dein Vorschlag würd zwar Sinn machen jedoch ist das Problem nicht so groß wie es scheint, denn wenn die PDF eine Seite maximal hat funzt auch alles so wie es soll.
    Das Problem tritt erst auf wenn die PDF länger wird als eine Seite, weil zb die Menge an Messdaten nicht mehr ausreicht.

    Vielleicht kurzes Hintergundwissen:
    Ich starte den virtuellen Drucker in meinem Messprogramm am anfang mit PRINTER, FILE 0
    Und beende es am Ende wieder mit PRINTER, FILE 1

    Bisher alles so weit so gut.
    Jedoch wenn die PDF nun zb 2 Seiten hat dann erstellt er mir daraus auch 2 PDF´s...obwohl der PRINTER-Befehl erst am ende kommt....warum weiß erstmal niemand^^...

  • Das Problem mit dem von dir geposteten Problem-PDF war wohl die Art, wie du es erstellt hast (als Bilddatei?). Ich musste erst einmal OCR in einem PDF Editor drüber laufen lassen, bevor es geklappt hat..

    Wenn das alles eigentlich kein Problem für dich ist, dann mach es eben manuell und benenne die Datei dabei eben auch gleich selbst.

    Bisher alles so weit so gut.
    Jedoch wenn die PDF nun zb 2 Seiten hat dann erstellt er mir daraus auch 2 PDF´s...obwohl der PRINTER-Befehl erst am ende kommt....warum weiß erstmal niemand^^...

    Es wird also einmal PDFCreator.pdf mit dem Anfang und dann noch einmal PDFCreator.pdf mit dem Ende erstellt?

    Wenn das so ist, könnte man die Dateien doch Artikelnummer.pdf und Artikelnummer_2.pdf nennen, oder?

    Das könnte man einmal automatisieren, wenn das Skript die Dateien verschiebt und dabei nur durchnummeriert und man am Ende mit einem zweiten Skript über das Verzeichnis geht und jede Datei ohne erwarteten Kopf, wie etwa Artikel der vorherigen zuordnet.

    Oder das Skript schreibt bei jedem Aufruf, die aktuelle Datei in eine Textdatei. Wenn der erwartete Textteil für einen Anfang nicht in der aktuellen PDF ist, wird eben die vorherige Artikelnummer aus der Textdatei ausgelesen und mit Nummerierung gespeichert..

    Mit noch etwas Arbeit könnte man sicher auch eine zusammenhängende PDF erstellen.

    Grüße autoiter

  • Morgen @autoiter

    also ich hab nun ausreichend rum probiert und stelle fest es liegt weder am Script noch am Creator, das ganze liegt an der Maschinensteuerung.....ärgerlich

    Nun wie das ganze aussieht habe ich dir nochmal mit angehängt.

    Man kann sehen das die erste Datei normal und wie gewollt umbenannt wird und die 2te lässt er als PDCreator.pdf weil dort kein Kopf mehr enthalten ist mit der Artikelnummer um zu wissen wie er es umbennen soll....

    Ich denke ich habe 2 Möglichkeiten:
    Entweder ich schaffe es das er bei der 2ten PDF auch den Kopf oben mit anfügt, damit er dies auch umbenennen kann...jedoch glaube ich das dies rein von der Steuerung nicht möglich ist..

    Oder man modifiziert deine Idee in etwa so das man sagt, ok benenne die erste PDF normal um und die 2te benennst du mir unabhänig vom Inhalt der PDF nochmal um in den selben Namen wie zuvor die erste.
    Das darf er allerdings nur dann tun wenn eine 2te PDF innerhalb der nächsten 2 oder 3 minuten hereinkommt. Und wenn nicht, anschließend wieder normal umbenennen wie immer.


    Ich weiß aber gar nicht ob das so möglich ist, :) viellciht lasse ich das erstellen von PDF´s bei so langen Messprogrammen einfach weg. Ist zwar unschön aber bei den kleineren Programmen funktioniert es ja dafür

  • Die Frage habe ich mir auch gestellt.
    In deinem Beispiel steht in Seite 2 auch "Seite 2". Ist das vllt. immer so (wäre doch sicherer als Fehler bei Artikel)? Das könnte man doch nutzen! Dann könnte man die Datei entweder der jüngsten Datei im Artikelnummer Verzeichnis zuordnen, oder dem Namen der letzten Datei, der immer in eine Textdatei geschrieben wird.

    Grüße autoiter

  • Morgen :)

    ja diese Idee ist sogar noch besser mit der Seitenzahl.

    Das mit der Zeit ist aber auch machbar, denn innerhalb 2 Minuten ist es eigentlich nicht möglich das ein 2tes Protokoll ankommt. Da keines meiner Messprogramme so schnell sein kann.

    Ich weiß aber nicht welche Lösung einfacher wäre^^....glaub ich sollte dringend mal Scripting lernen

  • Hallo @Sascha123456,

    ....glaub ich sollte dringend mal Scripting lernen

    Das ist immer von Vorteil und jedenfalls zu empfehlen.

    Ansonsten stelle deine Anfrage das nächste Mal auch in den Bereich der Programmieranfragen mit oder ohne Gegenleistung. Du möchtest ja etwas programmiert bekommen..

    Versuch es mal mit folgendem Skript. Bei einem Fehler beim Ermitteln der Artikelnummer sucht es nach dem String: "Seite: 2". Wird er gefunden, wird im Artikelnummer-Verzeichnis nach der jüngsten Datei geschaut und geprüft, ob sie jünger als x Minuten ist. Wenn das zutrifft, wird die Datei mit dem Dateinamen dieser Datei und dem Zusatz Seite_2 versehen.
    Den Minutenabstand kannst du oben im Skript ($iMaxDiff = ) anpassen.

    Das ist nicht flexibel und @chesstiger könnte dir da sicher etwas besseres basteln. Ich gehe jetzt einfach mal von Laborbedingungen aus und hoffe das funktioniert so.

    Spoiler anzeigen


    EDIT: Da war noch ein Fehler im Skript.

    Grüße autoiter

    Einmal editiert, zuletzt von autoiter (21. April 2017 um 12:10)

  • @autoiter

    vielen Dank für die Mühe :)

    Ich habe dein Script probiert ,allerdings erhalte ich diese Fenster (siehe Bild)...das scheinen alle PDF´s im Ordner zu sein die umbenannt wurden. Ich habe die Zeit aber auf 2 Minuten gestellt


    Und anschließend kommt die Meldung...Fehler beim auslesen...keine passende erste Seite gefunden.

    Natzürlich habe ich zuvor die erste Seite durch das andere Script laufen lassen

    Ach und kann ich dieses Script einfach an das andere mit drunter hängen? Sodass alles durch ein Script gemacht wird.

  • Da habe ich eine Ausgabe vergessen zu löschen. Im Grunde aber ein Glück, denn so kann man meinen weiteren Fehler ja sehr gut sehen :D

    Spoiler anzeigen

    EDIT: Hab es nochmal geändert, weil bei der neuen Datei ja die Dateiendung noch als Name übernommen wurde.

    Ach und kann ich dieses Script einfach an das andere mit drunter hängen? Sodass alles durch ein Script gemacht wird.

    Das ist das alte Skript mit der Erweiterung um die neue Funktion. Ersetze das alte Skript also komplett durch dieses (so es denn funktioniert - hüstel, hüstel..)

    Grüße autoiter

    2 Mal editiert, zuletzt von autoiter (21. April 2017 um 17:29)