PDF Datei umbenennen aus Text

  • Hallo,

    bin über den Beitrag zu meiner Umsetzung gekommen. Leider ist dieser sehr als und geschlossen.
    https://autoit.de/index.php/Thre…d-die/?pageNo=1


    Benutze die pdftotext.exe von hier http://www.foolabs.com/xpdf/download.html

    Und da ich das hier auch als Wissensdatenbank benutzte wollte ich meinen schlecht geschriebenen Code hier mal zurück geben.

    Vielleicht kann es einer gebrauchen ? Und vielleicht hat einer noch lust den Code zu optimieren.

    Gerade bei den Variablen für die Verzeichnisse stelle ich mich etwas schwer. Habe es zwar schon mal umgeschrieben allerdings habe ich es nicht Fehlerfrei zum laufen bekommen.

    Ich hoffe es ist Ok wenn ich es hier so schreibe.


    Gruß Steffen

  • So durch meine Erkältung habe ich nun doch selber mal Zeit gehabt um den Code zu optimieren.

    Wie erkenne ich ob ich zu viele <*.au3> integriert habe?

  • Du kannst OrganizeIncludes verwenden oder einfach ein Include nach dem anderen raushauen und schauen ob du Fehlermeldungen kriegst.
    Koda selbst fügt meist viel mehr Includes hinzu als eigentlich gebraucht werden, und wenn du dir einige Styles sogar merkst ($SS_CENTER = 1) kannst du sie sogar selber ersetzen und an Includes sparen.

    An der Performance und Größe deines Scriptes wird sich allerdings nicht sehr viel ändern.

  • @alpines Ich benutzte ISN Auto Studio da habe ich OrganizeIncludes nicht zum laufen bekommen. Muss ich mal noch schauen ob ich dafür noch eine Anleitung finde .

    Mit Trial and Error habe ich das rausgeworfen.

    ; #include <Array.au3>
    ; #include <ButtonConstants.au3>
    ; #include <WindowsConstants.au3>
    ; #include <EditConstants.au3>
    ; #include <MsgBoxConstants.au3>

  • Du solltest an der Struktur eventuell noch ein bisschen pfeilen und einige Zeilen auseinanderziehen, das wirkt übersichtlicher und man kann sich leichter reinlesen.
    Konventionen zur Variablennennung solltest du auch konsequent durchziehen.

    Du schreibst ab und zu Global Const $s_Path_zwischen  aber in den Funktionen schreibst du Sachen wie Global $search.
    Du solltest niemals globale Variablen in Funktionen deklarieren. Das schmeißt nur unnötige Warnings und verlängert das Bugtracking.
    Konstanten solltest du immer groß schreiben um sie leicher unterscheiden zu können. Global Const $S_PATH_ZWISCHEN
    Auch Variablen innerhalb von Funktionen sollten den Konventionen folgen sofern es gerade keine minimalen temporären Variablen oder Zählervariablen sind.

    Wenn dein Problem gelöst ist, dann setz doch bitte den Präfix des Threads auf [gelöst] (1. Beitrag bearbeiten).
    Weitere Anregungen zur Struktur deines Scriptes sind nach wie vor trotzdem erwünscht (der grüne Haken soll es nicht absolut machen).

  • @alpines

    Habe mal den Code geändert. Das mit dem auseinanderziehen ist mir noch nicht 100% klar.

    Bin gerade noch dabei eine PDF Funktion zum einbinden eines Briefpapiers einzubauen.

  • Habe mal den Code geändert. Das mit dem auseinanderziehen ist mir noch nicht 100% klar.

    Na eben ein bisschen auflockern und nicht alles untereinander schreiben. Bei GUI Elementen ist das sehr einfach, alles was zu einem Control gehört schreibst du untereinander und für neue Controls lässt du einfach eine Zeile extra frei.

    Auf die schnelle hab ich das mal so strukturiert (hätte es ggf. anders gemacht, kenne die Funktionalität jetzt nicht)

  • @alpines

    Danke werde es versuchen sauber zu schreiben.

    Funktion ist

    In einem Startverzeichnis kommen immer wieder PDF.

    Sobald die dort sind wird ein String (Text) @@WA- gesucht. Dies geht ja nicht direkt, also wird die PDF erst in eine TXT gewandelt.

    Diese wird dann durchsucht. Alles nach dem @@WA- wird genommen um die Datei umzubennen.

    Dann mit es eine einfache Anpassung gibt und ich noch nicht weis was wir noch so alles damit machen. Sortiere ich die Dateien erst später.
    So kann ich noch Funktion schnell ran hängen.

    Eigentlich soll es Später als Dienst laufen. Die Gui ist nur da damit man aktuell schnell optisch sieht das es läuft.