javascript - 使用 javascript 在 Indesign 中计算字符的不同方法
问题描述
我正在编写一个javascript 程序来处理indesign 文档中的每个字符。
首先,我写了两种不同的字符计数方法,由于某种原因,它们对大文档给出了不同的结果。为什么?
var
myDocument, docStories, docCharacters,
docFootnotesCharacters, docTablesCharacters;
myDocument = app.activeDocument;
var TotalChars = 0;
// Fisrt way
docStories = myDocument.stories.everyItem();
docCharacters = docStories.characters.length;
docFootnotesCharacters = docStories.footnotes.everyItem().characters.length;
docTablesCharacters = docStories.tables.everyItem().cells.everyItem().characters.length;
statReport = [];
// Second way
for ( j = 0; j < myDocument.stories.length; j++ ) {
myStory = myDocument.stories.item(j);
var Frames = myStory.textContainers;
for ( i = 0; i < Frames.length; i++ ) {
var Frame = Frames[i];
for (var TextCnt = 0; TextCnt < Frame.texts.length; TextCnt++) {
CurrentText = Frame.texts.item(TextCnt);
TotalChars += CurrentText.characters.length;
}
for (var TableCnt = 0; TableCnt < Frame.tables.length; TableCnt++) {
var CurrentTable = Frame.tables.item(0);
for ( var CellCnt = 0; CellCnt < CurrentTable.cells.length; CellCnt++ ) {
var CurrentCell = CurrentTable.cells.item(CellCnt);
TotalChars += CurrentCell.characters.length;
}
}
for (var FootNoteCnt = 0; FootNoteCnt < Frame.footnotes.length; FootNoteCnt++) {
var CurrentFootNote = Frame.footnotes.item(0);
TotalChars += CurrentFootNote.characters.length;
}
}
}
statReport.push ( "Characters: " + ( docCharacters + docFootnotesCharacters + docTablesCharacters ) );
statReport.push ( "TotalChars: " + TotalChars );
alert ( statReport.join ( "\r" ), "Document Text Statistic" );
解决方案
在第二种方法中,您将计算故事中文本框架内的所有字符。但是故事可能会被夸大(文本溢出)。第一种方法将计算溢出文本(因为您正在计算故事中的字符,但第二种方法将忽略这些,因为它只计算故事框架中的字符。
推荐阅读
- python - 如何在 xlsxwriter 中填充一块单元格?
- bash - 输出字段分隔符不一致
- python - 从 PySpark 写入的表中读取时,MySQL 表定义已更改错误
- javascript - 解决矩形和圆形之间的冲突
- java - 尽管代码中没有错误,但 JFrame 未显示
- c# - Selenium,从页面底部开始查找元素
- python - 如何在pytorch中运行一批?
- qt - 在 Visual Studio 中找不到 qml.ui 文件
- c - 我的 c 程序在要求用户输入后冻结。请帮忙。我已经尝试了一切
- javascript - html/css 图库 div - 如何在线显示文本