Render.ru

Как подсчитать знаки в публикации?

#1
Уважаемые, подскажите, пожалуйста, как подсчитать количество знаков с пробелами в публикации ID CS, если в публикации множество несвязанных между собой текстовых фреймов, а info подсчитывает только в активном фрейме.
Для ID 2.0 был скрипт для подсчета, а для 3.0 я скрипта не нашел.
Заранее всем спасибо.
 
#2
Sakhar wrote:
>
> Уважаемые, подскажите, пожалуйста, как подсчитать количество
> знаков с пробелами в публикации ID CS, если в публикации
> множество несвязанных между собой текстовых фреймов, а info
> подсчитывает только в активном фрейме.
> Для ID 2.0 был скрипт для подсчета, а для 3.0 я скрипта не
> нашел.
> Заранее всем спасибо.

<code>
with (app) {
var myDoc = activeDocument;
var myCharAllCount = 0;
var myCharVisCount = 0;
for (myCounter = 0; myCounter < myDoc.stories.length; myCounter ++) {
myCharAllCount += myDoc.stories[myCounter].characters.length;
}
for (myCounter = 0; myCounter < myDoc.textFrames.length; myCounter ++) {
myCharVisCount += myDoc.textFrames[myCounter].characters.length;
}
alert("In total " + String(myCharAllCount) + " characters\n" + "Visible: " + String(myCharVisCount) + ". Invisible: " + String(myCharAllCount - myCharVisCount));
exit()
}
</code>

Скопировать, сохранить с расширением js в папку скриптов и наслажжждаться.
 
#7
sakhar wrote:
>
> ?

<code>
with (app) {
var myDoc = activeDocument;
var myCharAllCount = 0;
var myCharVisCount = 0;
for (myCounter = 0; myCounter < myDoc.stories.length; myCounter ++) {
var myStory = myDoc.stories[myCounter];
myCharAllCount += myStory.characters.length;
for (myCount = 0; myCount < myStory.tables.length; myCount++) {
var myTable = myStory.tables[myCount];
for (myC = 0; myC < myTable.cells.length; myC++) {
myCharAllCount += myTable.cells[myC].characters.length;
}
}
}
for (myCounter = 0; myCounter < myDoc.textFrames.length; myCounter ++) {
var myTextFrame = myDoc.textFrames[myCounter];
myCharVisCount += myTextFrame.characters.length;
for (myCount = 0; myCount < myTextFrame.tables.length; myCount++) {
var myTable = myTextFrame.tables[myCount];
for (myC = 0; myC < myTable.cells.length; myC++) {
myCharVisCount += myTable.cells[myC].characters.length;
}
}

}
alert("In total " + String(myCharAllCount) + " characters\n" + "Visible: " + String(myCharVisCount) + ". Invisible: " + String(myCharAllCount - myCharVisCount));
exit()
}
</code>
Считает в таблицах и даже инлайновых текстовых фреймах (но считает невидимыми в посл. случае).
 
#8
Приходится снимать задачу - Индизайн.
Ждал 40 минут, пробовал несколько раз после перезагрузки. Запускал в файле, в котором 500 полос (84х108/32), там реально около 300 000 знаков.

Комп вроде не слабый - Intel P4-2800 на 800-шине, памяти 1 Гб.

В маленьких файлах все работает.

Извините за беспокойство.
 
#9
А перед этим сэйв эс делал, чтобы вычистить память индеза?
 
Сверху