Fischer-Bayern.de
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen   RegistrierenRegistrieren 
 ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Ein Script für PDF-Tools um einen Briefkopf hinzuzufügen

 
Dieses Forum ist gesperrt, du kannst keine Beiträge editieren, schreiben oder beantworten.   Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten.    Fischer-Bayern.de Foren-Übersicht -> OS X-Snippets
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Uhlhorn
•->
•->


Anmeldedatum: 11.12.2006
Beiträge: 5
Wohnort: Hamburg

BeitragVerfasst am: 11.12.2006 - 19:15    Titel: Ein Script für PDF-Tools um einen Briefkopf hinzuzufügen Antworten mit Zitat

Hi, ich bin neu und habe heute ein kleines Skript geschrieben, welches als Droplet ausgelegt ist. Man kann PDF-Dateien darauf ziehen und sie werden dann mit einem Briefkopf versehen. Das ist für alle, die aus irgendwelchen Anwendungen heraus PDFs schreiben können, diese aber nachträglich mit einem Briefkopf (Wasserzeichen) versehen müssen.

Ich selbst benötige im Endresultat ein Droplet, welches das Wasserzeichen nur bei der ersten Seite hinterlegt. Dazu müssen die Dokumente aber erst in einzelne Seiten aufgesplittet werden, und anschließend wieder zusammengefügt werden.
Und dann benötige ich es noch als Skript für die PDF-Services.

Gruß
Gerhard

P.S.: Warum kann ich das Listing nicht farbig machen?
P.P.S.: Hier die beiden Skripte zum Download:
http://www.uhlhorn-agentur.de/Bilder/BriefkopfAS.zip


Code:

-- Dieses AppleScript ist ein Droplet, welches bei PDF-Dateien, die man auf
-- dieses Droplet zieht, ein Briefkopf (Wasserzeichen) hinzufügt. Dieses
-- Wasserzeichen muss im aktuellen Benutzer-Ordner unter Dokumente als PDF
-- abgelegt sein und den Namen „Briefkopf.PDF“ tragen. Der Briefkopf wird
-- auf allen Seiten des Dokuments hinzugefügt.

-- Benötigt wird hierzu die Software PDF-Toolkit:
-- http://www.accesspdf.com/pdftk/index.html

-- Nur PDF-Dateien sollen bearbeitet werden
property type_list : {"PDF"}
property extension_list : {"pdf"}

-- This droplet processes files dropped onto the applet
on open these_items
   repeat with i from 1 to the count of these_items
      set this_item to item i of these_items
      set the item_info to info for this_item
      if (folder of the item_info is false) and ¬
         (alias of the item_info is false) and ¬
         ((the file type of the item_info is in the type_list) or ¬
            the name extension of the item_info is in the extension_list) then
         process_item(this_item)
      end if
   end repeat
end open

-- this sub-routine processes files
on process_item(this_item)
   -- NOTE that the variable this_item is a file refernce in alias format
   -- FILE PROCESSING STATEMENTS GOES HERE
   
   -- Ermittelt den Pfadnamen zum aktuellen Benutzer-Verzeichnis
   set UserFolder to do shell script "echo ~"
   
   -- Erstellt den kompletten Pfad zum Briefkopf in POSIX-Schreibweise
   -- Hier kann auch der Ort und der Name des Wasserzeichens geändert werden
   set Briefkopf to "'" & UserFolder & "/Documents/Briefkopf.pdf'"
   
   -- Wandelt den Pfad zum PDF-Dokument in POSIX um
   set TerminalFile to quoted form of the POSIX path of this_item
   
   -- Ermittelt den Dateinamen der zu bearbeitenden PDF-Datei
   set this_info to info for this_item
   set the current_name to the name of this_info
   
   -- Ermittelt den Pfad zur zu bearbeitenden PDF-Datei
   tell application "Finder"
      set the parent_container_path to (the container of this_item) as text
   end tell
   
   -- Erstellt den neuen Pfad und Namen zur Datei mit Kopf
   set this_item_text to this_item as text -- wandelt Item in text-String
   set this_item_length to (length of this_item_text) - 4 -- ermittelt Länge-4
   set new_file_name to (text 1 thru this_item_length of this_item_text) & "_Kopf.pdf"
   -- fügt "_Kopf" zwischen Dateinamen und Suffix ein
   
   -- wandelt in quoted POSIX um
   set new_posix_name to quoted form of the POSIX path of new_file_name
   
   -- erstellt den Terminal-Befehl für PDF-Toolkit
   set befehl to "/usr/local/bin/pdftk " & TerminalFile & " background " & Briefkopf & " output " & new_posix_name
   
   say "Start converting, please wait" using "Vicki"
   -- führt den Terminal-Befehl für für PDF-Toolkit aus
   do shell script (befehl)
   say "ready!" using "Vicki"
   
end process_item

_________________
http://www.uhlhorn-agentur.de


Zuletzt bearbeitet von Uhlhorn am 12.12.2006 - 14:18, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen AIM-Name
Uhlhorn
•->
•->


Anmeldedatum: 11.12.2006
Beiträge: 5
Wohnort: Hamburg

BeitragVerfasst am: 12.12.2006 - 14:15    Titel: Antworten mit Zitat

Hier das zweite Skript, dass nur der ersten Seite ein Briefkopf oder Wasserzeichen hinzufügt.

Gruß
Gerhard

Code:

-- Dieses AppleScript ist ein Droplet, welches bei PDF-Dateien, die man auf
-- dieses Droplet zieht, ein Briefkopf (Wasserzeichen) hinzufügt. Dieses
-- Wasserzeichen muss im aktuellen Benutzer-Ordner unter Dokumente als PDF
-- abgelegt sein und den Namen „Briefkopf.PDF“ tragen. Der Briefkopf wird
-- auf allen Seiten des Dokuments hinzugefügt.

-- Benötigt wird hierzu die Software PDF-Toolkit:
-- http://www.accesspdf.com/pdftk/index.html

property type_list : {"PDF"} -- Nur PDF-Dateien sollen bearbeitet werden
property extension_list : {"pdf"} -- Nur PDF-Dateien sollen bearbeitet werden
property tmp_foldername : "tmp-Briefkopf" -- Name des temporären Odrners

-- This droplet processes files dropped onto the applet
-- Hier werden die PDF-Dateien herausgefiltert. Ergebnis wird in PDF2Convert zurückgegeben
on open these_items
   repeat with i from 1 to the count of these_items
      set PDF2Convert to item i of these_items
      set the item_info to info for PDF2Convert
      if (folder of the item_info is false) and ¬
         (alias of the item_info is false) and ¬
         ((the file type of the item_info is in the type_list) or ¬
            the name extension of the item_info is in the extension_list) then
         process_item(PDF2Convert)
      end if
   end repeat
end open

-- this sub-routine processes files
on process_item(PDF2Convert)
   -- NOTE that the variable PDF2Convert is a file refernce in alias format
   -- FILE PROCESSING STATEMENTS GOES HERE
   
   -- Ermittelt den Pfadnamen zum aktuellen Benutzer-Verzeichnis
   set UserFolder to do shell script "echo ~" -- … im POSIX-Format
   
   -- Erstellt den kompletten Pfad zum Briefkopf in POSIX-Schreibweise
   -- Hier kann auch der Ort und der Name des Wasserzeichens geändert werden
   set Briefkopf to "'" & UserFolder & "/Documents/Briefkopf.pdf'" -- im POSIX-Format
   set BriefkopfAS to POSIX file Briefkopf
   
   tell application "Finder"
      if not (exists BriefkopfAS) then
         say "Atention! File is missing!" using "Vicki"
         display dialog "Datei „Briefkopf.pdf“ fehlt im Ordner „Dokumente“!" buttons {"Cancel"} default button 1
         stop
      end if
   end tell
   
   -- Wandelt den Pfad zum PDF-Dokument in POSIX um
   set PDF2Convert_POSIX to quoted form of the POSIX path of PDF2Convert
   
   -- Ermittelt den Dateinamen der zu bearbeitenden PDF-Datei
   --set PDF2Convert_info to info for PDF2Convert
   --set the PDF2Convert_name to the name of PDF2Convert_info
   
   -- Ermittelt den Pfad zur zu bearbeitenden PDF-Datei
   tell application "Finder"
      set the parent_container_path to (the container of PDF2Convert) as text
   end tell
   
   -- ermittle den Pfad zum Ablageort für temporäre Dateien
   set tmp_path to path to temporary items from user domain
   
   
   tell application "Finder"
      if not (exists folder tmp_foldername of tmp_path) then
         make new folder at tmp_path with properties {name:tmp_foldername}
         --say "Temprary folder created" using "Vicki"
         set folder_tmp to (folder tmp_foldername of tmp_path)
      else
         set folder_tmp to (folder tmp_foldername of tmp_path)
         delete folder_tmp
         say "Temprary folder deleted" using "Vicki"
         make new folder at tmp_path with properties {name:tmp_foldername}
      end if
   end tell
   
   
   -- Erstellt den neuen Pfad und Namen zur Datei mit Kopf
   set PDF2Convert_text to PDF2Convert as text -- wandelt Item in text-String
   set PDF2Convert_length to (length of PDF2Convert_text) - 4 -- ermittelt Länge-4
   set new_PDF2Convert_name to (text 1 thru PDF2Convert_length of PDF2Convert_text) & "_Kopf.pdf"
   -- fügt "_Kopf" zwischen Dateinamen und Suffix ein
   
   -- wandelt in quoted POSIX um
   set new_PDF2Convert_name_POSIX to quoted form of the POSIX path of new_PDF2Convert_name
   
   
   -- Erster Terminal-Befehl soll erzeugt werden. PDF in einzelseiten zerlegen.
   --/usr/local/bin/pdftk {zu bearbeitende PDF-Datei} burst output /Users/gerhard/Library/Caches/TemporaryItems/tmp-Briefkopf/Seite%05d.pdf
   set PDF_tmp_text to (folder_tmp as text) & "Seite%05d.pdf"
   set PDF_tmp_POSIX to quoted form of the POSIX path of PDF_tmp_text
   set befehl to "/usr/local/bin/pdftk " & PDF2Convert_POSIX & " burst output " & PDF_tmp_POSIX
   say "Start converting, please wait" using "Vicki"
   do shell script (befehl) -- führt den Terminal-Befehl aus
   
   
   -- Zweiter Terminal-Befehl soll erzeugt werden. Erste Seite mit Briefkopf versehen.
   --/usr/local/bin/pdftk /Users/gerhard/Library/Caches/TemporaryItems/tmp-Briefkopf/Seite00001.pdf background /Users/gerhard/Desktop/Briefkopf.pdf output /Users/gerhard/Library/Caches/TemporaryItems/tmp-Briefkopf/Seite00001a.pdf
   set PDF1_tmp_text to (folder_tmp as text) & "Seite00001.pdf"
   set PDF1_tmp_POSIX to quoted form of the POSIX path of PDF1_tmp_text
   set PDF1a_tmp_text to (folder_tmp as text) & "Seite00001a.pdf"
   set PDF1a_tmp_POSIX to quoted form of the POSIX path of PDF1a_tmp_text
   set befehl to "/usr/local/bin/pdftk " & PDF1_tmp_POSIX & " background " & Briefkopf & " output " & PDF1a_tmp_POSIX
   do shell script (befehl) -- führt den Terminal-Befehl aus
   
   -- alte Seite00001.pdf löschen
   set PDF1a_del to ((folder_tmp as text) & "Seite00001.pdf") as text
   tell application "Finder"
      move file PDF1a_del to the trash
   end tell
   
   -- Dritter Befehl: Alle Seiten aus tmp-Briefkopf wieder zusammensetzen:
   --/usr/local/bin/pdftk /Users/gerhard/Library/Caches/TemporaryItems/tmp-Briefkopf/*.* cat output {zu bearbeitende PDF-Datei + Anhang}
   set PDF1_source_text to (folder_tmp as text) & "*.*"
   set PDF1_source_POSIX to the POSIX path of PDF1_source_text
   set new_PDF2Convert_POSIX to quoted form of the POSIX path of new_PDF2Convert_name
   set befehl to "/usr/local/bin/pdftk " & PDF1_source_POSIX & " cat output " & new_PDF2Convert_POSIX
   do shell script (befehl) -- führt den Terminal-Befehl aus
   
   say "ready!" using "Vicki"
   
   delete folder_tmp
   say "Temprary folder deleted" using "Vicki"
   
end process_item

_________________
http://www.uhlhorn-agentur.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen AIM-Name
Uhlhorn
•->
•->


Anmeldedatum: 11.12.2006
Beiträge: 5
Wohnort: Hamburg

BeitragVerfasst am: 15.12.2006 - 01:56    Titel: Antworten mit Zitat

Hmm…
Das Fehlen des Briefkopfes wird noch nicht richtig erkannt. Da gibt es einen Fehler (Abfrage entfernen, dann geht es).
Außerdem gibt es Probleme mit Umlauten (und vielleicht anderen Sonderzeichen). Den Grund kenne ich noch nicht.

Ich werde die Tage nachbessern.
_________________
http://www.uhlhorn-agentur.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen AIM-Name
sdenjuopl148
•---->
•---->


Anmeldedatum: 17.12.2022
Beiträge: 725
Wohnort: New York city

BeitragVerfasst am: 05.03.2023 - 09:48    Titel: Antworten mit Zitat

Asics Shoes Outlet
Nike Store
Salvatore Ferragamo
Moncler Jackets
Pandora
Yeezy Shoes
Pandora Charm Bracelet
Nike Store UK
Pandora Outlet
Wholesale Jordan Shoes From China
Adidas Official Site
Balenciaga Sale
Nike Outlet
Pandora Jewelry Official Site
Women Nike Shoes
Nike Air Jordan 1
Air Jordan Shoes
Goyard Outlet
Moncler Outlet
Wholesale Jordan Shoes
Asics Kayano
Air Jordan 1
Pandora Charms
Pandora
Pandora Charm
Pandora Jewelry
Cheap Womens Adidas Shoes
Pandora Jewelry
Pandora Charms
Jordan 1 Retro
Goyard Bags Outlet
Moncler Jacket
Pandora Official Site
Nike Air Jordan
Pandora Outlet
Pandora Jewellery
Jordan 5 Retro
Adidas Shoes Canada
Pandora Jewelry
Air Max
Nike Sneakers For Women
Pandora Rings Official Site
Nike Running Shoes
Wholesale Jordans
Air Jordan 1 Retro
Asics Shoes
Pandora Charms
Pandora Charms Outlet
Puma Shoes
Pandora Charms
Air Jordan 1
Balenciaga
Pandora Charms Sale Clearance
Balenciagas
Pandora Charms
Pandora Bracelets
Pandora Jewelry
Adidas Shoes Men
Nike Air Jordan 1
Pandora Charms Outlet
Pandora Jewelry
Pandora Jewelry
Ferragamo Shoes
Nike Shoes
Ferragamo Belts
Cheap Moncler Jackets
Nike Sneakers
Air Max 270
Nike Shoes Women
Pandora Charms
Pandora Charms Outlet
Jordan 1
Jordan Sneakers
NMD
Air Max 720
Pandora Bracelets
Pandora Jewelry
Nike Sneakers For Men
Balenciaga
Air Jordan 1 Low
Pandora Rings
Moncler Coats For Men
Moncler Jackets Men
Pandora Charms
Moncler Coat
Nike Outlet Store
Pandora Jewelry
Pandora Charms Outlet
Nike Outlet
Pandora Charms Outlet
Jordan 1 Retro High
Pandora Jewelry Official Site
Pandora Jewelry Outlet
Pandora Jewelry Official Site
Pandora Jewelry Black Friday
Nike Canada Online Shopping
Moncler Jackets Outlet
Pandora Charms
Adidas Outlet
Pandora Website
Pandora Jewelry
Nike Shoes Outlet Online
Yeezy Shoes
Moncler
Nike Shoes For Men
Sneakers Adidas
Nike
Nike Air Jordans 1
Air Jordan
Pandora Jewelry
Balenciaga Triple S
Cheap Moncler
Adidas Shoes
Outlet Asics
Nike Shoes Men
Moncler Sale
Ferragamo
Pandora Jewelry
Basketball Shoes
Moncler Jacket For Women
Asics Running Shoes For Women
Jordan 1's
Air Jordan One
Jordan 1 Dior
Balenciaga
Adidas Shoes For Women
Pandora Jewelry Official Site
Pandora Charms Outlet
Pandora Jewelry Official Site
Air Jordan 1 Low
Pandora Outlet
Balenciaga Shoes
Nike Outlet Store Online Shopping
Wholesale Jordan
Pandora Jewelry
Nike Store
Asics Outlet
Pandora Bracelet
Adidas Running Shoes For Men
Pandora
Nike Shoes Canada
Jordan Retro 1
New Nike Shoes
Jordans 1
Pandora Outlet
Pandora
Pandora Charms
Pandora Bracelet
Pandora Charms Outlet
Pandora Bracelets
Adidas
Asics Sneakers For Women
Adidas Sale
Pandora Jewelry
Nike 97 Air Max
Ferragamo Belt
Nike Men's Shoes
_________________
sdenjuopl148
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Dieses Forum ist gesperrt, du kannst keine Beiträge editieren, schreiben oder beantworten.   Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten.    Fischer-Bayern.de Foren-Übersicht -> OS X-Snippets Alle Zeiten sind GMT + 2 Stunden
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2002 phpBB Group
Deutsche Übersetzung von phpBB.de


AppleScript für absolute Starter