Escrevi alguns scripts personalizados para Adobe Acrobat Pro (trabalho com muitos PDFs para pesquisas científicas) e eles funcionam perfeitamente em Mac e Windows. O Linux só tem Adobe Reader, mas ainda consegui exibir os itens de menu no menu de arquivo na inicialização, conforme mostrado na captura de tela do arquivo Leiame emhttps://github.com/lmmx/CropScience(no Windows).
Como não há menção ao Linux nos documentos do Acrobat (presumivelmente porque apenas o Reader está disponível em vez do Acrobat completo), estou um pouco sem saber onde colocar meus arquivos para permitir que eles tenham as permissões adequadas para execução (quando clicados).
Um exemplo de script, "CropPrintNature.js" correspondente às configurações da revista acadêmica Nature:
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();"});
Mudei-os de /opt/Adobe/Reader9/Reader/Javascripts para ~/.adobe/Acrobat/9.0/Javascripts e ainda não funciona (mas acho que este deve ser o local certo, pois é específico do usuário e não de todo o sistema .
Dentro desta última pasta, glob.js está vazio e glob.settings.js contém apenas��({})
Eu diria que não há nenhum TypeError - posso ver o botão Cortar e Imprimir que deve corresponder a um elemento cParent referenciado ao clicar em um dos botões - em vez disso, há uma tentativa de acessar algo fora de seu nível de privilégio como a última mensagem (que registra no console quando um botão é clicado).
Preciso movê-los ou adicionar algum arquivo de configuração...? O final do log do console é o seguinte:
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
Responder1
O cParent que você especificou não é um item de menu no Acrobat/Reader. Você deve especificar um item de menu válido.
Além disso, você pode verificar na documentação do Acrobat JavaScript se setPageBoxes está disponível para o Reader (assumindo que você executou o script no Reader).