hilfdirselbst.ch
Facebook Twitter gamper-media

Forenindex » Programme » Print/Bildbearbeitung » Adobe InDesign » Zeichen zählen

 



anfenger
Beiträge: 72

24. Jan 2008, 15:42

Beitrag #1 von 8
Bewertung:

(7389 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

Zeichen zählen


Guten Tag allerseits,
InDesign das Profiprogramm für Layouts. Kann mir Jemand sagen wo die Features «Zeichen zählen», «Wörter zählen» versteckt sind? Help helpt nicht, die Wordlösung...na ja. Etwa ein Plug-In vonnöten? Sollte doch zum Gugger zum Standard gehören...

Vielen Dank für Eure Hilfe

der Anfenger
Top

Sacha Heck  M  p
Beiträge: 3162

24. Jan 2008, 15:51

Beitrag #2 von 8
Beitrag ID: #333112

Bewertung:

(7380 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

Zeichen zählen


Hallo,

Zitat InDesign das Profiprogramm für Layouts.

Genau :-)

Zitat Kann mir Jemand sagen wo die Features «Zeichen zählen», «Wörter zählen» versteckt sind?

In der Infopalette.

Gruß,
Sacha



> Job: Quad Core Intel Xeon, OSX 10.5.8, CS2 + CS4 (6.0.4) Premium
> Home: MacBookPro 17", OSX 10.6.8, CS5.5 Design Premium
mediengestalter.luePub für (In)Designer


als Antwort auf: [#333106] Top

anfenger
Beiträge: 72

24. Jan 2008, 15:54

Beitrag #3 von 8
Beitrag ID: #333114

Bewertung:

(7379 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

Zeichen zählen


Uff, so einfach Sascha. Danke!

Wald und Bäume, blinder Anfänger.

Gruss

als Antwort auf: [#333112]

(Dieser Beitrag wurde von anfenger am 24. Jan 2008, 15:55 geändert)
Top

Martin Fischer  M  p
Beiträge: 9698

27. Feb 2008, 23:36

Beitrag #4 von 8
Beitrag ID: #339281

Bewertung:

(7236 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

Zeichen zählen


In http://www.adobeforums.com/webx?14@@.3c063846/5 hat Harbs heute ein erweitertes Skript zum Zählen von Zeichen, Wörtern, Zeilen und Absätzen in der Auswahl, dem ausgewählten Textabschnitt oder in allen Textabschnitten veröffentlicht:

Code
//TextCounter 
//An InDesign 3 JavaScript
//
//Counts text objects in the selection, in the selected story, or in all stories in a document.
//
//For more on InDesign scripting, go to http://www.adobe.com/products/indesign/scripting.html
//or visit the InDesign Scripting User to User forum at http://www.adobeforums.com
//
if(app.documents.length != 0){
if(app.activeDocument.stories.length > 0){
myDisplayDialog();
}
else{
alert("The current document does not contain any text.");
}
}
else{
alert("No documents are open. Please open a document and try again.");
}

function myDisplayDialog(){
var myCountButtons, myRangeButtons;
var myDialog = app.dialogs.add({name:"TextCounter"});
with(myDialog.dialogColumns.add()){ with(borderPanels.add()){
staticTexts.add({staticLabel:"Count:"});
with(myCountButtons = radiobuttonGroups.add()){
radiobuttonControls.add({staticLabel:"Characters"});
radiobuttonControls.add({staticLabel:"Words", checkedState:true});
radiobuttonControls.add({staticLabel:"Lines"});
radiobuttonControls.add({staticLabel:"Paragraphs"});
}
}
with(borderPanels.add()){
staticTexts.add({staticLabel:"Range:"});
with(myRangeButtons = radiobuttonGroups.add()){
radiobuttonControls.add({staticLabel:"Selection", checkedState:true});
radiobuttonControls.add({staticLabel:"Selected Story"});
radiobuttonControls.add({staticLabel:"All Stories"});
}
}
}
var myReturn = myDialog.show();
if (myReturn == true){
//Get the values from the dialog box.
var myRangeType = myRangeButtons.selectedButton;
var myCountType = myCountButtons.selectedButton;
myDialog.destroy();
myTextCounter(myRangeType, myCountType);
}
else{
myDialog.destroy();
}
}
function myTextCounter(myRangeType, myCountType){
var myDocument, myTextCount, mySelection, myCountingUnit;
with (myDocument = app.activeDocument){
//Set the AlreadyCounted key of any stories in the document to false.
for (var myStoryCounter = 0; myStoryCounter < myDocument.stories.length; myStoryCounter ++){
myDocument.stories.item(myStoryCounter).insertLabel("AlreadyCounted", "False")
}
switch (myRangeType){
case 0:
//Count the text in the selection.
//If multiple text frames are selected, all of the
//text in the frames will be counted.
mySelection = selection;
if (mySelection.length == 1){
myTextCount = mySelectionSorter(mySelection[0], myRangeType, myCountType); }
else{
myTextCount = 0;
for (var myCounter = 0; myCounter < mySelection.length; myCounter++){
myTextCount = myTextCount + mySelectionSorter(mySelection[myCounter], myRangeType, myCountType);
}
}
break;
case 1:
//Count the text in the parent story (or stories) of the selection)
mySelection = selection;
if (mySelection.length == 1){
myTextCount = mySelectionSorter(mySelection[0], myRangeType, myCountType);
}
else{
myTextCount = 0;
//Now iterate through the items and count the text.
for (var myCounter = 0; myCounter < mySelection.length; myCounter++){
myTextCount = myTextCount + mySelectionSorter(mySelection[myCounter], myRangeType, myCountType);
}
}
break;
case 2:
//Count the text in all stories of the active document.
myTextCount = 0;
for(var myStoryCounter = 0; myStoryCounter < myDocument.stories.length; myStoryCounter ++){
myTextCount = myTextCount + myCountText(myDocument.stories.item(myStoryCounter), myCountType);
}
break;
}
switch(myCountType){
case 0:
if (myTextCount == 1){
myCountingUnit = "character";
}
else {
myCountingUnit = "characters";
}
break;
case 1:
if (myTextCount == 1){
myCountingUnit = "word";
}
else {
myCountingUnit = "words";
}
break;
case 2:
if (myTextCount == 1){
myCountingUnit = "line";
}
else {
myCountingUnit = "lines";
}
break;
case 3:
if (myTextCount == 1){
myCountingUnit = "paragraph";
}
else {
myCountingUnit = "paragraphs";
}
break;
}
var myDialog = app.dialogs.add({name:"TextCounter", canCancel:false});
with(myDialog){
//Add a dialog column.
with(dialogColumns.add()){
with(borderPanels.add()){
staticTexts.add({staticLabel:"InDesign found "});
with(dialogColumns.add()){
textEditboxes.add({editContents:myTextCount+""});
}
with(dialogColumns.add()){
staticTexts.add({staticLabel:myCountingUnit});
}
}
}
}
myDialog.show();
myDialog.destroy();
}
}
function mySelectionSorter(myObject, myRangeType, myCountType){
var myTextCount;
switch (myObject.constructor.name){
case "Text":
case "InsertionPoint":
switch (myRangeType){
case 0:
myTextCount = myCountText(myObject, myCountType);
break;
case 1:
myTextCount = myCountText(myObject.parentStory, myCountType);
break;
}
break;
case "TextFrame":
switch (myRangeType){
case 0:
myTextCount = myCountText(myObject.texts.item(0), myCountType);
break;
case 1:
//Has the parent story already been counted?
myStory = myObject.parentStory;
myCountedState = myStory.extractLabel("AlreadyCounted");
if (myCountedState != "True"){
myTextCount = myCountText(myStory, myCountType);
myStory.insertLabel("AlreadyCounted", "True");
}
else {
myTextCount = 0;
}
break;
}
break;
default:
//Selection is a not a text object.
//There's still a chance it could be a textPath object.
if (myObject.textPaths.length !=0){
myTextCount = 0;
if (myRangeType == 1){
for (myTextPathCounter = 0; myTextPathCounter < myObject.textPaths.length; myTextPathCounter ++){
myStory = myObject.textPaths.item(myTextPathCounter).parentStory;
myCountedState = myStory.extractLabel("AlreadyCounted");
if (myCountedState != "True"){
myTextCount = myTextCount + myCountText(myObject.textPaths.item(myTextPathCounter).parentStory, myCountType);
myObject.textPaths.item(myTextPathCounter).parentStory.insertLabel("AlreadyCounted","True");
}
else{
myTextCount = 0;
}
}
}
else {
for (myTextPathCounter = 0; myTextPathCounter < myObject.textPaths.length; myTextPathCounter ++){
myTextCount = myTextCount + myCountText(myObject.textPaths.item(myTextPathCounter).texts.item(0), myCountType);
}
}
}
else {
myTextCount = 0;
}
break; }
return myTextCount;
}
function myCountText(myTextObject, myCountType){
var myTextCount;
switch(myCountType){
case 0:
//count characters
myTextCount = myTextObject.characters.length;
break;
case 1:
//count words
myTextCount = myTextObject.words.length;
break;
case 2:
//count lines
myTextCount = myTextObject.lines.length;
break;
case 3:
//count paragraphs
myTextCount = myTextObject.paragraphs.length;
break;
}
return myTextCount;
}



Martin Fischer

Skripte für InDesign im Skriptarchiv von HilfDirSelbst.ch

als Antwort auf: [#333106] Top

Wolf Larsen
Beiträge: 27

17. Jan 2011, 12:55

Beitrag #5 von 8
Beitrag ID: #461891

Bewertung:

(4128 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

Zeichen zählen


Das Script ist nicht schlecht, aber es scheint keine Wörter in Tabellen zu zählen. Das ist bei einem Geschäftsbericht vielleicht eher schlecht :-) Hat jemand eine Ahnung, ob es was Erweitertes gibt?

Danke,
Wolf

als Antwort auf: [#339281] Top

Ralf Hobirk p
Beiträge: 4602

17. Jan 2011, 14:21

Beitrag #6 von 8
Beitrag ID: #461916

Bewertung:

(4087 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

Zeichen zählen


Antwort auf: ob es was Erweitertes gibt?

Die Basisfunktion von InDesign (Infopalette) zählt auch Zeichen und Wörter in Tabellen.

---
Sonnige Grüße aus Egypt Cool
Ralf
---
MacPro (1,1) 2x2,66 GHz, 10 GB | MacBook Pro 15" (8,2) 2,0 GHz, 8 GB | MacBook Pro 15" (4,1) 2,5 GHz, 6 GB | alle 10.6.8 | CS5 (ID 7.0.4)
El Gouna - Life as it should be!

als Antwort auf: [#461891] Top

Wolf Larsen
Beiträge: 27

17. Jan 2011, 14:24

Beitrag #7 von 8
Beitrag ID: #461917

Bewertung:

(4087 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

Zeichen zählen


Das ist sehr richtig! Aber 300 Tabellen anklicken und dann zusammenzählen ist keine richtige Lösung. Das Script ist eh schon super, es müsste noch Tabellen können. Es geht ja hier eher nicht um das Anklicken einzelner Rahmen sondern um die Erstellung einer Gesamtzählung.

Schönen Gruß,
Wolf

als Antwort auf: [#461916] Top

Martin Fischer  M  p
Beiträge: 9698

17. Jan 2011, 14:41

Beitrag #8 von 8
Beitrag ID: #461922

Bewertung:

(4075 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

Zeichen zählen


Hallo Wolf,

das geht auch ohne JavaScript über eine GREP-Suche.

Um die Anzahl der Wörter zu ermitteln, gehe wie folgt vor.

Code
Suche nach:     \w+  (eventuell feiner mit \<\w+\>) 
Ersetzen durch: $0



Das Dialogfenster nach Ausführung des Ersetzenbefehls gibt Dir an, wie häufig ersetzt wurde. Das sollte die Zahl der Wörter sein.

Um alle Zeichen zu ermitteln (ohne Leerzeichen) suche nach \w (ohne +).


Verfeinern kannst Du die Suche mit entsprechenden Formateinstellungen.
Hast Du z.B. ein Absatzformat für Tabellentext, so könntest Du die Suche darauf beschränken.

Teste das auf jeden Fall nicht im Original-Dokument, sondern in einer Kopie!


Martin Fischer

Skripte für InDesign im Skriptarchiv von HilfDirSelbst.ch

als Antwort auf: [#461917]

(Dieser Beitrag wurde von Martin Fischer am 17. Jan 2011, 14:45 geändert)
Top


Forenindex » Programme » Print/Bildbearbeitung » Adobe InDesign » Zeichen zählen


^