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
|
|
|