[GastForen Programme Print/Bildbearbeitung Adobe InDesign Buchstabenzähler

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

Buchstabenzähler

Reichwein
Beiträge gesamt: 89

10. Jul 2007, 16:19
Beitrag # 1 von 14
Bewertung:
(11218 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo an Alle,
ich bin auf der Suche nach einem Buchstabenzähler bzw. Zeichenzähler von Texten. Für Mac wird dies wohl angboten aber auf Windows Basis bin ich noch nicht fündig geworden.
Mir würde es auch schon helfen, wenn ich diesen Zähler für im Word erstellte Texte einsetzten könnte.

Regnerische Grüße mit viel Donnerund Blitz . . .
Cosima
X

Buchstabenzähler

Kai Rübsamen
  
Beiträge gesamt: 4684

10. Jul 2007, 16:41
Beitrag # 2 von 14
Beitrag ID: #301912
Bewertung:
(11208 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Cosima,

lange nichts mehr gehört. Hier scheint die Sonne.

Kannst du es so schreiben, dass man es versteht. > Du kannst in Word Zeichen zählen lassen und in InDesign auch. Was suchst du da, das die Programme von Haus aus nicht mitbringen?


als Antwort auf: [#301906]

Buchstabenzähler

Martin Fischer
  
Beiträge gesamt: 12778

10. Jul 2007, 17:20
Beitrag # 3 von 14
Beitrag ID: #301919
Bewertung:
(11195 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Cosima,

zum Donnerkeil hier ein InDesign CS-Skript, das auch unter CS2 und CS3 laufen sollte:

Code
//TextCounter.js 
//
//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;
}


Allerdings werden Tabellen und Fußnoten nicht berücksichtigt.


als Antwort auf: [#301906]
(Dieser Beitrag wurde von Martin Fischer am 10. Jul 2007, 17:23 geändert)

Buchstabenzähler

olaflist
Beiträge gesamt: 1400

10. Jul 2007, 17:45
Beitrag # 4 von 14
Beitrag ID: #301921
Bewertung:
(11177 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Einfach mal eine Blick auf SoftCare's Overset Manager (www.softcare.de) werfen. Gibt's für Mac undd Windows.

Olaf Drümmer


als Antwort auf: [#301906]

Buchstabenzähler

Florian Hardwig
Beiträge gesamt: 51

10. Jul 2007, 20:34
Beitrag # 5 von 14
Beitrag ID: #301947
Bewertung:
(11149 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Mein InDesign (CS2, Mac) zeigt im Fenster ›Informationen‹ mit eingeblendeten Optionen folgende Zählwerte an: Zeichen, Wörter, Zeilen, Absätze. Jeweils für die aktuelle Textauswahl – und ohne Auswahl für den Textfluss (Textrahmen bzw. verkettete Textrahmen), in dem sich der Cursor befindet.
Beste Grüße, Florian


als Antwort auf: [#301906]

Buchstabenzähler

Konrad
Beiträge gesamt: 278

10. Jul 2007, 21:00
Beitrag # 6 von 14
Beitrag ID: #301951
Bewertung:
(11143 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo!

Bei dtptools.com gibts sowas für 69 USD:

http://www.dtptools.com/product.asp?id=tcin

Mfg
Konrad


als Antwort auf: [#301947]

Buchstabenzähler

pixxxelschubser
Beiträge gesamt: 1708

12. Jul 2007, 22:47
Beitrag # 7 von 14
Beitrag ID: #302441
Bewertung:
(11056 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo zusammen,

Entschuldigung, dass ich den Thread noch mal hervorhole.
Martin, eine kleine Frage: ist ja bestimmt ein nettes Script :-)

Habs nur aus Zeitmangel noch nicht ausprobiert. Was kann das Script, was der Textmodus [Strg]+[Y] und die Infopalette nicht kann?

siehe Anhang


als Antwort auf: [#301947]
Anhang:
Textmodus.gif (26.6 KB)

Buchstabenzähler

Martin Fischer
  
Beiträge gesamt: 12778

13. Jul 2007, 08:22
Beitrag # 8 von 14
Beitrag ID: #302462
Bewertung:
(11029 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans-Jürgen,

im status quo kann es über den Output der Infopalette hinaus die Zahl der Zeichen, Wörter, Zeilen und Absätze aller Textflüsse anzeigen.

Und im Gegensatz zur Infopalette ist dieses Skript ausbaufähig, so daß z.B. die Fußnoten und die Tabellen separat gezählt werden könnten.
Oder daß nur bestimmte Absatzformate bei der Zählung berücksichtigt werden.
Oder daß das Vorkommen bestimmter Wörter oder Zeichen oder Formatierungen ermittelt wird.

Sprich, das Skript ist ausbaufähig.

Eine andere Frage ist, ob's so was braucht. ;-)


als Antwort auf: [#302441]

Buchstabenzähler

Kai Rübsamen
  
Beiträge gesamt: 4684

13. Jul 2007, 09:06
Beitrag # 9 von 14
Beitrag ID: #302469
Bewertung:
(11017 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Eine andere Frage ist, ob's so was braucht. ;-)

In Anbetracht, dass sich die OP seit dem 10. nicht mehr gemeldet hat offensichtlich nicht.


als Antwort auf: [#302462]

Buchstabenzähler

Martin Fischer
  
Beiträge gesamt: 12778

13. Jul 2007, 09:47
Beitrag # 10 von 14
Beitrag ID: #302476
Bewertung:
(11003 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
> In Anbetracht, dass sich die OP seit dem 10. nicht mehr gemeldet hat offensichtlich nicht.

Hatte die OP nicht erwähnt, daß es blitzt und donnert?
Vielleicht sollte mal einer da nachsehen, wo's geregnet hat.


als Antwort auf: [#302469]

Buchstabenzähler

basti.kava
Beiträge gesamt: 2

15. Mär 2019, 13:09
Beitrag # 11 von 14
Beitrag ID: #569298
Bewertung:
(6161 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hey Hey,

ich nutze diesen Thread mal für eine weitere Frage in diesem Zusammenhang. Da InDesign und auch das genannte Skript die Zeichen zählen können, wäre es doch mit Sicherheit ein Leichtes, dieses Ergebnis im Dokument als Variable zu hinterlegen.

Beispiel: Eine Pressemitteilung, die zu großen Teilen automatisiert ist. Ich gebe meinen Text ein und in einem separaten Textfeld werden direkt die Zeichen gezählt. Verändere ich den Text, verändert sich die Zeichenzahl.

Nun die Frage: Wie geht sowas?

Vielen Dank und Grüße,
Basti


als Antwort auf: [#302476]

Buchstabenzähler

MarioF
Beiträge gesamt: 389

15. Mär 2019, 19:18
Beitrag # 12 von 14
Beitrag ID: #569305
Bewertung:
(6080 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Glaube nicht, dass dies so einfach möglich ist. Zumal es nicht wirklich Sinn macht und ständig ein Prozess im Hintergrund läuft, der schaut, ob es eine Änderung an bei den Zeichen gibt.
Ich würde versuchen, o.g. Script anzupassen, bei den die Zeichen eines ausgewählten Textrahmen gezählt werden, und die Auswertung kann man dann in einen neuen TR packen.


als Antwort auf: [#569298]

Buchstabenzähler

Uwe Laubender
Beiträge gesamt: 5314

18. Mär 2019, 09:06
Beitrag # 13 von 14
Beitrag ID: #569313
Bewertung:
(5829 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf:
Vielen Dank und Grüße,
Basti


Hallo Basti,
so etwas kann man per Skript umsetzen.

Mit einem sog. event listener, der immer dann ein Update der Zahl macht, wenn InDesign mal nichts zu tun hat. Stichwort: IdleTask

Oder, der immer dann ein Update der Zahl macht, wenn sich die Auswahl ändert.
Stichwort: afterSelectionChanged
Zum Beispiel beim Tippen eines Textes. Das wird allerdings voraussichtlich ziemlich nervig werden und kann zu erheblichen Geschwindigkeitseinbußen führen.

Hier in der Skriptwerkstatt findest Du ein Beispiel wie solch ein Skript prinzipiell aufzubauen wäre.
Diskussion zwischen zwei Möglichkeiten, afterSelectionChanged vs IdleEvent.ON_IDLE

https://www.hilfdirselbst.ch/..._P558636.html#558636


Das Skript könnte über das Skripte-Bedienfeld gestartet oder beendet werden. Oder als Startup-Skript laufen, wenn es das Zählen immer, bei jedem geöffneten Dokument machen soll. Das würde ich aber nicht empfehlen.


als Antwort auf: [#569298]

Buchstabenzähler

basti.kava
Beiträge gesamt: 2

26. Mär 2019, 13:35
Beitrag # 14 von 14
Beitrag ID: #569457
Bewertung:
(5417 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Vielen Dank. Das klingt ja gut.
Ich arbeite mich da mal durch.


als Antwort auf: [#569313]
X