Parâmetro cParent do Adobe Reader TypeError, “tipo de argumento inválido”, mas exibem itens do menu

0

Eu escrevi alguns scripts personalizados para o Adobe Acrobat Pro (eu trabalho com muitos PDFs para pesquisa científica) e eles rodam muito bem no Mac e no Windows. O Linux só tem o Adobe Reader, mas ainda consegui obter os itens de menu exibidos no menu de arquivos na inicialização, como mostrado na captura de tela do arquivo Leiame em link (no Windows).

Como não há menção ao Linux nos documentos do Acrobat (presumivelmente, uma vez que somente o Reader está disponível em vez do Acrobat completo), não consigo colocar meus arquivos para permitir a execução das permissões adequadas (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 correto, pois não é específico do usuário 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 - eu 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
    
por Louis Maddox 03.07.2014 / 23:10

1 resposta

0

O cParent que você especificou não é um item de menu no Acrobat / Reader. Você precisa especificar um item de menu válido.

Além disso, você pode verificar na documentação do Acrobat JavaScript se o setPageBoxes está disponível para o Reader (supondo que você tenha executado o script no Reader).

    
por 04.07.2014 / 01:12