hilfdirselbst.ch
Facebook Twitter gamper-media

Forenindex » Programme » Print/Bildbearbeitung » Adobe InDesign » Absatzformatimport von Word mit +

 

« « 1 2 3 4 » »  


Schoschi I
Beiträge: 154

6. Okt 2005, 15:06

Beitrag #1 von 59
Bewertung:

(9617 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

Absatzformatimport von Word mit +


Hallo liebe Forennutzer

Eine Mustervorlage für Word ist erstellt. Der Redaktor kann mit den Formatvorlagen arbeiten, die heissen auch genau gleich wie diejenigen in IDCS2.
Jetzt plaziere ich das Word-Dok mit den Importoptionen «InDesign-Formatdefinition verwenden» und der import scheint super zu laufen. Die Stilvorlagen prima in den Text eingepflegt, alles nach Wunsch zugewiesen.
Aber: Wenn ich den einzelnen Absatz anschaue steht hinter dem Absatzformat ein +.
Gibt es eine Möglichkeit zu importieren ohne das ein + am Schluss steht?

mit freundlichen Grüssen
Hansjürg Lüthi

Mac OS 10.6.7 - Premium Creative Suite 4 & 5 / 5.5
Top

Schoschi I
Beiträge: 154

7. Okt 2005, 08:57

Beitrag #2 von 59
Beitrag ID: #190201

Bewertung:

(9593 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

Absatzformatimport von Word mit +


Hallo liebes Forum

Ich habe den Knopf «Abweichungen in Auswahl löschen» gefunden. Dies ist zumindest eine passable Krücke zu meinem Problem.

mit freundlichen Grüssen
Hansjürg Lüthi

Mac OS 10.6.7 - Premium Creative Suite 4 & 5 / 5.5

als Antwort auf: [#190091] Top

Martin Fischer  M  p
Beiträge: 9687

7. Okt 2005, 09:13

Beitrag #3 von 59
Beitrag ID: #190203

Bewertung:

(9590 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

Absatzformatimport von Word mit +


Hallo Hansjürg,

> Ich habe den Knopf «Abweichungen in Auswahl löschen» gefunden.

Vorsicht!
Damit löscht Du u.U. auch gewünschte und erhaltenswerte Formatierungen:
z.B. kursiv, fett, Kapitälchen.

Lösung:
den "erhaltenswerten" Formatierungen vor "Abweichungen in Auswahl löschen"
Zeichenformate zuweisen (über Suchen-Ersetzen oder über das Script "assignCharStyle.jsx" http://www.hilfdirselbst.ch/...i?post=188877#188877
[Kapitälchen werden im Skript nicht behandelt])


Martin Fischer

Skripte für InDesign im Skriptarchiv von HilfDirSelbst.ch

als Antwort auf: [#190201] Top

Schoschi I
Beiträge: 154

7. Okt 2005, 09:46

Beitrag #4 von 59
Beitrag ID: #190211

Bewertung:

(9585 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

Absatzformatimport von Word mit +


Hallo Martin

Du hast recht, kursiv und fett etc. werden gelöscht. Aber in unserem Fall (Aufbau einer Redaktion, Word-Vorlage erstellt für die freien MA und Redaktoren) vom «freien MA» in die Worddatei geschriebenen Texte enthalten keine speziellen Zeichenformate (Zumindest bis jetzt nicht). Trotzdem danke für den Hinweis.

mit freundlichen Grüssen
Hansjürg Lüthi

Mac OS 10.6.7 - Premium Creative Suite 4 & 5 / 5.5

als Antwort auf: [#190203] Top

MSchmitz p
Beiträge: 510

7. Okt 2005, 13:47

Beitrag #5 von 59
Beitrag ID: #190254

Bewertung:

(9570 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

Absatzformatimport von Word mit +


aus diesem grunde arbeite ich routinemaßig (s&e) alle auszeichnungen (neben fett, kursiv etc. auch hoch- und tiefstellung) aus word-dateien in zeichenformate um. und dann schmeiße ich (wenn auch mit vorsicht) alle ungewünschten word-formate mit dem "+"-zeichen raus.

@MartinF: für sie als script-hersteller dürfte das sicherlich kein problem sein, eine entsprechende routine zu schreiben.

markus schmitz

als Antwort auf: [#190203] Top

Martin Fischer  M  p
Beiträge: 9687

7. Okt 2005, 14:22

Beitrag #6 von 59
Beitrag ID: #190258

Bewertung:

(9555 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

Absatzformatimport von Word mit +


Hallo Markus,

der Link auf das entsprechende Skript steht etwas weiter oben im Thread.
Dieses Skript gehört zu meinen Favoriten: ich verwende es bei jedem Projekt und es ist das erste Skript, das ich nach dem Import der Daten zur Sicherung der Formate über das Dokument laufen lasse.

Das Skript behandelt alle von Ihnen genannte Formatierungen fett, kursiv, fett-kursiv und Hochstellung mit Ausnahme der Tiefstellung (benötige ich praktisch nicht).

Von Dave Saunders, einem der Gurus im Adobe Scripting Forum, gibt es ein ähnliches Skript, das auch die Tiefstellung umsetzt:
Code
//charstyle.js 
//
myStyles = ["Bold Italic","Italic","Bold"];
myPosns = ["superscript","subscript"];
myPosnEnums = [Position.superscript,Position.subscript];

myDoc = app.documents[0];
noCharStyle = app.activeDocument.characterStyles[0];

// fontStyles
for (var j = 0; j<myStyles.length; j++) {
try {
myCharStyle = myDoc.characterStyles.item(myStyles[j]); myCharStyle.name;
}
catch (e) {
myDoc.characterStyles.add({name:myStyles[j], fontStyle:myStyles[j]}) ;
myCharStyle = myDoc.characterStyles.item(myStyles[j]);
}
app.findPreferences = null;
app.changePreferences = null;
myDoc.search("",false,false,undefined,{appliedCharacterStyle:noCharStyle, fontStyle:myStyles[j]},{appliedCharacterStyle:myStyles[j]}); }

// position
for (var j = 0; j<myPosns.length; j++) {
try {
myCharStyle = myDoc.characterStyles.item(myPosns[j]); myCharStyle.name;
}
catch (e) {
myDoc.characterStyles.add({name:myPosns[j], position:myPosnEnums [j]}) ;
myCharStyle = myDoc.characterStyles.item(myPosns[j]);
}
app.findPreferences = null;
app.changePreferences = null;
myDoc.search("",false,false,undefined,{appliedCharacterStyle:noCharStyle, position:myPosnEnums[j]},{appliedCharacterStyle:myPosns[j]});
}


Letzteres ist programmiertechnisch eleganter.
Ich arbeite aber auch gerne mit meinem Skript. :-)


Martin Fischer

Skripte für InDesign im Skriptarchiv von HilfDirSelbst.ch

als Antwort auf: [#190254] Top

Quarz  M  p
Beiträge: 2421

26. Dez 2005, 13:11

Beitrag #7 von 59
Beitrag ID: #202210

Bewertung:

(9430 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

Absatzformatimport von Word mit +


Hallo Martin,

ich würde gerne den Zeichenformaten noch eine Farbe zuweisen.
Weiß aber nicht wo und wie.

Gruß und eine friedliche Weihnachtszeit
Quarz

als Antwort auf: [#190258] Top

Martin Fischer  M  p
Beiträge: 9687

26. Dez 2005, 14:24

Beitrag #8 von 59
Beitrag ID: #202211

Bewertung:

(9427 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

Absatzformatimport von Word mit +


Hallo Quarz,

das geht in etwa so:
Code
try{ 
mySwatch = myDocument.colors.add({name:"Red",space:ColorSpace.rgb,colorValue:Array(250,0, 0)});
}
catch (myError){
mySwatch = myDocument.colors.item("Red");
}
myCharacterStyle.fillColor = mySwatch;


Das Skript-Teil versucht eine Farbe "Red" mit den Farbwerten 250 rot, 0 grün, 0 blau anzulegen und der Variablen mySwatch zuzuweisen. Wenn die Farbe "Red" schon vorhanden, dann wird diese der Variablen mySwatch zugewiesen.

Anschließend wird der Textfarbe des Zeichenformats myCharacterStyle die Farbe mySwatch zugewiesen.


Martin Fischer

Skripte für InDesign im Skriptarchiv von HilfDirSelbst.ch

als Antwort auf: [#202210] Top

Quarz  M  p
Beiträge: 2421

26. Dez 2005, 16:10

Beitrag #9 von 59
Beitrag ID: #202217

Bewertung:

(9410 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

Absatzformatimport von Word mit +


Hallo Martin,

ich habe die 7 Zeilen Script ans charstyle-Script unten angehängt.
Beim Ausführen bekomme ich die Fehlermeldung:

myDocument is undefined
bezogen auf
mySwatch = myDocument.colors.item("Red");

Ach, ich stricke lieber ein Paar Socken oder nähe ein Oberhemd! Das durchschaue ich besser.

Gruß
Quarz

als Antwort auf: [#202211] Top

Martin Fischer  M  p
Beiträge: 9687

26. Dez 2005, 20:56

Beitrag #10 von 59
Beitrag ID: #202237

Bewertung:

(9398 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

Absatzformatimport von Word mit +


Hallo Quarz,

die Fehlermeldung sagt: "myDocument is undefined".
Also vermute ich, daß die Variable "myDocument" in Deinem Skript gar nicht definiert ist. Möglicherweise lautet bei Dir die Variable "myDoc" o.ä.

Du kannst "myDocument" nachträglich definieren (myDocument = app.documents[0]) oder gleich mit app.documents[0] arbeiten:

Code
mySwatch = app.documents[0].colors.item("Red"); 



Martin Fischer

Skripte für InDesign im Skriptarchiv von HilfDirSelbst.ch

als Antwort auf: [#202217] Top

Martin Fischer  M  p
Beiträge: 9687

26. Dez 2005, 21:41

Beitrag #11 von 59
Beitrag ID: #202239

Bewertung:

(9395 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

Absatzformatimport von Word mit +


... ach, eins habe ich noch vergessen:
Code
mySocken = app.item("sockenstricken").schuhgröße[45] 



Martin Fischer

Skripte für InDesign im Skriptarchiv von HilfDirSelbst.ch

als Antwort auf: [#202237] Top

Quarz  M  p
Beiträge: 2421

27. Dez 2005, 15:28

Beitrag #12 von 59
Beitrag ID: #202308

Bewertung:

(9320 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

Absatzformatimport von Word mit +


Hallo Martin,

ich schaffe es nicht!
Hier noch mal das ganze Script und darunter meine Frage.
=============================

// CharStyle.js
//
myStyles = ["Bold Italic","Italic","Bold"];
myPosns = ["superscript","subscript"];
myPosnEnums = [Position.superscript,Position.subscript];
myDoc = app.documents[0];
noCharStyle = app.activeDocument.characterStyles[0];
//
// color
try{
mySwatch = myDoc.colors.add({name:"Red",space:ColorSpace.rgb,colorValue:Array(250,0, 0)});
}
catch (myError){
mySwatch = myDoc.colors.item("Red");
}
//
// fontStyles
for (var j = 0; j<myStyles.length; j++) {
try {
myCharStyle = myDoc.characterStyles.item(myStyles[j]); myCharStyle.name;
}
catch (e) {
myDoc.characterStyles.add({name:myStyles[j], fontStyle:myStyles[j]}) ;
myCharStyle = myDoc.characterStyles.item(myStyles[j]);
}
app.findPreferences = null;
app.changePreferences = null;
myDoc.search("",false,false,undefined,{appliedCharacterStyle:noCharStyle, fontStyle:myStyles[j]},{appliedCharacterStyle:myStyles[j]});
}
//
// position
for (var j = 0; j<myPosns.length; j++) {
try {
myCharStyle = myDoc.characterStyles.item(myPosns[j]); myCharStyle.name;
}
catch (e) {
myDoc.characterStyles.add({name:myPosns[j], position:myPosnEnums [j]}) ;
myCharStyle = myDoc.characterStyles.item(myPosns[j]);
}
app.findPreferences = null;
app.changePreferences = null;
myDoc.search("",false,false,undefined,{appliedCharacterStyle:noCharStyle, position:myPosnEnums[j]},{appliedCharacterStyle:myPosns[j]});
}
//myCharacterStyle.fillColor = mySwatch;
myCharStyle.fillColor = mySwatch;

=============================
- Bei
myCharStyle.fillColor = mySwatch;
wird alles angelegt, aber keine Farbe zugewiesen

- Bei
myCharacterStyle.fillColor = mySwatch;
kommt die Fehlermeldung:
"myCharacterStyle is undefined"

Eine andere Lösung:
Kann man nicht, wenn die verschiedenen Zeichenformate erstellt werden, direkt auch die Farbe zu weisen? (Man kann bestimmt.) Denn ich brauche nur bei diesen 5 Zeichenformaten diese Farbe.

Gruß
Quarz

als Antwort auf: [#202239] Top

Martin Fischer  M  p
Beiträge: 9687

27. Dez 2005, 16:27

Beitrag #13 von 59
Beitrag ID: #202317

Bewertung:

(9311 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

Absatzformatimport von Word mit +


Hallo Quarz,

der Befehl "myCharStyle.fillColor = mySwatch;" war schon richtig.
Er muß nur an der richtigen Stelle (den richtigen Stellen) stehen.

In dem Code unten steht er jeweils nach der Prüfung, ob das Zeichenformat bereits vorhanden ist. Unabhängig davon, ob es schon vorhanden ist oder erst noch erstellt werden muß, wird ihm dann die weiter oben definierte Farbe "Red" zugewiesen.
Code
// CharStyle_1.js 
//
myStyles = ["Bold Italic","Italic","Bold"];
myPosns = ["superscript","subscript"];
myPosnEnums = [Position.superscript,Position.subscript];
myDoc = app.documents[0];
noCharStyle = app.activeDocument.characterStyles[0];
//
// color
try{
mySwatch = myDoc.colors.add({name:"Red",space:ColorSpace.rgb,colorValue:Array(250,0, 0)});
}
catch (myError){
mySwatch = myDoc.colors.item("Red");
}
//
// fontStyles
for (var j = 0; j<myStyles.length; j++) {
try {
myCharStyle = myDoc.characterStyles.item(myStyles[j]); myCharStyle.name;
}
catch (e) {
myDoc.characterStyles.add({name:myStyles[j], fontStyle:myStyles[j]}) ;
myCharStyle = myDoc.characterStyles.item(myStyles[j]);
}
myCharStyle.fillColor = mySwatch;
app.findPreferences = null;
app.changePreferences = null;
myDoc.search("",false,false,undefined,{appliedCharacterStyle:noCharStyle, fontStyle:myStyles[j]},{appliedCharacterStyle:myStyles[j]});
}
//
// position
for (var j = 0; j<myPosns.length; j++) {
try {
myCharStyle = myDoc.characterStyles.item(myPosns[j]); myCharStyle.name;
}
catch (e) {
myDoc.characterStyles.add({name:myPosns[j], position:myPosnEnums [j]}) ;
myCharStyle = myDoc.characterStyles.item(myPosns[j]);
}
myCharStyle.fillColor = mySwatch;
app.findPreferences = null;
app.changePreferences = null;
myDoc.search("",false,false,undefined,{appliedCharacterStyle:noCharStyle, position:myPosnEnums[j]},{appliedCharacterStyle:myPosns[j]});
}

Willst Du die Farbe nur bei der neuen Erstellung des Zeichenformats zuweisen, dann laß die beiden Zeilen mit "myCharStyle.fillColor = mySwatch;" weg und füge dem add()-Befehl noch das Attribut "fillColor:mySwatch" hinzu.

Also wird z.B. aus "myDoc.characterStyles.add({name:myStyles[j], fontStyle:myStyles[j]}) ;"

Code
myDoc.characterStyles.add({name:myStyles[j],  fontStyle:myStyles[j], fillColor:mySwatch}) ; 



Das ganze Skript lautet dann:

Code
// CharStyle_2.js 
//
myStyles = ["Bold Italic","Italic","Bold"];
myPosns = ["superscript","subscript"];
myPosnEnums = [Position.superscript,Position.subscript];
myDoc = app.documents[0];
noCharStyle = app.activeDocument.characterStyles[0];
//
// color
try{
mySwatch = myDoc.colors.add({name:"Red",space:ColorSpace.rgb,colorValue:Array(250,0, 0)});
}
catch (myError){
mySwatch = myDoc.colors.item("Red");
}
//
// fontStyles
for (var j = 0; j<myStyles.length; j++) {
try {
myCharStyle = myDoc.characterStyles.item(myStyles[j]); myCharStyle.name;
}
catch (e) {
myDoc.characterStyles.add({name:myStyles[j], fontStyle:myStyles[j], fillColor:mySwatch}) ;
myCharStyle = myDoc.characterStyles.item(myStyles[j]);
}
app.findPreferences = null;
app.changePreferences = null;
myDoc.search("",false,false,undefined,{appliedCharacterStyle:noCharStyle, fontStyle:myStyles[j]},{appliedCharacterStyle:myStyles[j]});
}
//
// position
for (var j = 0; j<myPosns.length; j++) {
try {
myCharStyle = myDoc.characterStyles.item(myPosns[j]); myCharStyle.name;
}
catch (e) {
myDoc.characterStyles.add({name:myPosns[j], position:myPosnEnums [j], fillColor:mySwatch}) ;
myCharStyle = myDoc.characterStyles.item(myPosns[j]);
}
app.findPreferences = null;
app.changePreferences = null;
myDoc.search("",false,false,undefined,{appliedCharacterStyle:noCharStyle, position:myPosnEnums[j]},{appliedCharacterStyle:myPosns[j]});
}



Martin Fischer

Skripte für InDesign im Skriptarchiv von HilfDirSelbst.ch

als Antwort auf: [#202308] Top

Martin Fischer  M  p
Beiträge: 9687

28. Sep 2006, 16:34

Beitrag #14 von 59
Beitrag ID: #253681

Bewertung:

(8473 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

Zeichenattribute in Zeichenformate einfrieren


Dieser Thread ist alt, aber heute habe ich eine wahre Augenweide an Code zur Lösung der hier diskutierten Frage gesehen.

Peter Kahrel hat das folgende Skript heute im Scripting Forum veröffentlicht. Es friert in seiner kompakten Form nicht nur die Schnitte "Bold Italic", "Bold", "Italic" und Hoch- und Tiefstellung ein, sondern auch Kapitälchen, Unterstreichungen und Durchstreichungen.

Im Code ist eine Zeile bezeichnet, die man kommentieren kann, wenn auch Text, der bereits ein Zeichenformat zugewiesen hat, berücksichtigt werden soll.

Code
//CharStyleOfPeterKahrel.js  

// attr2style takes two arguments: (1) a string to set the search
// and the attribute value in the style, and (2) a name for the character style.
attr2style( 'fontStyle = "Bold Italic"' , 'Bold Italic' );
attr2style( 'fontStyle = "Bold"' , 'Bold' );
attr2style( 'fontStyle = "Italic"' , 'Italic' );
attr2style( 'position = Position.superscript' , 'SuperScript' );
attr2style( 'position = Position.subscript' , 'SubScript' );
attr2style( 'capitalization = Capitalization.smallCaps' , 'SmallCaps' );
attr2style( 'underline = true' , 'Underline' );
attr2style( 'strikeThru = true' , 'StrikeThru' );

function attr2style( attr, st )
{
app.findPreferences = app.changePreferences = null;
eval( 'app.findPreferences.' + attr );
// uncomment the following line to look for text with applied character style too (MF)
app.findPreferences.appliedCharacterStyle = app.activeDocument.characterStyles[0];
app.changePreferences.appliedCharacterStyle = checkStyle( attr, st );
app.activeDocument.search( '', false, false, '' );
}

function checkStyle( attr, stylename )
{
if( app.activeDocument.characterStyles.item( stylename ) == null )
{
app.activeDocument.characterStyles.add( { name : stylename } );
eval( 'app.activeDocument.characterStyles.item( stylename ).' + attr );
}
return app.activeDocument.characterStyles.item( stylename );
}



Martin Fischer

Skripte für InDesign im Skriptarchiv von HilfDirSelbst.ch

als Antwort auf: [#202317]

(Dieser Beitrag wurde von Martin Fischer am 28. Sep 2006, 16:50 geändert)
Top

hene I
Beiträge: 282

28. Sep 2006, 16:55

Beitrag #15 von 59
Beitrag ID: #253684

Bewertung:

(8457 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

Zeichenattribute in Zeichenformate einfrieren


Hallo Leute,
Bei mir war ja seinerseits das Problem aufgetaucht, dass das "+" eine Abweichung der Silbentrennung aufzeigte, und zwar nicht das im AF definierte neue Deutsch, sondern das absolut unbrauchbare "Deutsch Schweiz" schleicht sich jedes Mal von Word her ein (Manipulationen im Word haben da nicht weitergeholfen).
Ich habe seinerzeit ein Super-Script erhalten, das dieses Problem wunderbar löst, ohne allfällige andere Abweichungen (Direktformatierungen usw.) zu löschen. Den Originalnamen des Scripts weiss ich jetzt nicht mehr, weil ich es unbenannt habe. Vielleicht stammt ja die Differenz auch in diesem Falle von der Silbentrennung her, wer weiss.
Gruss: Heinz

als Antwort auf: [#253681] Top
« « 1 2 3 4 » »  


Forenindex » Programme » Print/Bildbearbeitung » Adobe InDesign » Absatzformatimport von Word mit +


^