繁体   English   中英

在 Adob​​e Acrobat Javascript 中,如何在脚本的某个部分对其进行操作之前强制页面变为“可编辑”?

[英]In Adobe Acrobat Javascript, how can I force a page to become "editable" before a certain part of a script acts upon it?

我想要做的是:遍历 PDF 中的每一页,并提取每页上的字数。
发生了什么:下面的代码将为任何尚未变为“可编辑”的页面返回 0 个单词。 尽管我已选择让所有页面立即变为可编辑状态,但 Adob​​e 不会在我离开该页面后很长时间内保持该页面的可编辑性。 旁注:它似乎也限制了我一次可以“编辑”的页面数量。 这是一个问题,因为现在我正在处理一个 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

注意:不同的页面可能会在不同的时间处理输出,具体取决于我在运行脚本之前最近单击的页面。

任何指导或帮助将不胜感激。 谢谢你的时间。

所以。 我仍然不完全确定问题是什么,但我已经找到了一种让 acrobat 大部分时间都能正常工作的方法。

在单击“使所有页面可编辑”选项之前,一直缩小,直到您可以看到文档中的所有页面。 无论出于何种原因,当我这样做时,它似乎会刷新有关设置的某些内容,并再次使所有页面均可编辑。 当我打开一个完全不同的 pdf 并按下“使所有页面可编辑”时,即使不缩小,这似乎也有效。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM