[GastForen Programme Print/Bildbearbeitung Adobe InDesign Absatzformatimport von Word mit +

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

Absatzformatimport von Word mit +

Schoschi
Beiträge gesamt: 173

6. Okt 2005, 15:06
Beitrag # 1 von 59
Bewertung:
(29015 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
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?
X

Absatzformatimport von Word mit +

Schoschi
Beiträge gesamt: 173

7. Okt 2005, 08:57
Beitrag # 2 von 59
Beitrag ID: #190201
Bewertung:
(28915 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo liebes Forum

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


als Antwort auf: [#190091]

Absatzformatimport von Word mit +

Martin Fischer
  
Beiträge gesamt: 12778

7. Okt 2005, 09:13
Beitrag # 3 von 59
Beitrag ID: #190203
Bewertung:
(28912 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
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])


als Antwort auf: [#190201]

Absatzformatimport von Word mit +

Schoschi
Beiträge gesamt: 173

7. Okt 2005, 09:46
Beitrag # 4 von 59
Beitrag ID: #190211
Bewertung:
(28907 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
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.


als Antwort auf: [#190203]

Absatzformatimport von Word mit +

MSchmitz
Beiträge gesamt: 545

7. Okt 2005, 13:47
Beitrag # 5 von 59
Beitrag ID: #190254
Bewertung:
(28892 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
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]

Absatzformatimport von Word mit +

Martin Fischer
  
Beiträge gesamt: 12778

7. Okt 2005, 14:22
Beitrag # 6 von 59
Beitrag ID: #190258
Bewertung:
(28877 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
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. :-)


als Antwort auf: [#190254]

Absatzformatimport von Word mit +

Quarz
Beiträge gesamt: 3547

26. Dez 2005, 13:11
Beitrag # 7 von 59
Beitrag ID: #202210
Bewertung:
(28752 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
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]

Absatzformatimport von Word mit +

Martin Fischer
  
Beiträge gesamt: 12778

26. Dez 2005, 14:24
Beitrag # 8 von 59
Beitrag ID: #202211
Bewertung:
(28749 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
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.


als Antwort auf: [#202210]

Absatzformatimport von Word mit +

Quarz
Beiträge gesamt: 3547

26. Dez 2005, 16:10
Beitrag # 9 von 59
Beitrag ID: #202217
Bewertung:
(28732 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
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]

Absatzformatimport von Word mit +

Martin Fischer
  
Beiträge gesamt: 12778

26. Dez 2005, 20:56
Beitrag # 10 von 59
Beitrag ID: #202237
Bewertung:
(28720 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
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"); 



als Antwort auf: [#202217]

Absatzformatimport von Word mit +

Martin Fischer
  
Beiträge gesamt: 12778

26. Dez 2005, 21:41
Beitrag # 11 von 59
Beitrag ID: #202239
Bewertung:
(28717 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
... ach, eins habe ich noch vergessen:
Code
mySocken = app.item("sockenstricken").schuhgröße[45] 



als Antwort auf: [#202237]

Absatzformatimport von Word mit +

Quarz
Beiträge gesamt: 3547

27. Dez 2005, 15:28
Beitrag # 12 von 59
Beitrag ID: #202308
Bewertung:
(28642 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
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]

Absatzformatimport von Word mit +

Martin Fischer
  
Beiträge gesamt: 12778

27. Dez 2005, 16:27
Beitrag # 13 von 59
Beitrag ID: #202317
Bewertung:
(28633 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
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]});
}



als Antwort auf: [#202308]

Zeichenattribute in Zeichenformate einfrieren

Martin Fischer
  
Beiträge gesamt: 12778

28. Sep 2006, 16:34
Beitrag # 14 von 59
Beitrag ID: #253681
Bewertung:
(27795 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
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 );
}



als Antwort auf: [#202317]
(Dieser Beitrag wurde von Martin Fischer am 28. Sep 2006, 16:50 geändert)

Zeichenattribute in Zeichenformate einfrieren

hene
Beiträge gesamt: 282

28. Sep 2006, 16:55
Beitrag # 15 von 59
Beitrag ID: #253684
Bewertung:
(27779 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
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.


als Antwort auf: [#253681]
X