1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. Ilse

Beiträge von Ilse

  • Mausgeschwindigkeit in Funktion

    • Ilse
    • 27. Februar 2014 um 18:59

    Hallo BiNu,

    ja, aber wenn ich z.B. per Record 50 Mausbewegungen habe,
    dann muß ich trotzdem alles per Hand anpassen.
    Mache ich weitere 50.... ist das etwas mühsam. Und es werden viele Mausbewegungen...

    [autoit]


    MouseClick("left",51,583,1); ...1 = $Speed
    MouseClick("left",51,583,1)
    MouseClick("left",51,583,1)
    MouseClick("left",51,583,1)

    [/autoit]

    Es gibt also nichts wie z.B. Opt("MouseClickDelay",1000)


    ;) Ilse

  • Mausgeschwindigkeit in Funktion

    • Ilse
    • 27. Februar 2014 um 17:19

    Hallo,

    also ich zeichne Mausbewegungen auf.
    Diese haben alle eine eingestellte geschwindigkeit

    Und jedesmal wenn ich neu aufzeichne muß ich von Hand jeden Speed ändern.

    Das möchte ich gerne global in meiner Funktion festlegen.

    Immer wenn die Maus sich von Links nach rechts bewegt soll die voreingestellte Geschwindigkeit benutzt werden!


    ;) Ilse

  • Mausgeschwindigkeit in Funktion

    • Ilse
    • 27. Februar 2014 um 15:25

    Hallo,

    ich habe folgendes Problem:

    Ich führe etliche Mausklicks durch.
    1. Wie kann man einen Default für die Geschwindigkeit (Move...)
    in einer Funktion festlegen.
    2. Kann man die Maus auch unsichtbar/sichtbar machen?

    [autoit]


    _MausSetup()

    [/autoit][autoit][/autoit][autoit]

    MouseClick("left",44,272,1)
    MouseClick("left",104,154,1)
    MouseClick("left",125,171,1)

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    Func _MausSetup()
    Opt('WinWaitDelay',100)
    Opt('WinDetectHiddenText',1)
    Opt("MouseClickDelay",10)
    Opt('MouseCoordMode',0)
    EndFunc

    [/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit]


    Viele Grüße
    Ilse

  • Mausrad

    • Ilse
    • 26. Februar 2014 um 13:50

    Hallo Bugfix,

    es passiert leider immer noch nichts!

    [autoit]


    #include "MouseOnEvent.au3"; ist im Scriptdirverzeichnis drin!
    ; setze hier noch einen Hotkey um das Skript beenden zu können, sonst bleibst duewig in der Hauptschleife ;)
    HotKeySet("{ESC}", "Terminate")
    $iPaused = False
    _MouseSetOnEvent($MOUSE_WHEELDOWN_EVENT, "_PausePlay", 0, 1)

    [/autoit][autoit][/autoit][autoit]

    While True
    Sleep(50)
    WEnd
    ;_MouseSetOnEvent($MOUSE_WHEELDOWN_EVENT) : kannst du dir auch schenken, Programm ist dann eh beendet

    [/autoit][autoit][/autoit][autoit]

    Func _PausePlay()
    MsgBox(4096,"","")
    $iPaused = Not $iPaused
    ConsoleWrite("Paused: " & $iPaused & @CRLF)
    EndFunc

    [/autoit][autoit][/autoit][autoit]

    Func Terminate()
    Exit 0

    [/autoit][autoit][/autoit][autoit]

    EndFunc ;==>Terminate

    [/autoit]


    EDIT:
    Hab's geschafft!

    DANKE!

    Grüße
    Ilse

  • Mausrad

    • Ilse
    • 26. Februar 2014 um 13:37

    Hallo Chip,

    merci, aber ich brauch trotzdem deine Hilfe.

    Ich habe mir MouseOnEvent heruntergeladen.
    Dann habe ich die AU3 ins Verzeichnis gemacht (Include)
    und mit einer Msgbox probiert!

    [autoit]


    #include "MouseOnEvent.au3"; ist im Scriptdirverzeichnis drin!

    [/autoit][autoit][/autoit][autoit]

    $iPaused = False

    [/autoit][autoit][/autoit][autoit]

    _MouseSetOnEvent($MOUSE_WHEELDOWN_EVENT, "_PausePlay", 0, 1)

    [/autoit][autoit][/autoit][autoit]

    Sleep(5000)

    [/autoit][autoit][/autoit][autoit]

    _MouseSetOnEvent($MOUSE_WHEELDOWN_EVENT)

    [/autoit][autoit][/autoit][autoit]

    Func _PausePlay()
    MsgBox(4096,"","")
    $iPaused = Not $iPaused
    ConsoleWrite("Paused: " & $iPaused & @CRLF)
    EndFunc

    [/autoit]

    Fehlt da noch was?


    Liebe Grüße
    Ilse

  • Mausrad

    • Ilse
    • 26. Februar 2014 um 13:05

    Hallo,

    Ich schaffe es einfach nicht das Mausrad zu programmieren.
    Ich kann mit _IsPressed links und rechts programmieren,
    aber wie kann man diese Schritte mit dem Mausrad machen?

    Folgendes sollte passieren:

    Bewege ich das Mausrad 1 Schritt nach vorne
    dann soll jedesmal

    [autoit]


    Send("#{NUMPADADD}")

    [/autoit]


    gedrückt werden

    und wenn das Mausrad nach hinten gerollt wird jedesmal

    [autoit]


    Send("#{NUMPADSUB")

    [/autoit]


    Viele Grüße
    Ilse ;)

  • WinActivate Problem

    • Ilse
    • 14. Februar 2014 um 15:10

    Hallo Schnitzel,

    danke mal wieder....

    Werd ich machen.

    Grüße ;)
    Ilse

  • WinActivate Problem

    • Ilse
    • 14. Februar 2014 um 14:10

    Hallo,

    ich habe mit Firefox mehrere Tabs geöffnet.
    Darunter der Google Kalender.

    Diesen muß ich per Code aktivieren!

    Spoiler anzeigen
    [autoit]


    WinActivate("Google Kalender - Mozilla Firefox","")

    [/autoit] [autoit][/autoit] [autoit]

    WinSetState("Google Kalender - Mozilla Firefox","",@SW_MAXIMIZE)

    [/autoit]

    auch meine Versuche mit

    [autoit]


    Opt("WinTitleMatchMode",2)

    [/autoit]


    scheitern.

    Wenn nur Google Kalender alleine offen ist, klappt es!


    Grüße
    Ilse ;)

  • Felder nach Eingabe prüfen

    • Ilse
    • 14. Februar 2014 um 13:29

    Hallo Schnitzel,

    merci für deine Hilfe.
    Ich probiere ja schon den ganzen morgen da rum.
    Dass es irgendwie mit
    $iCtrl_TabSwitchStart und $iCtrl_TabSwitchEnd
    und den Feldern dazwischen zu tun hat dachte ich mir schon.

    Aber auf Labelfelder hatte ich nicht geachtet!

    Jedenfalls DANKE!!!!
    Es klappt.

    Liebe Grüße
    Ilse ;)

  • Felder nach Eingabe prüfen

    • Ilse
    • 14. Februar 2014 um 13:01

    Hallo Schnitzel,

    so habe mal ein Beispiel gemacht!

    1. Text in Feld eintippen
    2. Cursur springt weiter....

    ABER ins Edit Feld wird nicht gesprungen!
    Da soll er bleiben!

    Spoiler anzeigen
    [autoit]


    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    Opt("GUIResizeMode", $GUI_DOCKAUTO)

    [/autoit] [autoit][/autoit] [autoit]

    Global $iFocusSwitchTime = 1000, $iFocusID

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    #Region ### START Koda GUI section ### Form=c:\users\personal-1\steuer\steuern-4.kxf
    $Form1_1 = GUICreate("McCanyon-Canon PDF Scanner", 615, 760, 192, 124, BitOR($GUI_SS_DEFAULT_GUI,$WS_MAXIMIZEBOX,$WS_SIZEBOX,$WS_THICKFRAME,$WS_TABSTOP))
    GUISetFont(8, 800, 0, "System")
    $Dokument = GUICtrlCreateGroup("Dokument-Infos", 16, 16, 577, 409)
    GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
    $iCtrl_TabSwitchStart = GUICtrlCreateDummy()
    $txtJahr = GUICtrlCreateInput("2013", 144, 56, 145, 56, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))
    GUICtrlSetFont(-1, 30, 800, 0, "Verdana")
    GUICtrlSetColor(-1, 0x008080)
    $txtDatum = GUICtrlCreateInput("01.12.2013", 328, 56, 209, 46, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))
    GUICtrlSetFont(-1, 24, 400, 0, "Verdana")
    $txtVon = GUICtrlCreateInput("", 144, 136, 393, 31)
    GUICtrlSetFont(-1, 14, 400, 0, "Verdana")
    $txtDoc = GUICtrlCreateInput("", 144, 176, 393, 31)
    GUICtrlSetFont(-1, 14, 400, 0, "Verdana")
    $txtBetrag = GUICtrlCreateInput("", 144, 216, 265, 56)
    GUICtrlSetFont(-1, 30, 800, 0, "Verdana")
    GUICtrlSetColor(-1, 0xFF0000)
    $lblJahr = GUICtrlCreateLabel("Jahr", 80, 64, 44, 27, $SS_RIGHT)
    GUICtrlSetFont(-1, 14, 400, 0, "Verdana")
    $lblVon = GUICtrlCreateLabel("Von/Adresse", 24, 136, 107, 22, $SS_RIGHT)
    GUICtrlSetFont(-1, 12, 400, 0, "Verdana")
    $lblDoc = GUICtrlCreateLabel("Dokument", 32, 176, 102, 27, $SS_RIGHT)
    GUICtrlSetFont(-1, 14, 400, 0, "Verdana")
    $lblDatum = GUICtrlCreateLabel("vom", 288, 64, 33, 24, $SS_RIGHT)
    $lblBetrag = GUICtrlCreateLabel("Betrag", 80, 232, 52, 24, $SS_RIGHT)
    $lblEUR = GUICtrlCreateLabel("EUR", 432, 232, 39, 24)
    GUICtrlCreateLabel("Stichwortsuche", 24, 280, 113, 24, $SS_RIGHT)
    $txtSuche = GUICtrlCreateEdit("", 144, 280, 393, 129, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_WANTRETURN,$WS_VSCROLL))
    GUICtrlSetData(-1, "")
    $iCtrl_TabSwitchEnd = GUICtrlCreateDummy()
    $btnleeren = GUICtrlCreateButton("leeren", 32, 384, 99, 25)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Label1 = GUICtrlCreateLabel(".pdf", 544, 168, 35, 28)
    GUICtrlSetFont(-1, 16, 400, 0, "MS Sans Serif")
    $Abteilungen = GUICtrlCreateGroup("Scan an Abteilung", 16, 440, 577, 273)
    GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
    GUICtrlSetBkColor(-1, 0xFFFBF0)
    $btnSonstiges = GUICtrlCreateButton("1", 66, 480, 475, 73)
    GUICtrlSetFont(-1, 12, 800, 0, "Verdana")
    $btnAblage = GUICtrlCreateButton("2", 64, 560, 475, 65)
    GUICtrlSetFont(-1, 16, 800, 0, "Verdana")
    $btnBuchen = GUICtrlCreateButton("3", 64, 632, 475, 65)
    GUICtrlSetFont(-1, 16, 800, 0, "Verdana")
    GUICtrlSetColor(-1, 0x008000)
    $Radio1 = GUICtrlCreateRadio("Simplex", 184, 440, 113, 25)
    GUICtrlSetState(-1, $GUI_CHECKED)
    GUICtrlSetFont(-1, 18, 400, 0, "MS Sans Serif")
    $Radio2 = GUICtrlCreateRadio("Duplex", 320, 440, 113, 25)
    GUICtrlSetFont(-1, 18, 400, 0, "MS Sans Serif")
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $beenden = GUICtrlCreateButton("beenden", 520, 720, 75, 25)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    [/autoit] [autoit][/autoit] [autoit]

    GUIRegisterMsg($WM_COMMAND, "_WM_COMMAND")

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

    [/autoit] [autoit][/autoit] [autoit]

    Case $btnleeren
    Case $btnSonstiges
    Case $btnAblage
    Case $btnBuchen
    Case $Radio1
    Case $Radio2
    Case $beenden
    EndSwitch
    WEnd

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func _WM_COMMAND($hWnd, $iMsg, $wParam, $lParam)
    #forceref $hwnd, $iMsg, $wParam, $lParam
    Local $iControlMsg = BitShift($wParam, 16)
    Local $iControlID = BitAND($wParam, 0xFFFF)

    [/autoit] [autoit][/autoit] [autoit]

    Switch $iControlMsg
    Case $EN_CHANGE
    If $iFocusID = $iControlID Then
    AdlibUnRegister("_FocusTimer")
    If GUICtrlRead($iControlID) <> "" Then AdlibRegister("_FocusTimer", $iFocusSwitchTime)
    EndIf
    Case $EN_SETFOCUS
    AdlibUnRegister("_FocusTimer")
    $iFocusID = $iControlID
    EndSwitch
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _FocusTimer()
    If $iFocusID >= $iCtrl_TabSwitchStart And $iFocusID < $iCtrl_TabSwitchEnd Then ControlFocus($Form1_1, "", $iFocusID + 1)
    AdlibUnRegister("_FocusTimer")
    EndFunc

    [/autoit]

    Also, der Cursur soll in jedes Textfeld/Editfeld wandern

    Liebe Grüße
    Ilse ;)

  • Felder nach Eingabe prüfen

    • Ilse
    • 14. Februar 2014 um 12:25

    Hallo,

    muß mich leider wieder melden.
    Habe ein kleines Problem mit dem Script.

    Ich mußte anstatt eines Textfeldes ein Editfeld benutzen
    Das wird aber nicht angesprungen!

    [autoit]


    $txtStichwortsuche = GUICtrlCreateEdit("", 144, 280, 393, 129, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_WANTRETURN,$WS_VSCROLL))
    GUICtrlSetData(-1, "")

    [/autoit][autoit][/autoit][autoit][/autoit]

    Eine Idee warum?

    Liebe Grüße
    Ilse ;)

  • Controlsend + (NumPAD)

    • Ilse
    • 13. Februar 2014 um 15:40

    Hallo Schnitzel,

    ich habe es mit send gemacht.
    (Eingebaut nach Case Button...)
    Es wurde nichts an die Textverarbeitung gesendet.

    Es gibt keinen Code.

    Zitat


    So wie du es gepostet hast wirst du es ja nicht verwenden weil du so in das fokusierte Control schreiben würdest.

    Ich habe gedacht es funktioniert mit dieser Zeile.

    Liebe Grüße
    Ilse ;)

  • Controlsend + (NumPAD)

    • Ilse
    • 13. Februar 2014 um 11:07

    weiss ich,

    aber ich arbeite gleichzeitg in einem Textprogramm!
    Deswegen Controlsend im Hintergrund!

  • Controlsend + (NumPAD)

    • Ilse
    • 13. Februar 2014 um 11:01

    Hallo,

    ich muß einen Befehl (Rechnertastatur +)
    senden. Aber ohne Fenstertitel!
    Ich habe ein Programm im Hintergrund
    das man so einschalten kann. Egal welches Fenster aktiv ist.


    [autoit]


    ControlSend("", "", "", "{NUMPADADD}")

    [/autoit]

    das geht nicht!

    ;) Ilse

  • Felder nach Eingabe prüfen

    • Ilse
    • 12. Februar 2014 um 20:19

    Hallo name22,

    echt Super!

    Genau so.

    DANKE!!!!!

    Liebe Grüße
    Ilse :)

  • Felder nach Eingabe prüfen

    • Ilse
    • 12. Februar 2014 um 17:46

    Hallo,

    ich habe folgendes Problem:
    Es müssen etliche Daten erfasst werden.

    Ich möchte gerne folgendes machen:

    Das Feld das den Focus hat (soll automatisch prüfen) ob Text enthalten ist.
    Wenn JA , dann geht es nach 2 Sekunden mit TAB zum nächsten Feld!


    Ich habe m. ControlFocus u.s.w. probiert
    alles ohne Erfolg

    Spoiler anzeigen
    [autoit]


    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>

    [/autoit] [autoit][/autoit] [autoit]

    $Form1_1 = GUICreate("Form1", 615, 484, 192, 124)
    $txtJahr = GUICtrlCreateInput("2014", 128, 48, 49, 32)
    GUICtrlSetFont(-1, 16, 400, 0, "MS Sans Serif")
    $txtOrdner = GUICtrlCreateInput("", 128, 112, 441, 32)
    GUICtrlSetFont(-1, 16, 400, 0, "MS Sans Serif")
    $txtDatei = GUICtrlCreateInput("", 128, 168, 441, 32)
    GUICtrlSetFont(-1, 16, 400, 0, "MS Sans Serif")
    $txtAdresse = GUICtrlCreateInput("", 128, 224, 441, 32)
    GUICtrlSetFont(-1, 16, 400, 0, "MS Sans Serif")
    $txtKopie = GUICtrlCreateInput("", 128, 352, 441, 32)
    GUICtrlSetFont(-1, 16, 400, 0, "MS Sans Serif")
    $Label1 = GUICtrlCreateLabel("Jahr:", 72, 48, 45, 28)
    GUICtrlSetFont(-1, 14, 400, 0, "MS Sans Serif")
    $lblOrdner = GUICtrlCreateLabel("Ordner", 48, 112, 64, 28, $SS_RIGHT)
    GUICtrlSetFont(-1, 14, 400, 0, "MS Sans Serif")
    $lblDatei = GUICtrlCreateLabel("Datei", 69, 167, 46, 28, $SS_RIGHT)
    GUICtrlSetFont(-1, 14, 400, 0, "MS Sans Serif")
    $lblAdresse = GUICtrlCreateLabel("Adresse", 38, 232, 74, 28, $SS_RIGHT)
    GUICtrlSetFont(-1, 14, 400, 0, "MS Sans Serif")
    $lblKopie = GUICtrlCreateLabel("Kopie", 56, 354, 53, 28, $SS_RIGHT)
    GUICtrlSetFont(-1, 14, 400, 0, "MS Sans Serif")
    $btnEnde = GUICtrlCreateButton("beenden", 496, 416, 75, 25)
    $btnStart = GUICtrlCreateButton("Start", 496, 40, 75, 41)
    GUICtrlSetFont(-1, 16, 400, 0, "MS Sans Serif")
    GUISetState(@SW_SHOW)

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Case $txtJahr
    ;Send ("{Tab}")
    Case $txtOrdner
    Case $txtDatei
    Case $txtAdresse
    Case $txtKopie

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Case $btnEnde
    Exit
    Case $btnStart
    EndSwitch
    WEnd

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit]


    Grüße
    Ilse ;)

  • in PDF Datei Zusatzinfos speichern

    • Ilse
    • 11. Februar 2014 um 11:34

    Hallo qwert23,

    schön dass du dich meldest.

    Hab da irgendwie einen Denkfehler.

    Also:

    1. Ich scanne eine Datei.pdf
    2. Wenn ich die Datei z.B. mit Acrobat (Eigenschaften)öffne, dann sind alle Felder leer. Also Titel, Autor Schlüsselwörter...

    3. Ich passe im Script die Daten an: Datei.pdf, Tiel, Keywords...
    4. Ich Sehe die Daten im ArrayDisplay

    Es wird eine _mod.pdf angelegt aber ohne Daten

    Spoiler anzeigen
    [autoit]


    ; quelle: http://www.autoitscript.com/forum/topic/13…sting-pdf-file/

    [/autoit] [autoit][/autoit] [autoit]

    #include <Array.au3>;just for display the arrays

    [/autoit] [autoit][/autoit] [autoit]

    _Test()

    [/autoit] [autoit][/autoit] [autoit]

    Func _Test()
    Local $sFile = @ScriptDir & "\Rechnung.pdf"
    Local $aOldData = _PDF_GetProperties($sFile)
    _ArrayDisplay($aOldData)

    [/autoit] [autoit][/autoit] [autoit]

    Local $aNewData[6][2] = [["Title", "New Title"],["Producer", "New Producer"],["Author", "New Author"],["Creator", "New Creator"],["Subject", "New Subject"],["Keywords", "New keywords"]]

    [/autoit] [autoit][/autoit] [autoit]

    Local $sNewFile = _PDF_SetProperties($sFile, $aOldData, $aNewData)
    Local $aCheck = _PDF_GetProperties($sNewFile)
    _ArrayDisplay($aCheck)
    EndFunc ;==>_Test

    [/autoit] [autoit][/autoit] [autoit]

    Func _PDF_GetProperties($sFile)
    Local $a_Prop[6][2] = [["Title", ""],["Producer", ""],["Author", ""],["Creator", ""],["Subject", ""],["Keywords", ""]]
    Local $hFile = FileOpen($sFile)
    Local $sTxt = FileRead($hFile)
    FileClose($hFile)
    Local $title = StringRegExp($sTxt, "(?i)(/Title) {0,1}\((.*?)\)", 1)
    If @error = 1 Then
    $a_Prop[0][1] = "Ilse PDF Datei"
    Else
    $a_Prop[0][1] = $title[1]
    EndIf
    Local $producer = StringRegExp($sTxt, "(?i)(/Producer) {0,1}\((.*?)\)", 1)
    If @error = 1 Then
    $a_Prop[1][1] = "Ilse"
    Else
    $a_Prop[1][1] = $producer[1]
    EndIf
    Local $author = StringRegExp($sTxt, "(?i)(/Author) {0,1}\((.*?)\)", 1)
    If @error = 1 Then
    $a_Prop[2][1] = "no match"
    Else
    $a_Prop[2][1] = $author[1]
    EndIf
    Local $creator = StringRegExp($sTxt, "(?i)(/Creator) {0,1}\((.*?)\)", 1)
    If @error = 1 Then
    $a_Prop[3][1] = "no match"
    Else
    $a_Prop[3][1] = $creator[1]
    EndIf
    Local $subject = StringRegExp($sTxt, "(?i)(/Subject) {0,1}\((.*?)\)", 1)
    If @error = 1 Then
    $a_Prop[4][1] = "no match"
    Else
    $a_Prop[4][1] = $subject[1]
    EndIf
    Local $keywords = StringRegExp($sTxt, "(?i)(/Keywords) {0,1}\((.*?)\)", 1)
    If @error = 1 Then
    $a_Prop[5][1] = "Gebühr Bescheid Rechnung"
    Else
    $a_Prop[5][1] = $keywords[1]
    EndIf
    Return $a_Prop
    EndFunc ;==>_PDF_GetProperties

    [/autoit] [autoit][/autoit] [autoit]

    Func _PDF_SetProperties($sFile, $aOld, $aNew)
    Local $hFile = FileOpen($sFile)
    Local $sTxt = FileRead($hFile)
    FileClose($hFile)
    For $i = 0 To UBound($aOld) - 1
    If $aOld[$i][1] <> "no match" Or $aOld[$i][1] <> "" Then
    $sTxt = StringRegExpReplace($sTxt, "(?i)(/" & $aOld[$i][0] & ") {0,1}\((.*?)\)", "/" & $aOld[$i][0] & " (" & $aNew[$i][1] &") ", 1)
    EndIf
    Next
    Local $sFileName = StringRegExpReplace($sFile, ".*\\(.*).{4}", "$1")
    Local $sNewFile = StringReplace($sFile, $sFileName, $sFileName & "_mod.pdf")
    Local $hNew = FileOpen($sNewFile, 18)
    FileWrite($hNew, $sTxt)
    FileClose($hNew)
    Return $sNewFile
    EndFunc ;==>_PDF_SetProperties

    [/autoit]


    EDIT Zeile 72 - 76

    [autoit]


    Local $sFileName = StringRegExpReplace($sFile, ".*\\(.*).{4}", "$1")
    Local $sNewFile = StringReplace($sFile, $sFileName, $sFileName & "_mod.pdf")
    Local $hNew = FileOpen($sNewFile, 18)
    FileWrite($hNew, $sTxt)
    FileClose($hNew)

    [/autoit]

    Meine PDF ist leer und hat keine Daten!
    Kannst du mir vielleicht ein Beispiel machen!


    Liebe Grüße
    Ilse ;)

  • in PDF Datei Zusatzinfos speichern

    • Ilse
    • 11. Februar 2014 um 10:53

    Hallo,

    danke für deine Hilfe.
    Ich konnte mich gestern leider nicht mehr melden.

    Ich habe das Script mal ausprobiert.
    1. Man kann neue Daten im Script erfassen.
    2. Es wird auch eine neue PDF erzeugt

    Aber die Daten die geändert wurden sind in der neuen pdf nicht enthalten.

    Spoiler anzeigen
    [autoit]


    ; quelle: http://www.autoitscript.com/forum/topic/13…sting-pdf-file/

    [/autoit] [autoit][/autoit] [autoit]

    #include <Array.au3>;just for display the arrays

    [/autoit] [autoit][/autoit] [autoit]

    _Test()

    [/autoit] [autoit][/autoit] [autoit]

    Func _Test()
    Local $sFile = @ScriptDir & "\Meine-PDF.pdf"
    Local $aOldData = _PDF_GetProperties($sFile)
    _ArrayDisplay($aOldData)

    [/autoit] [autoit][/autoit] [autoit]

    Local $aNewData[6][2] = [["Title", "New Title"],["Producer", "New Producer"],["Author", "New Author"],["Creator", "New Creator"],["Subject", "New Subject"],["Keywords", "New keywords"]]

    [/autoit] [autoit][/autoit] [autoit]

    Local $sNewFile = _PDF_SetProperties($sFile, $aOldData, $aNewData)
    Local $aCheck = _PDF_GetProperties($sNewFile)
    _ArrayDisplay($aCheck)
    EndFunc ;==>_Test

    [/autoit] [autoit][/autoit] [autoit]

    Func _PDF_GetProperties($sFile)
    Local $a_Prop[6][2] = [["Title", ""],["Producer", ""],["Author", ""],["Creator", ""],["Subject", ""],["Keywords", ""]]
    Local $hFile = FileOpen($sFile)
    Local $sTxt = FileRead($hFile)
    FileClose($hFile)
    Local $title = StringRegExp($sTxt, "(?i)(/Title) {0,1}\((.*?)\)", 1)
    If @error = 1 Then
    $a_Prop[0][1] = "Ilse PDF Datei"
    Else
    $a_Prop[0][1] = $title[1]
    EndIf
    Local $producer = StringRegExp($sTxt, "(?i)(/Producer) {0,1}\((.*?)\)", 1)
    If @error = 1 Then
    $a_Prop[1][1] = "no match"
    Else
    $a_Prop[1][1] = $producer[1]
    EndIf
    Local $author = StringRegExp($sTxt, "(?i)(/Author) {0,1}\((.*?)\)", 1)
    If @error = 1 Then
    $a_Prop[2][1] = "no match"
    Else
    $a_Prop[2][1] = $author[1]
    EndIf
    Local $creator = StringRegExp($sTxt, "(?i)(/Creator) {0,1}\((.*?)\)", 1)
    If @error = 1 Then
    $a_Prop[3][1] = "no match"
    Else
    $a_Prop[3][1] = $creator[1]
    EndIf
    Local $subject = StringRegExp($sTxt, "(?i)(/Subject) {0,1}\((.*?)\)", 1)
    If @error = 1 Then
    $a_Prop[4][1] = "no match"
    Else
    $a_Prop[4][1] = $subject[1]
    EndIf
    Local $keywords = StringRegExp($sTxt, "(?i)(/Keywords) {0,1}\((.*?)\)", 1)
    If @error = 1 Then
    $a_Prop[5][1] = "no match"
    Else
    $a_Prop[5][1] = $keywords[1]
    EndIf
    Return $a_Prop
    EndFunc ;==>_PDF_GetProperties

    [/autoit] [autoit][/autoit] [autoit]

    Func _PDF_SetProperties($sFile, $aOld, $aNew)
    Local $hFile = FileOpen($sFile)
    Local $sTxt = FileRead($hFile)
    FileClose($hFile)
    For $i = 0 To UBound($aOld) - 1
    If $aOld[$i][1] <> "no match" Or $aOld[$i][1] <> "" Then
    $sTxt = StringRegExpReplace($sTxt, "(?i)(/" & $aOld[$i][0] & ") {0,1}\((.*?)\)", "/" & $aOld[$i][0] & " (" & $aNew[$i][1] &") ", 1)
    EndIf
    Next
    Local $sFileName = StringRegExpReplace($sFile, ".*\\(.*).{4}", "$1")
    Local $sNewFile = StringReplace($sFile, $sFileName, $sFileName & "_mod.pdf")
    Local $hNew = FileOpen($sNewFile, 18)
    FileWrite($hNew, $sTxt)
    FileClose($hNew)
    Return $sNewFile
    EndFunc ;==>_PDF_SetProperties

    [/autoit]

    Ich habe Zeile 8 und Zeile 26 geändert.
    Im Scriptdir Verzeichnis befindet sich meine -pdf.pdf

    Falls es geht,
    kann man es nicht so anpassen, dass keine Kopie gemacht wird
    sondern die Daten direkt in die PDF kommen?

    Ich scanne eine PDF und da müssen die Suchwörter...rein.


    Liebe Grüße
    Ilse ;)


    EDIT:

    Ich habe mal folgendes probiert:

    Ich öffne die Eigenschaften der PDF Datei
    Dann klicke ich auf PDF

    Und dann starte ich diesen Code

    [autoit]


    ControlSetText("Eigen","","[CLASS:Edit; INSTANCE:4]","Rechnung Gebühr")

    [/autoit]

    PROBLEM: Ich kann nicht speichern!!!!

  • in PDF Datei Zusatzinfos speichern

    • Ilse
    • 10. Februar 2014 um 13:38

    Hallo,

    hm... ich wollte kene Zusatzprogramme!
    Ich dachte man könnte das m. Autoit per Text irgendwie übergeben und neu speichern.


    ;) Ilse

  • in PDF Datei Zusatzinfos speichern

    • Ilse
    • 10. Februar 2014 um 12:39

    Hallo,

    Folgendes Problem:

    Ich habe eine PDF Datei gescannt!
    Diese PDF möchte ich gerne später mit Such-Stichwörtern wiederfinden.

    Wenn mann eine pdf Datei rechts anklickt, erhält man bei den
    Eigenschaften\PDF den Punkt Stichwörter.

    Meine Frage:

    Wäre es irgendwie möglich direkt beim Speichern der Datei...also
    C:\Daten\Mein Doc.pdf
    diese Schlüsselwörter mit zu integrieren?

    Liebe Grüße
    Ilse ;)

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™