Adobe Reader cParent 參數類型錯誤,“參數類型無效”,但顯示選單項

Adobe Reader cParent 參數類型錯誤,“參數類型無效”,但顯示選單項

我為 Adob​​e Acrobat Pro 編寫了一些自訂腳本(我使用大量 PDF 進行科學研究),它們在 Mac 和 Windows 上運作得很好。 Linux 只有 Adob​​e Reader,但我仍然設法在啟動時在文件選單中顯示選單項,如自述文件的螢幕截圖所示https://github.com/lmmx/CropScience(在 Windows 上)。

由於 Acrobat 文件中沒有提到 Linux(大概是因為只有 Reader 可用,而不是完整的 Acrobat),我有點不知該將文件放在哪裡,以允許它們有足夠的權限運行(單擊時)。

與學術期刊 Nature 的設定相對應的範例腳本「CropPrintNature.js」:

app.addMenuItem({cName:"Crop for Nature (articles and ed.)",cParent:"Crop and Print", cExec:"for(var p=0;p<n();p++){o=a().getPageBox('BBox',p);o[0]+=34;o[1]-=37;o[2]-=33;o[3]+=22;if(p==0){o[1]-=38}for(b=0;b<4;b++){a().setPageBoxes(d[b],p,p,o)}};this.print();"});

我將它們從/opt/Adobe/Reader9/Reader/Javascripts 移至~/.adobe/Acrobat/9.0/Javascripts ,但仍然不起作用(但我認為這應該是正確的位置,因為它是特定於用戶的而不是系統範圍的。

在後一個資料夾中,glob.js 是空的,glob.settings.js 只包含��({})

我猜沒有任何類型錯誤 - 我可以看到“裁剪和打印”按鈕,它應該對應於單擊其中一個按鈕時引用的 cParent 元素 - 相反,試圖訪問其權限級別之外的內容作為最後一條消息(單擊按鈕時記錄到控制台)。

我需要移動它們,或添加一些配置文件......?控制台日誌結尾如下:

App.addMenuItem:1:Folder-Level:User:CropPrintAnnuRev.js
 ===> Parameter cParent.
TypeError: Invalid argument type.
App.addMenuItem:1:Folder-Level:User:CropPrintBriefBioinfo.js
 ===> Parameter cParent.
TypeError: Invalid argument type.
App.addMenuItem:1:Folder-Level:User:CropPrintJMolBioEarly.js
 ===> Parameter cParent.
TypeError: Invalid argument type.
App.addMenuItem:1:Folder-Level:User:CropPrintAAutoBoundaries.js
 ===> Parameter cParent.
NotAllowedError: Security settings prevent access to this property or method.
Doc.setPageBoxes:1:Menu Crop for Nature Rev. Mol. Cell. Bio.:Exec

答案1

您指定的 cParent 不是 Acrobat/Reader 中的選單項目。您必須指定一個有效的選單項目。

另外,您可以在 Acrobat JavaScript 文件中檢查 setPageBoxes 是否可用於 Reader(假設您已在 Reader 中執行腳本)。

相關內容