2017-06-20 51 views
1

這是我第一次在Adobe Pro中使用Actions。我想..如何使用Adobe XI Pro基於PDF中的短語刪除頁面?

  1. 刪除PDF中包含任何以下字符串 (總計,Word文檔,Excel電子表格)的在Adobe Pro的PDF文件的所有頁面。
  2. 從整個PDF中的所有頁面中刪除常用字符串(CSI,導出,導入)。

以下代碼在線和地址#1中找到,但是基於1個字符串提取頁面,我無法使其工作,我還希望運行多個字符串並刪除頁面。

// Iterates over all pages and find a given string and extracts all 

// pages on which that string is found to a new file. 



var pageArray = []; 



var stringToSearchFor = "Total"; 



for (var p = 0; p < this.numPages; p++) { 

// iterate over all words 

for (var n = 0; n < this.getPageNumWords(p); n++) { 

if (this.getPageNthWord(p, n) == stringToSearchFor) { 

pageArray.push(p); 

break; 

} 

} 

} 



if (pageArray.length > 0) { 

// extract all pages that contain the string into a new document 

var d = app.newDoc(); // this will add a blank page - we need to remove that once we are done 

for (var n = 0; n < pageArray.length; n++) { 

d.insertPages({ 

nPage: d.numPages-1, 

cPath: this.path, 

nStart: pageArray[n], 

nEnd: pageArray[n], 

}); 

} 



    // remove the first page 

    d.deletePages(0); 



} 

回答

1
  1. 一個字,兩個字的詞組選擇。

一個字:

for (var p=this.numPages-1; p>=0; p--) { 
    if (this.numPages==1) break; 
    for (var n=0; n<this.getPageNumWords(p)-1; n++) { 
     if (this.getPageNthWord(p, n) == "one-word") { 
      this.deletePages(p); 
      break; 
     } 
    } 
} 

雙字:

for (var p=this.numPages-1; p>=0; p--) { 
    if (this.numPages==1) break; 
    for (var n=0; n<this.getPageNumWords(p)-1; n++) { 
     if (this.getPageNthWord(p, n) == "1st-word" && this.getPageNthWord(p, n+1) == "2nd-word") { 
      this.deletePages(p); 
      break; 
     } 
    } 
} 
  • 在Adobe XI Pro中,工具 - >保護 - >搜索&刪除文本
  • +0

    這個工作時,我創建了一個自定義操作與此代碼作爲JavaScript,但它在從控制檯運行(Ctrl + J)之前一直工作,直到我刪除了所有換行符。 – ChrisB

    相關問題