Text aus PDF extrahieren

Diskutiere das Thema Text aus PDF extrahieren im Forum Scripting und Automatisierung

  1. StDt

    StDt Thread Starter Mitglied

    Beiträge:
    1.203
    Zustimmungen:
    36
    Mitglied seit:
    24.04.2005
    Der Adobe Reader bietet die Möglichkeit, dass eine PDF-Datei als Text gespeichert wird. (Datei --> Als Text speichern)

    Das würde ich gerne Automatisieren.

    Es müsste ja eigentlich auch mit der Vorschau funktionieren. So ungefähr:
    • PDF-Datei mit Vorschau öffnen
    • Alles markieren und kopieren
    • in eine Text-Datei einfügen
    • Datei speichern.

    Wie macht man das mit dem Automator bzw. mit AppleScript?
     
  2. chebfarid

    chebfarid Mitglied

    Beiträge:
    894
    Zustimmungen:
    75
    Mitglied seit:
    05.10.2005
    Leider sind weder der Adobe-Reader noch Preview skriptfähig (danke Apple! ;) )
    Du kannst aber mit Hilfe von System Events die Tastatureingabe in Preview "nachäffen":
    PHP:
    tell application "Preview"
        
    activate
        tell application 
    "System Events"
            
    keystroke "2" using command down -- Texttool auswählen
            keystroke 
    "a" using command down -- gesammten Text selektieren
            keystroke 
    "c" using command down -- in die Ablage kopieren
        end tell
    end tell
    set kopierterText to the clipboard
    Wie Du jetzt den in kopierterText gespeicherten Text in z.B. TextEdit importierst, dazu findest Du eine Menge Beispiele in diesem Forum.

    Good scripting
    Farid
     
  3. mekkablue

    mekkablue Mitglied

    Beiträge:
    738
    Zustimmungen:
    46
    Mitglied seit:
    28.01.2005
    Ja! Das letzte Stück könnte in etwa so aussehen:

    Code:
    tell application "TextEdit"
    	if (exists document 1) and (text of document 1 is "") then
    		set text of document 1 to kopierterText
    	else
    		make new document at beginning with properties {text:kopierterText}
    	end if
    	activate
    end tell
     
  4. incal

    incal Mitglied

    Beiträge:
    2.517
    Zustimmungen:
    96
    Mitglied seit:
    30.05.2006
    Nun bitte noch das "funktionierende" ganze...
    Incal
     
  5. mekkablue

    mekkablue Mitglied

    Beiträge:
    738
    Zustimmungen:
    46
    Mitglied seit:
    28.01.2005
    Ja, es funktioniert nicht, weil die Abfolge Befehl-A > Befehl-C zu schnell war, deshalb sollte man eine Sekunde Verzögerung einbauen. Hier also das Ganze nochmal:

    Code:
    set restoreclipboard to the clipboard
    
    tell application "Preview"
    	activate
    	tell application "System Events"
    		
    		keystroke "2" using command down -- Texttool auswählen 
    		keystroke "a" using command down -- gesamten Text selektieren 
    		delay 1
    		keystroke "c" using command down -- in die Ablage kopieren 
    	end tell
    end tell
    
    set kopierterText to the clipboard
    
    tell application "TextEdit"
    	if (exists document 1) and (text of document 1 is "") then
    		set text of document 1 to kopierterText
    	else
    		make new document at beginning with properties {text:kopierterText}
    	end if
    	activate
    end tell
    
    set the clipboard to restoreclipboard
    
    Ach ja, die erste und die letzte Zeile versuchen jetzt die Zwischenablage wiederherzustellen.
     
Die Seite wird geladen...

MacUser.de weiterempfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Akzeptieren Weitere Informationen...