[GastForen Programme Print/Bildbearbeitung Adobe InDesign Schriften per Skript ersetzen

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Print/Bildbearbeitung - Photos, Layout, Design
Themen
Beiträge
Moderatoren
Letzter Beitrag

Schriften per Skript ersetzen

Verena81
Beiträge gesamt: 8

28. Jun 2006, 12:03
Beitrag # 1 von 39
Bewertung:
(31119 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo zusammen,

ich bin leider noch nicht sehr fit im Skripten, muss ich hier einmal vorweg sagen. Aber ich versuche es ;-)

Mein Problem:
Ich bekomme von einem Kunde immer Mac Daten und muss diese am PC bearbeiten. Nun ergiebt sich hieraus ein schriften Problem. Wir arbeiten mit der Verdana. Wenn ich also das Dokument am PC öffne fehlt die Schrift. Nun könnte ich natürlich über Schriften suchen diese mit der PC Verdana ersetzen aber leider übernimmt es das nicht für die Absatzformate. Ich muss also in jedes einzelne Format rein und die Schrift ändern. Was etwas blöd ist bei so vielen Formaten.
Ich habe nun ein Skript gefunden, das mir prinzipiell Schriften in den Formaten ersetzt. Dies funktioniert aber nur wenn die Schriften vorhanden sind. Da meine MAc Verdana aber nicht vorhanden ist, funktioniert das leider nicht.

Die MAc verdana wird am PC mit (TT) dahinter dargestellt (Verdana (TT))

Hier das Skript (bin ehrlich das hab ich nicht selbst geschrieben, bin leider noch nicht so fit aber ich arbeite daran)

Code
//FindChangeFont.jsx  
if(app.documents.length !=0){
myChangeFont();
}
function myChangeFont(){
var myCounter, myParagraphStyle, myCharacterStyle;
var myFindFontName = "Wingdings Regular";
var myChangeFontName = "Verdana Regular";
app.findPreferences = NothingEnum.nothing;
app.changePreferences = NothingEnum.nothing;
app.findPreferences.appliedFont = app.fonts.item(myFindFontName);
app.changePreferences.appliedFont = app.fonts.item(myChangeFontName);
app.documents.item(0).search("", undefined, undefined, "");
if(app.documents.item(0).textDefaults.appliedFont == app.documents.item(0).fonts.item(myFindFontName)){
app.documents.item(0).textDefaults.font = app.fonts.item(myChangeFontName);
}
for(myCounter = 0; myCounter < app.documents.item(0).paragraphStyles.length; myCounter ++){
myParagraphStyle = app.documents.item(0).paragraphStyles.item(myCounter);
if(myParagraphStyle.name.indexOf("[") != 0){
if(myParagraphStyle.appliedFont.name == myFindFontName){
myParagraphStyle.appliedFont = app.fonts.item(myChangeFontName);
}
}
}
for(myCounter = 0; myCounter < app.documents.item(0).characterStyles.length; myCounter ++){
myCharacterStyle = app.documents.item(0).characterStyles.item(myCounter);
if(myCharacterStyle.name.indexOf("[") != 0){
if(myCharacterStyle.appliedFont.name == myFindFontName){
myCharacterStyle .appliedFont = app.fonts.item(myChangeFontName);
}
}
}
$.write(app.documents.item(0).textDefaults.appliedFont.name + "\r");
if(app.documents.item(0).textDefaults.appliedFont.name == myFindFontName){
app.documents.item(0).textDefaults.appliedFont = app.fonts.item(myChangeFontName);
}
app.findPreferences = NothingEnum.nothing;
app.changePreferences = NothingEnum.nothing; }


So funktioniert das Skript, wenn ich aber die Wingdings durch Verdana (TT) Regular
ersetzte, dann funktioniert es nicht mehr. Das liegt doch bestimmt daran, das die Schrift nciht vorhanden ist, oder.

Würde mich freuen wenn mir jemand weiterhelfen kann.

Ich danke euch schon jetzt mal.

Liebe Grüße

Verena
X

Schriften per Skript ersetzen

Martin Fischer
  
Beiträge gesamt: 12783

28. Jun 2006, 12:32
Beitrag # 2 von 39
Beitrag ID: #236588
Bewertung:
(31100 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Verena,

Du kannst per Skript (und auch von Hand) fehlende Schriften ersetzen durch vorhandene.
Aber Du kannst nicht vorhandene oder fehlende Schriften ersetzen durch nicht vorhandene - weder per Hand noch per Skript.

Habe ich Dich falsch verstanden, dann korrigiere mich bitte.


Wenn bei der Verdana auf dem PC ein "(TT)" angehängt wird, dann deutet es darauf hin, daß die Schrift eventuell noch in einem anderen Format (z.B. als Systemschrift für den Bildschirm oder als Type1 [bei der Verdana eher unwahrscheinlich]) vorhanden ist.
Kannst Du das mal prüfen, ob von der Verdana zwei verschiedene Fontdateien aktiv sind?


als Antwort auf: [#236574]

Schriften per Skript ersetzen

Yves Apel
Beiträge gesamt: 1724

28. Jun 2006, 12:52
Beitrag # 3 von 39
Beitrag ID: #236598
Bewertung:
(31094 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Verena,

willkommen bei hilfdirselbst.

Zu deinem Script kann ich dir zwar nicht weiterhelfen. Eine kompromissbezogene Lösung gibt es aber.

Da hier Plattformübergreifend mit der Verdana gearbeited wird würde ich dir zu einer Verdana im OpenType Format raten. Auch wenn diese Lösung das erste mal etwas kostet, hast du dieses Geld bestimmt gleich eingenommen indem du dich nicht mehr mit dem Schriften ersetzen Problem herumschlagen musst.

Eine OpenType Version der Verdana findest du hier für 110 Dollar und 5 Posten. Super teuer finde ich das nicht da es nur ungefähr 5 Euro pro 1 Schrift/Lizenz wären. Ein PDF Datei mit den verfügbaren Zeichen findest du auch dort.


als Antwort auf: [#236574]
(Dieser Beitrag wurde von Nighthawk am 28. Jun 2006, 12:56 geändert)

Schriften per Skript ersetzen

Verena81
Beiträge gesamt: 8

28. Jun 2006, 13:05
Beitrag # 4 von 39
Beitrag ID: #236601
Bewertung:
(31082 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
HAllo,

das mit dem Schriftkauf ist wirklich ne Alternative.
Muss ich mir einmal anschauen. Dann hätte sich das mit dem Skript auch erledigt.

Martin, danke schon mal. Nochmal kurz zur Erklärung. Die Verdana (TT) wird bei mir auf dem rechner als fehlende Schrift angezeigt. Sie ist auch sont nicht aktiv. Ich kann sie über Schriften suchen mit der Verdana die angezeigt wird tauschen, aber eben nicht in den Formaten.

D.h. ich möchte eine nicht vorhandene Schrift mit einer vorhandenen ersetzen.

Hab mich vorhin vielleicht etwas unverständlich ausgedrückt.


Viele Grüße Verena


als Antwort auf: [#236598]

Schriften per Skript ersetzen

Yves Apel
Beiträge gesamt: 1724

28. Jun 2006, 13:10
Beitrag # 5 von 39
Beitrag ID: #236604
Bewertung:
(31080 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
...

ich habe noch vergessen zu erwähnen. Die OpenType Variante könnte sehr sehr leicht von deiner Version abweichen. Ich gehe auch davon aus dass mit Programmen gearbeitet wird welche OpenType Schriften vertragen.


als Antwort auf: [#236601]

Schriften per Skript ersetzen

mpeter
Beiträge gesamt: 4628

28. Jun 2006, 13:12
Beitrag # 6 von 39
Beitrag ID: #236605
Bewertung:
(31079 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi,
könnte man das nicht über die Absatzformate lösen? Du richtest einmal ein Dokument mit der richtigen Verdana in den Absatzformaten ein und wenn du ein neues Dokument bekommst lädst du einfach die korrigierten Absatzformate und überschreibst damit die vorhandenen mit der falschen Verdana.


als Antwort auf: [#236601]

Schriften per Skript ersetzen

Martin Fischer
  
Beiträge gesamt: 12783

28. Jun 2006, 13:31
Beitrag # 7 von 39
Beitrag ID: #236612
Bewertung:
(31068 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
> könnte man das nicht über die Absatzformate lösen?

Das klingt gut.
Und in diesem Fall würde ich empfehlen, daß man die Absatzformate hierarchisch anlegt, damit Formate vererbt werden. Dann bräuchte man die fehlende Schrift nur in dem Basisformat (das gar nicht unbedingt im Text verwendet werden muß) korrigieren - entweder von Hand oder über das Kopieren einer korrekten Version des Basisformats aus einer anderen Datei.


als Antwort auf: [#236605]

Schriften per Skript ersetzen

Verena81
Beiträge gesamt: 8

28. Jun 2006, 14:06
Beitrag # 8 von 39
Beitrag ID: #236624
Bewertung:
(31061 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Prinzipiell hört sich die sache gut an. Das einzige Problem ist, das ich die Formate nicht anlege. Ich bekomme ein offenes InDesign Dokument mit den Formaten und überarbeite es noch. Dann müsste ich meinem Kunde sagen, er muss noch ein Basisformat mit der Sprache anlegen.

Weiß ich nicht ob er das macht. Aber wenn das die beste Lösung ist.

Danke schön nochmal!


als Antwort auf: [#236612]

Schriften per Skript ersetzen

mpeter
Beiträge gesamt: 4628

28. Jun 2006, 14:20
Beitrag # 9 von 39
Beitrag ID: #236628
Bewertung:
(31056 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi,
wenn dein Kunde immer die gleichen Formate verwendet musst du diese nur einmal überarbeiten und speichern. Kommt jetzt ein neues Dok. lädst du einfach die Formate aus der Referenzdatei rein und überschreibst die gelieferten. Geht natürlich nur, wenn immer die gleichen Formate verwendet werden. Das was Martin geschrieben hat ist natürlich das einfachste. Alle Formate die die Verdana beinhalten auf ein Format basierend anlegen, dann muss man nur bei einem Format die Schrift zuweisen und der Käse ist gegessen.


als Antwort auf: [#236624]

Schriften per Skript ersetzen

Yves Apel
Beiträge gesamt: 1724

28. Jun 2006, 14:28
Beitrag # 10 von 39
Beitrag ID: #236633
Bewertung:
(31054 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
...

Zitat Alle Formate die die Verdana beinhalten auf ein Format basierend anlegen, dann muss man nur bei einem Format die Schrift zuweisen und der Käse ist gegessen.

Ich sehe zwar da noch immer ein kleines Problem mit eventuell unterschiedlichen Mac/PC Verdana Versionen. Hat aber bis jetzt anscheinend gut funktioniert.

Irgendwie scheine ich solche Sachen mit den Kunden immer falsch anzugehen. Auch nach stundenlangen Gesprächen, Notizen, Tutorials, Erklärungen, Beschreibungen, Schulungen und Hilfestellungen sind diese Dokumente von den Kunden mit Problemen oder besser gesagt "nicht einhalten" der Vorgaben, belastet.


als Antwort auf: [#236628]

Schriften per Skript ersetzen

mpeter
Beiträge gesamt: 4628

28. Jun 2006, 14:51
Beitrag # 11 von 39
Beitrag ID: #236637
Bewertung:
(31047 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
... würde den Fehler nicht unbedingt bei dir suchen – es gibt eben Kunden die extrem beratungsresistent sind ;-)


als Antwort auf: [#236633]

Schriften per Skript ersetzen

Martin Fischer
  
Beiträge gesamt: 12783

28. Jun 2006, 15:01
Beitrag # 12 von 39
Beitrag ID: #236640
Bewertung:
(31044 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Verena (fast hätte ich Verdana geschrieben),

versuch's mal mit folgendem Skript:
Code
// VerdanaEveryWhere.jsx 

myPStyles = app.documents[0].paragraphStyles;
for (oneP = 1; oneP < myPStyles.length; oneP++)
{
myPStyles[oneP].appliedFont = "Verdana" ;
}



als Antwort auf: [#236637]

Schriften per Skript ersetzen

Martin Fischer
  
Beiträge gesamt: 12783

28. Jun 2006, 15:12
Beitrag # 13 von 39
Beitrag ID: #236646
Bewertung:
(31039 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Verena,

kannst Du noch folgendes ausprobieren?

Ersetze in Deinem Skript "FindChangeFont.jsx" die Zeilen
Code
   var myFindFontName = "Wingdings	Regular";   
var myChangeFontName = "Verdana Regular";

durch
Code
var myFindFontName = "Verdana (TT)\tRegular";   
var myChangeFontName = "Verdana\tRegular";

oder
Code
var myFindFontName = "Verdana (TT)";   
var myChangeFontName = "Verdana";

oder
Code
var myFindFontName = "[Verdana (TT)]";   
var myChangeFontName = "Verdana";



als Antwort auf: [#236574]

Schriften per Skript ersetzen

tYPOmAC
Beiträge gesamt: 258

14. Mai 2008, 13:23
Beitrag # 14 von 39
Beitrag ID: #350176
Bewertung:
(30447 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo zusammen,

ich teste gerade das Skript »FindChangeFont.jsx«
an diversen InDesign-Dateien eines Kunden.

Dort wird der Font »Pragmatica Book E« im Schnitt
»Regular« verwendet. Da dieser Font nun mit dem
Namen »Pragmatica BookE« (Schnitt: Regular) im
Schriftmenü aufgeführt ist, möchte ich ihn gerne
in allen Texten und Absatz- sowie Zeichenformaten
automatisiert ersetzen lassen.

Das obige Skript habe ich wie folgt abgeändert:

Diese Schreibweise des fehlende Fonts:

Code
var myFindFontName = "[Pragmatica Book E] [Regular]";   
var myChangeFontName = "Pragmatica BookE Regular";


sowie diese

Code
var myFindFontName = "Pragmatica Book E Regular";   
var myChangeFontName = "Pragmatica BookE Regular";


führen beide zu diesem Fehler:

Zitat JavaScript-Fehler!
Fehlernummer: 15875
Fehlerzeichenfolge: Die gewünschte Schriftfamilie ist nicht
verfügbar.
Zeile 11:
Quelle: app.findPreferences.appliedFont = app.fonts.item(myFindFontName);


Habe ich etwas falsch eingetragen oder
wo kann ich die genaue Bezeichnung
des fehlenden Fonts herausfinden?

Vielen Dank im Voraus



Gruß
Arne


als Antwort auf: [#236646]

Schriften per Skript ersetzen

zaphodbeeblebroxx
Beiträge gesamt: 408

14. Mai 2008, 14:29
Beitrag # 15 von 39
Beitrag ID: #350192
Bewertung:
(30411 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Arne,

welche ID-version, welches Betriebssystem?

Sind die zu ersetzenden Schriften installiert (=aktiv) oder fehlen diese?

Richtigen Font-Namen ins Skript eingetragen (evtl. das Skript "RecordFindChange.jsx" verwenden, um den genauen Font-Namen aus dem ID-Suchen/Ersetzen-Menü zu speichern).


als Antwort auf: [#350176]
(Dieser Beitrag wurde von zaphodbeeblebroxx am 14. Mai 2008, 14:41 geändert)
X

Aktuell

PDF / Print
enfocus_300

Veranstaltungskalender

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch wie z.B. Adobe InDesign, Photoshop, Illustrator, PDF, Pitstop, Affinity, Marketing, SEO, Büro- und Rechtsthemen etc. haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen.

pdf-icon Hier eine kleine Anleitung hinsichtlich Bedeutung der auszufüllenden Formularfelder.

Veranstaltungen
14.05.2024

Online
Dienstag, 14. Mai 2024, 10.00 - 10.30 Uhr

Webinar

Prozessoptimierung ist ein Teamsport! Keine Software und keine Maschine allein kann Ihnen helfen, die Effizienzpotenziale Ihres Betriebes maximal auszuschöpfen. Von der Auftragsannahme über die Vorstufe und den Druck bis hin zur Weiterverarbeitung – alles muss optimal ineinandergreifen. Apropos Weiterverarbeitung – in vielen Druckbetrieben fristet sie in Sachen Prozessoptimierung immer noch ein Schattendasein. Dabei liegen hier mittlerweile die größten Einsparpotenziale! In einem Webinar von Horizon und Impressed erfahren Sie, wie Sie diese Einsparungen realisieren können. Horizon, bekannt für innovative Lösungen in der Druckweiterverarbeitung, bietet mit iCE LiNK eine Workflowlösung für die Weiterverarbeitung. iCE LiNK überwacht, visualisiert und analysiert Produktionsabläufe und unterstützt bei der Wartung – damit immer alles reibungslos läuft. Den gleichen Anspruch hat der von Impressed entwickelte Impressed Workflow Server – er ist die smarte PDF-Workflow-Lösung für Druckereien, die Datenmanagement, Preflight und Produktionssteuerung übernimmt. Im Webinar zeigen Ihnen die Experten von Horizon und Impressed, wie beide Lösungen im Team die Effizienz und Produktivität Ihres Betriebes steigern können. Melden Sie sich am besten gleich an, wir freuen uns auf Sie! PS: Melden Sie sich in jedem Fall an – sollten Sie zum Termin verhindert sein, erhalten Sie die Aufzeichnung.

kostenlos

Ja

Organisator: Impressed / Horizon

https://www.impressed.de/schulung.php?c=sDetail&sid=327

Einsparpotenziale in der Weiterverarbeitung
Veranstaltungen
16.05.2024

Online
Donnerstag, 16. Mai 2024, 10.00 - 10.30 Uhr

Webinar

Komplizierte, kleinteilige Aufträge; alles sehr speziell; seit Jahren bewährte Prozesse – da können wir nichts standardisieren und automatisieren! Das sagen viele Großformatdrucker – aber stimmt das wirklich, ist dem tatsächlich so? Günther Business Solutions und Impressed treten in einem Webinar den Gegenbeweis an. Experten beider Unternehmen zeigen, wie Großformatdrucker vom Einsatz zweier bewährter Lösungen profitieren können: • von advanter print+sign von Günther Business Solutions, dem ERP-System für den Großformatdruck, dass alle Phasen der Wertschöpfung im Large Format Printing abdeckt • von Impressed Workflow Server, der smarten PDF-Workflow-Lösung für Druckereien, die Datenmanagement, Preflight und Produktionssteuerung übernimmt Über die Kombination beider Lösungen können Großformatdrucker ihre Prozesse mit modernen Workflows Schritt für Schritt automatisieren – und so zügig deutliche Zeit- und Kosteneinsparungen realisieren. Das Webinar sollten Sie sich nicht entgehen lassen – damit Sie keine Effizienzpotenziale mehr liegen lassen. Melden Sie sich am besten gleich an, wir freuen uns auf Sie! PS: Melden Sie sich in jedem Fall an – sollten Sie zum Termin verhindert sein, erhalten Sie die Aufzeichnung.

kostenlos

Nein

Organisator: Impressed / Günther Business Solutions

https://www.impressed.de/schulung.php?c=sDetail&sid=326

Und es geht doch: Automatisierung im Großformatdruck!