簡體   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