1. Пользоваться форумом на планшетах и телефонах стало удобнее благодаря Tapatalk

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

Тема в разделе "Верстка и дизайн", создана пользователем -, 22 ноя 2004.

Модераторы: Mic Nau
  1. Guest

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

    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 в папку скриптов и наслажжждаться.
     
  3. Guest

    Без <code></code>, естественно. Я так отметил код.
     
  4. Guest

  5. Guest

    Sakhar wrote:
    >
    > !

    Предупреждать надо.
     
  6. Guest

  7. Guest

    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. Guest

    Приходится снимать задачу - Индизайн.
    Ждал 40 минут, пробовал несколько раз после перезагрузки. Запускал в файле, в котором 500 полос (84х108/32), там реально около 300 000 знаков.

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

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

    Извините за беспокойство.
     
  9. Guest

    А перед этим сэйв эс делал, чтобы вычистить память индеза?
     
Модераторы: Mic Nau

Поделиться этой страницей