| Vorheriges Thema anzeigen :: Nächstes Thema anzeigen   | 
	 
	
	
		| Autor | 
		Nachricht | 
	 
	
		jekyll •-->
  
 
  Anmeldedatum: 27.11.2004 Beiträge: 90 Wohnort: Rammelsbach
  | 
		
			
				 Verfasst am: 12.01.2005 - 19:06    Titel: Text abschneiden | 
				     | 
			 
			
				
  | 
			 
			
				Hallo Alleseits,
 
wie kann ich bei eine Liste {page 1, page 2, page 3} die page und die leerzeichen abschneiden?
 
Vielen Dank _________________ Gruß Sándor | 
			 
		  | 
	 
	
		| Nach oben | 
		 | 
	 
	
		  | 
	 
	
		Snow Administrator
  
  
  Anmeldedatum: 21.11.2000 Beiträge: 1946 Wohnort: Deiningen
  | 
		
			
				 Verfasst am: 12.01.2005 - 19:46    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				Hallo Sándor,
 
 
wenn es sich wirklich um Text handelt, müssten die Listeneinträge aber mit Anführungszeichen versehen sein - also:
 
 
{"page 1", "page 2", "page 3", "page 4"}
 
 
Lösung: Man ersetzt "page " durch nichts (also "").
 
Dazu schnappt man sich den Handler zum Suchen/Ersetzen aus dem Snippets-Forum und passt die Sache kurz an:
 
 
set TextListe to {"page 1", "page 2", "page 3", "page 4"}
 
 
set mySearch to "page "
 
set myReplace to ""
 
-- neue, leere Liste definieren
 
set NeueListe to {}
 
repeat with oneText in TextListe
 
    set the end of NeueListe to (textReplace(oneText, mySearch, myReplace))
 
end repeat
 
-- Ergebnis:
 
NeueListe
 
 
 
on textReplace(theText, srchStrng, replStrng)
 
    tell (a reference to AppleScript's text item delimiters)
 
        set {od, contents} to {contents, {srchStrng}}
 
        try
 
            set {textList, contents} to {(text items of theText), {replStrng}}
 
            set {newText, contents} to {(textList as text), od}
 
            return item 1 of result
 
        on error errMsg number errNbr
 
            set contents to od
 
            error errMsg number errNbr
 
        end try
 
    end tell
 
end textReplace
 
 
Ergebnis:
 
{"1", "2", "3", "4"} _________________ Peter
 
-
 
Fischer-Bayern.de|Shadetreemicro.com | 
			 
		  | 
	 
	
		| Nach oben | 
		 | 
	 
	
		  | 
	 
	
		jekyll •-->
  
 
  Anmeldedatum: 27.11.2004 Beiträge: 90 Wohnort: Rammelsbach
  | 
		
			
				 Verfasst am: 12.01.2005 - 20:20    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				Hallo Peter,
 
vielen Dank für die schnelle Antwort.
 
Leider habe ich was verkehrt gedacht. Ich habe bei eine variable im verlauf protokoll folgenden ergebnis {page 1 of document "hightension.pdf", page 2 of document "hightension.pdf", page 3 of document "hightension.pdf"} ich habe es als log seitenzahl (*page 1, page 2, page 3*) bekommen da hoffte ich weiter machen zu können.
 
Die Frage ist jetzt wie bekomme ich statt  {page 1 of document "hightension.pdf", page 2 of document "hightension.pdf", page 3 of document "hightension.pdf"} nur {1, 2, 3}.
 
Natürlich wäre schön wenn egal welche Dateiname zwischen die Anfürungszeichen stehen dürften.
 
Vielen Dank für Deine Mühe _________________ Gruß Sándor | 
			 
		  | 
	 
	
		| Nach oben | 
		 | 
	 
	
		  | 
	 
	
		Snow Administrator
  
  
  Anmeldedatum: 21.11.2000 Beiträge: 1946 Wohnort: Deiningen
  | 
		
			
				 Verfasst am: 12.01.2005 - 20:49    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				Hallo Sándor,
 
 
ich habe schon befürchtet, dass es nicht wirklich um Textwerte geht.
 
Du hast Referenzen auf einzelne Seiten eines PDF-Dokuments.
 
 
In welchem Programm arbeitest du da? Acrobat?
 
Wie ist diese Referenz-Liste entstanden?
 
 
Ich bräuchte da jetzt etwas mehr Code.
 
 
Im Moment komme ich nicht an Acrobat ran, da mein anderer Rechner belegt ist.
 
 
Aber ich denke, wenn du die Liste etwa so erstellt hast:
 
 
set Seiten to every page of document .....
 
 
dann sollte es auch möglich sein, nach der Seitenzahl zu fragen
 
 
set Seitenzahlen to number of pages of document ...
 
 
Notfalls könnte man die Referenzliste auch in eine Liste mit Textwerten umwandeln und dann aus jedem einzelnen Textwert das Wort 2 extrahieren, was ja der Seitenzahl entspricht.
 
 
Im folgenden Beispiel konnte ich es nicht mit einer Referenzliste testen, da ich im Moment nicht die Möglichkeit habe, eine solche zu erstellen.
 
 
Aber theoretisch könnte es durchaus funktionieren, wenn du deine Referenzliste im Beispiel verwendest:
 
 
set Seitentext to {"page 1 of document \"hightension.pdf\"", "page 2 of document \"hightension.pdf\"", "page 3 of document \"hightension.pdf\""}
 
set NeueListe to {}
 
 
repeat with oneItem in Seitentext
 
    set oneItem to oneItem as text
 
    set the end of NeueListe to word 2 of oneItem
 
    log NeueListe
 
end repeat
 
 
NeueListe _________________ Peter
 
-
 
Fischer-Bayern.de|Shadetreemicro.com | 
			 
		  | 
	 
	
		| Nach oben | 
		 | 
	 
	
		  | 
	 
	
		jekyll •-->
  
 
  Anmeldedatum: 27.11.2004 Beiträge: 90 Wohnort: Rammelsbach
  | 
		
			
				 Verfasst am: 12.01.2005 - 21:19    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				Hallo Peter,
 
ich habe alles was ich gekannt habe versucht aber entwerder habe ich {{},{},{}} bekommen oder das von oben, nuber of page Liefert {3}.
 
Leider ist auch keine verzeichniss für Acrobat vorhanden wie bei Photoshop oder Illustrator. 
 
Dieses Skript soll in acrobat die seiten anzahl ermitteln dann wird der gleiche pdf, seiten weise in Illu geöffnet. Die pfaden werden von eine Javascript markiert und Kopiert, dann wird der gleiche seite in PS geöffnet und die pfaden als pfaden dort eingefügt. 
 
Ich habe dein script eingebaut aber es kann nicht in string umgewandelt werden.
 
 
set scriptFile_ai to choose file with prompt ¬
 
   "Wähle den pfad.js !"
 
set scriptFile_ps to choose file with prompt ¬
 
   "Wähleden pfad_einfügen.js !"
 
tell application "Acrobat 6.0.1 Professional"
 
   close every document
 
   set Datei to choose file with prompt ¬
 
      "Wählen Sie eine pdf Datei!"
 
   open Datei
 
   set Seitenzahl to every page
 
   set NeueListe to {}
 
   repeat with oneItem in Seitenzahl
 
      set oneItem to oneItem as text
 
      set the end of NeueListe to word 2 of oneItem
 
      log NeueListe
 
   end repeat
 
   NeueListe
 
   close every document
 
end tell
 
global Datei, Seitenzahl, scriptFile_ai, scriptFile_ps
 
repeat with i from 1 to the count of Seitenzahl
 
   activate application "Illustrator CS"
 
   tell application "Illustrator CS"
 
      close documents saving no
 
      open Datei without dialogs
 
      do javascript scriptFile_ai
 
      copy
 
   end tell
 
   activate application "Adobe Photoshop CS"
 
   tell application "Adobe Photoshop CS"
 
      set Meine_optionen_ps to {page:item i of Seitenzahl, constrain proportions:true, mode:CMYK, resolution:300}
 
      open Datei as PDF with options Meine_optionen_ps
 
      do javascript scriptFile_ps
 
   end tell
 
end repeat
 
Tausend Dank für Deine hilfe _________________ Gruß Sándor | 
			 
		  | 
	 
	
		| Nach oben | 
		 | 
	 
	
		  | 
	 
	
		Snow Administrator
  
  
  Anmeldedatum: 21.11.2000 Beiträge: 1946 Wohnort: Deiningen
  | 
		
			
				 Verfasst am: 12.01.2005 - 21:58    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				Hi Sándor,
 
 
wenn 'number of pages' die Seitenanzahl liefert, dann hast du doch bereits was du brauchst.
 
 
   set Seitenzahl to number of pages
 
   --> {3}
 
   set Seitenzahl to item 1 of Seitenzahl
 
   -->3
 
 
Später im Script kannst du dann die Repeat-Schleife so schreiben:
 
 
repeat with i from 1 to Seitenzahl
 
   -- usw.
 
end repeat
 
 
Wenn du wirklich eine SeitenzahlListe brauchst, kannst du diese auch erstellen, da du ja die Gesamtanzahl kennst:
 
 
set Seitenzahl to {3}
 
--> {3}
 
set Seitenzahl to item 1 of Seitenzahl
 
-- 3
 
 
set SeitenzahlListe to {}
 
set i to 0
 
repeat until i = Seitenzahl
 
   set i to i + 1
 
   set the end of SeitenzahlListe to i
 
end repeat
 
 
SeitenzahlListe
 
--> {1, 2, 3}
 
 
Ich kann dein Scriptbeispiel leider nicht testen, da ich hier nur Acrobat 5.0 habe - und das streikt schon bei 'number of pages'
 
 
Allerdings habe ich hier einen Workaround gefunden, um die Gesamtanzahl der Seiten zu ermitteln:
 
 
tell application "Acrobat 5.0"
 
   goto page -1
 
   get number
 
end tell
 
 
Ich gehe zur letzten Seite (-1) und ermittle dort die Seitennummer.
 
Hoffentlich hilft dir das etwas weiter. Ich habe Acrobat noch nie gescriptet - dafür arbeite ich zu wenig damit. Vielleicht taucht noch jemand auf, der sich damit besser auskennt.
 
 
Edit:
 
Mein eigner kleiner Workaround ist noch zu umständlich. Geht auch so:
 
 
tell application "Acrobat 5.0"   
 
   get number of last page
 
end tell _________________ Peter
 
-
 
Fischer-Bayern.de|Shadetreemicro.com | 
			 
		  | 
	 
	
		| Nach oben | 
		 | 
	 
	
		  | 
	 
	
		jekyll •-->
  
 
  Anmeldedatum: 27.11.2004 Beiträge: 90 Wohnort: Rammelsbach
  | 
		
			
				 Verfasst am: 12.01.2005 - 22:28    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				Hallo Peter,
 
so sieht die event und ergebnis protokoll aus 
 
tell application "Acrobat 6.0.1 Professional"
 
	close every document
 
		{current application}
 
	choose file with prompt "Wählen Sie eine pdf Datei!"
 
		alias "Macintosh_hd:Users:sndormil:Desktop:043612_RobeKatalog_2005.in.pdf"
 
	open alias "Macintosh_hd:Users:sndormil:Desktop:043612_RobeKatalog_2005.in.pdf"
 
	count every page of current application
 
		3
 
		"„item 1 of 3“ kann nicht gelesen werden."
 
bei diesen Script:
 
 
tell application "Acrobat 6.0.1 Professional"
 
   close every document
 
   set Datei to choose file with prompt ¬
 
      "Wählen Sie eine pdf Datei!"
 
   open Datei
 
   set Seitenzahl to number of pages
 
   set Seitenzahl to item 1 of Seitenzahl
 
   set SeitenzahlListe to {}
 
   set i to 0
 
   repeat until i = Seitenzahl
 
      set i to i + 1
 
      set the end of SeitenzahlListe to i
 
   end repeat
 
   close every document
 
end tell
 
was habe ich noch verkehrt?
 
ich brauche hier für die Zahlen 
 
set Meine_optionen_ps to {page:item i of SeitenzahlListe, constrain proportions:true, mode:CMYK, resolution:300} _________________ Gruß Sándor | 
			 
		  | 
	 
	
		| Nach oben | 
		 | 
	 
	
		  | 
	 
	
		Snow Administrator
  
  
  Anmeldedatum: 21.11.2000 Beiträge: 1946 Wohnort: Deiningen
  | 
		
			
				 Verfasst am: 12.01.2005 - 22:32    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				Ich dachte, 'number of pages' würde eine Liste {3} liefern. Also eine Liste mit nur einem Eintrag. Wenn das Ergebnis aber wirklich nur die Zahl 3 ist, dann kannst du die Zeile
 
 
set Seitenzahl to item 1 of Seitenzahl
 
 
wieder entfernen. Diese Zeile hätte ja nur dazu gedient, die einzelne Zahl aus der Liste heraus zu holen. _________________ Peter
 
-
 
Fischer-Bayern.de|Shadetreemicro.com | 
			 
		  | 
	 
	
		| Nach oben | 
		 | 
	 
	
		  | 
	 
	
		Snow Administrator
  
  
  Anmeldedatum: 21.11.2000 Beiträge: 1946 Wohnort: Deiningen
  | 
		
			
				 Verfasst am: 12.01.2005 - 22:42    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				 	  | jekyll hat Folgendes geschrieben: | 	 		  
 
ich brauche hier für die Zahlen 
 
set Meine_optionen_ps to {page:item i of SeitenzahlListe, constrain proportions:true, mode:CMYK, resolution:300} | 	  
 
 
Dort brauchst du die SeitenzahlListe auch nicht. Du befindest dich doch bereits in einer Schleife die eine Zählvariable i beinhalten.
 
 
Bei 'repeat with i from 1 to Seitenzahl' wird die Variable i bei jedem Durchlauf der Schleife um 1 erhöht.
 
 
An der Stelle:
 
 
set Meine_optionen_ps to {page:item i of Seitenzahl, constrain proportions:true, mode:CMYK, resolution:300} 
 
 
hast du mit page:i schon alles was du brauchst, da i ja den Wert 1, 2 oder 3 annimmt. Hier nochmal nach 'item i of Seitenzahl' zu fragen, wäre doppelt gemoppelt. _________________ Peter
 
-
 
Fischer-Bayern.de|Shadetreemicro.com | 
			 
		  | 
	 
	
		| Nach oben | 
		 | 
	 
	
		  | 
	 
	
		jekyll •-->
  
 
  Anmeldedatum: 27.11.2004 Beiträge: 90 Wohnort: Rammelsbach
  | 
		
			
				 Verfasst am: 12.01.2005 - 22:50    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				Hallo Peter,
 
viiiielen viiielen Dank. Es Funktioniert. 
 
Ich würde gerne für den Forum spenden Leider habe ich keine PayPal geht es auch anders?
 
viele Grüße aus Rammelsbach _________________ Gruß Sándor | 
			 
		  | 
	 
	
		| Nach oben | 
		 | 
	 
	
		  | 
	 
	
		 | 
	 
 
  
	 
	    
	   | 
	
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 
		 | 
	 
 
 | 
 
 |