[GastForen Programme Print/Bildbearbeitung Adobe InDesign Text ohne Formatierung kopieren

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

Text ohne Formatierung kopieren

Hans Haesler
Beiträge gesamt: 5805

8. Nov 2006, 11:38
Beitrag # 1 von 4
Bewertung:
(8827 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Leute,

In CS2 gibt es die schöne Option "Ohne Formatierung einfügen"
(Mac: Befehl + Umschalt + V / Windows: Ctrl + Shift + V).

Nun habe ich aber festgestellt, dass bei dieser Aktion auch
Absatz- und Zeichenformate sowie Farben, welche in der Auswahl
angewendet sind, ins Zieldokument kopiert werden, falls
sie dort nicht vorhanden sind.

Das ist meistens nicht erwünscht. Deshalb habe ich versucht,
ein Script zu schreiben, welches "sauberer" arbeitet.
Bei der ersten Version war das Problem nicht behoben.
Erst als ich im Quelldokument den kopierten Text zum Reinigen
in einen temporären Rahmen zwischenlagerte, unterblieb
das "hilfreiche" Ergänzen.

Das folgende Script prüft die Auswahl. Wenn es Text ist,
dann wird dieser in die Zwischenablage kopiert. Wenn nur die
Einfügemarke blinkt, dann wird versucht, den Inhalt der
Zwischenablage einzufügen.

Code
//NurTextKopieren_02d.js 
//Dieses Script ermöglicht, Texte ohne Formatierung zu kopieren
//und einzusetzen, ohne dass Absatz- und Zeichenformate sowie Farben
//ins Zieldokument kopiert werden

if (app.documents.length == 0) {
alert ("Es ist kein Dokument offen.");
exit();
}

var curSel = app.selection[0];

try {
var selType = curSel.constructor.name;
}
catch (e) {
alert ("Es ist nichts ausgewählt.");
exit();
}

if (selType == "Text" || selType == "TextColumn" || selType == "Paragraph"
|| selType == "TextStyleRange" || selType == "Word" || selType == "Character") {
app.copy();
var tmpFrame = app.documents[0].textFrames.add({label:"t_m_p"});
tmpFrame.parentStory.contents = "s";
app.selection = tmpFrame.parentStory.characters[0];
app.pasteWithoutFormatting();
app.selection = tmpFrame.parentStory.characters.itemByRange(0, -1);
app.copy();
tmpFrame.remove();
}
else if (selType == "InsertionPoint") {
try {
app.pasteWithoutFormatting();
}
catch (e) {
alert ("Hat leider nicht geklappt.");
}
}
else {
alert ("Entweder Text auswählen\noder die Einfügemarke positionieren.");

Gruss, Hans
X

Text ohne Formatierung kopieren

Martin Fischer
  
Beiträge gesamt: 12477

8. Nov 2006, 13:27
Beitrag # 2 von 4
Beitrag ID: #260734
Bewertung:
(8799 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hans,

danke für die Vorlage.

Hier ein alternativer Ansatz:
Code
// textOnly.jsx 

Object.prototype.isText = function()
{
switch(this.constructor.name)
{
case "Character":
case "Word":
case "TextStyleRange":
case "Line":
case "Paragraph":
case "TextColumn":
case "Text":
case "TextFrame":
return true;
default :
return false;
}
}

if ((app.documents.length ==0) || (app.selection.length == 0))
exit();

var mySel = app.selection[0];
if (mySel.isText()) {
var tmpFrame = app.activeDocument.textFrames.add({contents:mySel.contents});
tmpFrame.parentStory.texts[0].select();
app.copy();
tmpFrame.remove();
mySel.select();
}
else if (mySel.constructor.name == "InsertionPoint") {
app.pasteWithoutFormatting()
}


Das isText()-Objekt habe ich mir von Dave Saunders geliehen. ;-)

Im obigen Ansatz wird der Inhalt der Auswahl dem temporären Textrahmen direkt zugewiesen (ohne copy & paste). Anschließend wird der Inhalt des temporären Textrahmens in die Zwischenablage kopiert und die ursprüngliche Auswahl wieder hergestellt.

Das Einfügen funktioniert wie bei Dir.
Auf das try-Kommando habe ich verzichtet.
Gibt es tatsächlich eine Fehlermeldung, wenn beim Versuch, etwas einzufügen, nichts in der Zwischenablage ist? Um dies zu überprüfen wollte ich meinen Rechner nicht extra neu starten (kann man die Zwischenablage auch anders auf null setzen?).

Was ich bei Deinem Ansatz nicht verstehe:
Warum fügst Du das Zeichen "s" in den temporären Textrahmen ein?
Um es hinterher auszuwählen und den Inhalt der Zwischenablage in die Auswahl reinzukopieren? Dazu würde es ausreichen, wenn Du den insertionPoint[0] des temporären Textrahmens auswählen würdest.

Viele Grüße
Martin




als Antwort auf: [#260699]

Text ohne Formatierung kopieren

Hans Haesler
Beiträge gesamt: 5805

8. Nov 2006, 14:37
Beitrag # 3 von 4
Beitrag ID: #260761
Bewertung:
(8781 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,

danke für Deine Rückmeldung.

Das Dave-Saunders-isText()-Objekt kenne ich, habe es aber noch nie verwendet.

Das direkte Einsetzen ist natürlich vorzuziehen. Und: Gute Idee, die Auswahl
wiederherzustellen!

Ja, es gibt eine Fehlermeldung, wenn das Script versucht, nicht vorhandenen
Inhalt der Zwischenablage einzusetzen. Das hatte ich aber nur geahnt und
erst jetzt ausprobiert (ohne Neustart des Rechners, nur die Session beendet).
Den 'try'-Wickel hatte ich aber eigentlich nur so, für alle Fälle eingebaut.
Deshalb ist auch die Meldung allgemein gehalten.

Die Sache mit dem "s": Dadurch hatte ich eine optische Meldung, dass etwas
kopiert worden ist. Zuvor hatte ich schon versucht, den 'insertionPoint[0]'
auszuwählen. Klappte aber nicht. Erst soeben ist es mir gelungen, nachdem
ich das Mehrzahl-"s" eingefügt habe: 'insertionPoints[0]'.

Das direkte Einsetzen werde ich übernehmen. Und vielleicht auch die Wieder-
herstellung der Auswahl. Mit Angabe des Beraters!

Gruss, Hans


als Antwort auf: [#260734]

Text ohne Formatierung kopieren

roli.haeusermann
Beiträge gesamt: 60

2. Feb 2007, 15:11
Beitrag # 4 von 4
Beitrag ID: #274174
Bewertung:
(8689 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Grüezi mitenand

Habe die beiden Skripts ausprobiert; leider funktionieren diese nicht für Tabellen. Gäbe es hierzu eine alternative? Ich muss derzeit Tabellen von einer alten in eine neue Vorlage kopieren, wobei das Layout gänzlich ändert (Font, Farben, Konturstärke usw.). Hierbei wäre es SEHR hilfreich, wenn ich die Funktion "ohne Formatierung einfügen" effektiv nutzen könnte.

Besten Dank für allfällige Tipps
Roli


als Antwort auf: [#260761]
X

Aktuell

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

Digicomp Academy AG, Limmatstrasse 50, 8005 Zürich
Freitag, 05. Feb. 2021, 13.00 Uhr - Freitag, 05. Nov. 2021, 17.00 Uhr

Lehrgang

Bilden Sie sich zum zertifizierten Publishing-Multimedia-Profi aus. Neben Fotografie und Video befassen Sie sich mit der Medienproduktion, digitalen Publikationen und dem Webdesign für Desktop- und mobile Endgeräte.

Preis: CHF 10'500.-
Dauer: 30 Tage (ca. 210 Lektionen) – Unterricht findet jeweils am Freitag von 13 - 19 Uhr und Samstag von 09 - 17 Uhr statt

Ja

Organisator: Digicomp Academy AG

Kontaktinformation: Kundenberater-Team, E-Mailkundenberatung AT digicomp DOT ch

digicomp.ch/d/9PM

Veranstaltungen
12.03.2021 - 16.07.2021

Digicomp Academy AG, Zürich oder virtuell
Freitag, 12. März 2021, 13.00 Uhr - Freitag, 16. Juli 2021, 17.00 Uhr

Lehrgang

Steigen Sie in die Welt des Publishings ein und erlangen Sie die Zertifizierung von publishingNETWORK. Lernen Sie in diesem Lehrgang Druckmedien professionell zu erarbeiten, druckfertige PDFs zu erstellen und CI/CD-Vorgaben umzusetzen.

Preis: CHF 6'300.-
Dauer: 18 Tage (ca. 126 Lektionen) – Unterricht findet jeweils am Freitag von 13 - 19 Uhr und Samstag von 09 - 17 Uhr statt.

Ja

Organisator: Digicomp Academy AG

Kontaktinformation: Kundenberater-Team, E-Mailkundenberatung AT digicomp DOT ch

digicomp.ch/d/9PBAS