Adobe Reader cParent 매개변수 TypeError, "잘못된 인수 유형"이지만 메뉴 항목이 표시됨

Adobe Reader cParent 매개변수 TypeError, "잘못된 인수 유형"이지만 메뉴 항목이 표시됨

저는 Adobe Acrobat Pro(과학 연구를 위해 많은 PDF로 작업함)용 사용자 정의 스크립트를 작성했는데 Mac과 Windows에서 잘 실행됩니다. Linux에는 Adobe Reader만 있지만 Readme 파일의 스크린샷에 표시된 것처럼 시작 시 파일 메뉴 내에 메뉴 항목이 표시되도록 관리할 수 있었습니다.https://github.com/lmmx/CropScience(윈도우즈에서).

Acrobat 문서에 Linux에 대한 언급이 없기 때문에(아마도 전체 Acrobat이 아닌 Reader만 사용할 수 있기 때문일 것임) (클릭 시) 적절한 실행 권한을 허용하기 위해 파일을 어디에 두어야 할지 조금 혼란스럽습니다.

학술 저널 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에는 다음 내용만 포함되어 있습니다.��({})

TypeError가 없다고 추측하겠습니다. 버튼 중 하나를 클릭할 때 참조되는 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의 메뉴 항목이 아닙니다. 유효한 메뉴 항목을 지정해야 합니다.

또한 Reader에서 setPageBoxes를 사용할 수 있는지 여부를 Acrobat JavaScript 설명서에서 확인할 수 있습니다(Reader에서 스크립트를 실행했다고 가정).

관련 정보