[GastForen Programmierung/Entwicklung AppleScript Convert To PDF

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

Convert To PDF

Anonym
Beiträge gesamt: 22827

9. Okt 2004, 20:32
Beitrag # 1 von 6
Bewertung:
(1624 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

unter OS-X gibt es ein Script, das aus TIFF, JPEG u.s.w. ein PDF erzeugt, sozusagen ein "Pseudo-PDF"
Nun wird das PDF in einer festen Größe 216x279 erzeugt.
Frage:
Kann man das Format im Script ändern?

Hier das Script  "Convert to PDF"

property RadarProblem3258323IsFixed : false
property type_list : {"JPEG", "GIFf", "PICT", "TIFF", "PDF", "TEXT"}
property extension_list : {"jpg", "gif", "pct", "tif", "pdf", "rtf"}
--html is not currently handled

on run {}
 tell application "Finder"
  try
   set FinderSelection to the selection as alias list
  on error
   --Finder Scripting fails with one item (Radar problem 2741967)
   set FinderSelection to the selection
  end try
 end tell
 
 if RadarProblem3258323IsFixed then
  set FS to FinderSelection
  --Ideally, this list could be passed to the open handler
 else
  set FS to {}
  repeat with EachItem in FinderSelection
   copy EachItem as alias to end of FS
  end repeat
 end if
 
 set SelectionCount to number of FS -- count 
 if SelectionCount is 0 then
  set FS to userPicksFolder()
 else if the SelectionCount is 1 then
  set MyPath to path to me
  if MyPath is item 1 of FS then
   --If I'm a droplet then I was double-clicked
   set FS to userPicksFolder()
  end if
 else
  --I'm not a double-clicked droplet
 end if
 open FS
end run

on userPicksFolder()
 set these_items to {}
 set these_items to (choose file with prompt "Select a file to convert to PDF:" of type {"JPEG", "GIFf", "PICT", "TIFF", "TEXT", "RTF"}) as list
end userPicksFolder

on open these_items
 set thesefiles to {}
 set the item_info to {}
 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 true then --if the item is a folder
   processFolder(this_item)
  else 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
   
   set theFilePath to (item i of these_items as string)
   set thePOSIXFilePath to POSIX path of theFilePath as string
   processFile(thePOSIXFilePath)
  end if
 end repeat
end open

--process folders
on processFolder(theFolder)
 set these_items to list folder theFolder without invisibles
 repeat with i from 1 to the count of these_items
  set this_item to alias ((theFolder as text) & (item i of these_items))
  set the item_info to info for this_item
  if folder of the item_info is true then
   processFolder(this_item)
  else if (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
   set theFilePath to (this_item as string)
   set thePOSIXFilePath to POSIX path of theFilePath as string
   processFile(thePOSIXFilePath)
  end if
 end repeat
end processFolder

on processFile(thePOSIXFileName)
 try
  set terminalCommand to ""
  set convertCommand to "/System/Library/Printers/Libraries/./convert "
  set newFileName to thePOSIXFileName & ".pdf"
  set terminalCommand to convertCommand & "-f " & "\"" & thePOSIXFileName & "\"" & " -o " & "\"" & newFileName & "\"" & " -j \"application/pdf\""
 
  do shell script terminalCommand
 end try
end processFile

vielleicht kannst Du erkennen wo die Größe festgelegt wird

Gruss willem
X

Convert To PDF

Hans Haesler
  
Beiträge gesamt: 5826

9. Okt 2004, 22:43
Beitrag # 2 von 6
Beitrag ID: #419103
Bewertung:
(1623 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Willem,

leider kann ich Dir nicht helfen.

Im Abschnitt, in welchem die PDF-Datei erzeugt wird, ist klar, dass es sich um einen Terminal-Befehl
handelt, welcher per 'do shell script? ausgeführt wird. Ich habe aber nicht herausgefunden, ob es einen
'man'-Eintrag dazu gibt. Aber die wichtige Datei 'convert' (ein "Unix Executable File") habe ich mit
BBEdit geöffnet und die Parameter, welche gebraucht werden, entdeckt.

Das '-f' ist der Name der Originaldatei, das '-o' der Name der PDF-Datei und das '-j' der Typ der Datei.
Und das ist es schon. Die Grösse des Bildes muss irgendwo in der Datei codiert sein.

Ich habe noch ein bisschen mit den nichtverwendeten Parametern experimentiert. Ein '-D' am Schluss
angefügt, lässt die Originaldatei spurlos verschwinden. Ein '-u' bewirkt nichts, was ich feststellen könnte.
Und da ist noch das '-a'. Aber da sollte man eine Attribut-Textkette anfügen. Doch wie diese formuliert
sein sollte …

Ich würde die Bilder je in ein XPress-Layout laden, die Seitengrösse der Bildgrösse anpassen und dann
ein PDF exportieren.

Hans Haesler <hsa@ringier.ch>


als Antwort auf: [#419102]

Convert To PDF

Anonym
Beiträge gesamt: 22827

10. Okt 2004, 08:02
Beitrag # 3 von 6
Beitrag ID: #419104
Bewertung:
(1623 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

Danke Dir für die Mühe,
über Quark wird es wohl die zuverlässigste Methode sein.

Gruss willem


als Antwort auf: [#419102]

Convert To PDF

Hans Haesler
  
Beiträge gesamt: 5826

10. Okt 2004, 10:41
Beitrag # 4 von 6
Beitrag ID: #419105
Bewertung:
(1623 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Willem,

bitteschön.

Nur so als Anregung: Wenn eine Reihe von Bildern so behandelt werden soll, dann kann ich
mir ein Droplet vorstellen, auf welches die Bilddateien gezogen werden können. Für jede
würde ein Projekt erstellt, das Bild importiert und (nach Vorgaben) das Format der Bildgrösse
angepasst werden. Variante: für jedes Bild eine neue Seite im gleichen Projekt.
Wie gesagt: nur so als Anregung &#133;

Hans Haesler <hsa@ringier.ch>


als Antwort auf: [#419102]

Convert To PDF

Anonym
Beiträge gesamt: 22827

12. Okt 2004, 20:11
Beitrag # 5 von 6
Beitrag ID: #419106
Bewertung:
(1623 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,
hört sich gut an. Wenn man also ein Tiff auf das Droplet zieht, wird ein PDF gleichen Namens angelegt? habe ich das so richtig verstanden?
Nun, wenn  man dann noch einen Zielordner (immer gleich) bestimmen könnte wär es super.

Aber wie, ohne Quark oder Indesign zu Hilfe zu nehmen?
bin gespannt

Gruss willem


als Antwort auf: [#419102]

Convert To PDF

Hans Haesler
  
Beiträge gesamt: 5826

12. Okt 2004, 21:53
Beitrag # 6 von 6
Beitrag ID: #419107
Bewertung:
(1623 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Willem,
Zitat ... Wenn man also ein Tiff auf das Droplet zieht, wird ein PDF gleichen Namens angelegt? ...

Nun mal sachte! ;-)
Zitat Aber wie, ohne Quark oder Indesign zu Hilfe zu nehmen?

Nun &#133; ich sagte "Projekt" und meinte damit ein XPress-Ding.  Die Idee ist, erst Mal für jede Bilddatei ein Projekt
zu erstellen, das Bild zu importieren und das Layout an die Bildgrösse anzupassen.

Das Exportieren als PDF könnte man als separates Script anschliessend auslösen. Eventuell aber auch im gleichen Zug.
Müsste aber etwas herumprobieren.

Übrigens: Nachdem ich verschiedenes mit dem Script "Convert to PDF" angestellt hatte, fand ich am nächsten Tag
im Root-Verzeichnis der Harddisk eine Datei namens "-D". Das Icon war neutral. Nach einem Doppelklick darauf
öffnete sich eine PDF-Datei. Das Format: 64.9 X 52.2 mm. Die Grösse der kleinen Bilddatei, welche ich für die Tests
benutzte. Und das Bild füllte das ganze Format aus.

Ich habe daraufhin versucht, den Befehl wieder so zurechtzubiegen, damit die Datei nochmals so erzeugt würde. Aber
ohne Erfolg. Ich habe, ebenfalls vergeblich, versucht, die man-page, in welcher die Attribute erläutert wären, zu finden.
Vielleicht wende ich mich an die AS-users-Liste, in der Hoffnung, dass jemand Bescheid weiss.

Hans Haesler <hsa@ringier.ch>


als Antwort auf: [#419102]
X