我正在尝试做的事情:遍历 PDF 中的每一页,并提取每页上的字数。
发生了什么:下面的代码将为任何尚未“可编辑”的页面返回 0 个单词。尽管我已选择让所有页面立即变为可编辑,但在我离开该页面后,Adobe 不会在很长时间内保持页面的可编辑性。旁注:它似乎也限制了我一次可以“可编辑”的页面数量。这是一个问题,因为现在我正在处理一个 10 页的 pdf 文件选择。相同的代码必须适用于 120 多页的 pdf。请点击“编辑 PDF”-->“扫描的文档”-->“设置”,看看我所说的“可编辑”是什么意思。我已经选择了让所有页面立即变为可编辑的选项。
到目前为止我尝试过的:我尝试了各种方法让 Acrobat 使页面在“活动页面”上进行迭代,以便它可以编辑。我尝试在 for 循环的每次迭代后手动设置页码,并在示例代码中包含一个人工延迟,例如 h 变量 for 循环。我已经尝试寻找某种方法来确定哪个页面是“活动页面”,但到目前为止我还没有运气。
CurrDoc = app.activeDocs[0]
CurrDoc.title;
NumPagesInDoc = CurrDoc.numPages;
console.println("Document has "+NumPagesInDoc+" pages");
for (j=0; j<NumPagesInDoc; j++)
{
NumWordsOnPage = CurrDoc.getPageNumWords(j);
CurrDoc.pageNum = j;
for(h=0; h<10000;h++); //<--I've tried adding in delays to give time so that
//Acrobat can catch up, but this hasn't worked.
console.println("Page number: "+j+" has this number of words: "+ NumWordsOnPage);
};
输出:
Document has 10 pages
Page number: 0 has this number of words: 309
Page number: 1 has this number of words: 0
Page number: 2 has this number of words: 0
Page number: 3 has this number of words: 0
Page number: 4 has this number of words: 0
Page number: 5 has this number of words: 0
Page number: 6 has this number of words: 0
Page number: 7 has this number of words: 0
Page number: 8 has this number of words: 0
Page number: 9 has this number of words: 158
true
注意:不同的页面可能会在不同的时间处理输出,这取决于我在运行脚本之前最近单击了哪些页面。
任何指导或帮助将不胜感激。谢谢你的时间。