PDF Wasserzeichen die II 1/2.

14 May, 2010 (23:15) | Printing | By: hubi

Die Sache mit den Ordner-Aktionen war zwar ganz nett, aber nicht wirklich die zuverlässigste Lösung den Vorgang anzustoßen. Aus diesem Grund habe ich einen kleinen Automator-Workflow gebaut, der zuverlässig das Wasserzeichen (via pdftk) einbaut. So kommt das ganze Ding dann auch mit Sonderzeichen im letztendlichen Dateinamen klar. Der Workflow funktioniert unter 10.5 und 10.6. Zur Installation einfach in /Library/PDF Services/ kopieren und von nun an kann in jedem Druckdialog "PDF pdftk" ausgewählt werden.
Der Workflow fragt nach einem Dateinamen und erstellt das fertige PDF mit dem Dateinamen in einen Ordner "Watermarked PDFs" auf dem Schreibtisch. Sollte ein Dateiname bereits vorhanden sein, wird in Finder-Art durch-nummeriert.
Am Ende noch ein kurzer Dialog, ob das erstellte PDF gleich an eine neue Email gehängt werden soll. Fertig =)
Das Feintuning bleibt jedem selbst überlassen. Damit der Workflow funktioniert, muss aber pdftk installiert sein, einfach von hier die fertig kompilierte Version (zusammen mit den Ordneraktion) laden.
(Das Hintergrund-PDF sucht sich das Skript direkt auf dem Startvolumen (_PDF_BACKGROUND.pdf)

PDFTK Wasserzeichen (Print-Workflow) v.1.0
156.44 KB (111 hits)

Wie mülle ich mein Home-Verzeichnis voll?

13 May, 2010 (23:19) | NERV!, software | By: hubi

Zum Beispiel mit:

UI-Browser

/Applications/UI\ Browser.app
~/Application Support/eSellerate
~/Preferences/com.prefabsoftware.uibrowser.plist
~/Logs/K6J1GI(IkG.plist

Bin geneigt es die iShovel zu nennen

13 May, 2010 (09:14) | Blafasel | By: hubi

... oder wenn Letherman ein Schaufel produzieren würden, wäre es bestimmt so eine:

Zu verwenden als Zange, Küchenmesser, Sense, Säge, Hacke, Kletterhacken, Paddel, Beil, Zollstock, Kampfschild, Dosenöffner, Drahtschneider und Schaufel. Einzig die eingebaute Motor-Säge und der innen liegende Strohhalm fehlen da noch.

Safari: Öffne alle JavaScript Links

5 May, 2010 (22:16) | Safari, Useful Snippets | By: hubi

Kann recht praktisch sein, wenn man sich mal alle JavaScript-Dateien zu einer Website anzeigen lassen möchte...

Code zum markieren einmal anklicken Code im Skript-Editor öffnen

tell application "Safari"

tell document 1

--set mybaseURL to do JavaScript "document.URL.slice(0, document.URL.lastIndexOf('/')+1)"

set jslinks to do JavaScript "var jssrcarray = new Array()

for (var i=0;i<document.getElementsByTagName('script').length;i++)

{

jssrcarray.push(document.getElementsByTagName('script')[i].src)

}

jssrcarray

"

repeat with jslink in jslinks

open location jslink

end repeat

end tell

end tell

Nervige Overlays auf Website entfernen

4 May, 2010 (09:41) | NERV!, javascript | By: hubi

Früher waren es die Pop-Up-Fenster heute sind es nervig Overlays, die die Sicht auf eine Website versperren. Entweder schaltet man stumpf JavaScript aus oder klickt die Overlays weg, was dann den Aufruf von anderen Overlays oder Popups zur Folge hat. Ein kleine Hilf stellt diese JavaScipt-Code dar, den der alle diese Overlay-Dinger schlichtweg ausblendet. (Quick&Dirty).

Code zum markieren einmal anklicken Code im Skript-Editor öffnen

tell application "Safari"

tell document 1

do JavaScript "for (var i=0;i<document.getElementsByTagName('*').length;i++)

{

if ((document.getElementsByTagName('*')[i].style.position == 'absolute')||(document.getElementsByTagName('*')[i].style.position == 'fixed'))

document.getElementsByTagName('*')[i].style.display = 'none'

}"

end tell

end tell

Macnews hat da eine etwas abgeänderte Form, das Overlay wird dort über eine Stylesheet definiert, deshalb nun computed style und schon funktioniert es wieder =)

Code zum markieren einmal anklicken Code im Skript-Editor öffnen

tell application "Safari"

tell document 1

do JavaScript "for (var i=0;i<document.getElementsByTagName('*').length;i++)

{

if ((document.defaultView.getComputedStyle(document.getElementsByTagName('*')[i],null).position == 'absolute')||(document.defaultView.getComputedStyle(document.getElementsByTagName('*')[i],null).position == 'fixed'))

document.getElementsByTagName('*')[i].style.display = 'none'

}"

end tell

end tell

Cleanternet

2 May, 2010 (13:03) | Nice2Know | By: hubi

Ist zar schon etwas ältert...

Dann noch ein etwas andere Ansatz, quasi aber zu selben Thema:

MAC-Adressen Filter der Airport-Station per Script befüllen

26 April, 2010 (19:54) | Useful Snippets | By: hubi

Ist zwar GUI-Scripting, hat mir aber einiges an Zeit erspart, als ich mal so 30 MAC-Adressen in den Filter einer Airport-Station eintragen durfte. =)

Code zum markieren einmal anklicken Code im Skript-Editor öffnen

set a to {"04:1e:aa:ef:7c:5d", "04:1e:aa:eb:1:e7"}

set i to 1

repeat with w in a

activate application "AirPort Utility"

tell application "System Events"

tell process "AirPort-Dienstprogramm"

click button 2 of tab group 1 of window 1

delay 1

keystroke w as text

delay 0.25

keystroke tab

keystroke tab

keystroke "mac " & i

delay 0.25

keystroke return

delay 1

end tell

end tell

set i to i + 1

end repeat

;-)

26 April, 2010 (10:20) | Bilder | By: hubi

Maus klicken und bewegen via shell script

25 April, 2010 (17:26) | terminal, tools | By: hubi

Ich hatte ja mal eine Zeile gefunden, die das via bewegen des Maus-Zeigers via Phyton regelt, dieses kleine Shell-Programm (CLICLICK )kann sogar klicken, doppelklicken, tasten dabei gedrückt halten... ach wie schön und simpel =)

Zugehörige Zeilen zusammenführen

25 April, 2010 (13:21) | Useful Snippets | By: hubi

Das Problem wurde hier mal beschrieben.
Man halt also 2 Tabellen und möchte die Werte aus beiden zusammenführen (addieren in diesem Fall). Nix andere tut dieses Script mit tab-separierten Dateien.

Code zum markieren einmal anklicken Code im Skript-Editor öffnen

set file1 to quoted form of (POSIX path of ((choose file) as alias))

set file2 to quoted form of (POSIX path of ((choose file) as alias))

set mytempfile to "/tmp/a21239d511fe54d3b3ba661bc0a45a31.txt"

set thetext to (do shell script "cat " & file1 & " > " & mytempfile & ";echo ''>>" & mytempfile & ";cat " & file2 & " >>" & mytempfile & "; sort " & mytempfile)

set valueList to buildlist(thetext, tab)

repeat with i from 1 to count of every item of valueList

if i = 1 then

copy {item 1 of valueList} to finalvaluelist

else

if item 1 of item i of valueList = item 1 of last item of finalvaluelist then

set item 2 of last item of finalvaluelist to (item 2 of last item of finalvaluelist) + (item 2 of item i of valueList)

set item 3 of last item of finalvaluelist to (item 3 of last item of finalvaluelist) + (item 3 of item i of valueList)

else

copy finalvaluelist & {item i of valueList} to finalvaluelist

end if

end if

end repeat

set the clipboard to buildtext(finalvaluelist, tab)

display dialog "result is in clipboard"

on buildtext(llist, thedelimiter)

set AppleScript's text item delimiters to thedelimiter

repeat with i from 1 to count of llist

set item i of llist to item i of llist as text

end repeat

set AppleScript's text item delimiters to return

set llist to llist as text

set AppleScript's text item delimiters to ""

return llist

end buildtext

on buildlist(thetext, thedelimiter)

set thelines to every paragraph of thetext

set thevalues to {}

set AppleScript's text item delimiters to thedelimiter

repeat with theline in thelines

set tmp to every text item of theline

if (count of tmp) = 3 then

set thevalues to thevalues & {{item 1 of tmp, (item 2 of tmp) as integer, item 3 of tmp as integer}}

end if

end repeat

set AppleScript's text item delimiters to ""

return thevalues

end buildlist #

hier noch die Beispiel-Dateien zu ausprobieren...Testfile1 Testfile2
Theoretisch könnte man so etwas auch für Excel schreiben und die Daten einfach über die Zwischenablage einlesen....

Kleiner Nachtrag

Code zum markieren einmal anklicken Code im Skript-Editor öffnen

set thetext to (do shell script "tr '\r' '\n' <" & file1 & " > " & mytempfile & ";echo ''>>" & mytempfile & ";tr '\r' '\n' <" & file2 & " >>" & mytempfile & ";sort " & mytempfile)

damit werden carriage returns von mac in normale unix LF umgewandelt ist etwas zuverlässiger, man weiß ja nie, was einem für eine Text-Datei vorgesetzt wird =)