Visualizador de PDF que pode ser controlado programaticamente (via dbus, pipe, etc)?

3

Existe um visualizador de PDF que eu possa controlar de um programa em Python, via dbus, um pipe ou algo similar?

Eu tenho um programa para apresentações que exibe minhas próprias anotações enquanto exibo um PDF em um projetor. Agora, meu programa gera mupdf e diz para navegar para frente ou para trás com coisas como

subprocess.call('xdotool search mupdf key Next'.split())

que funciona, mas parece frágil.

(o Evince tem algum suporte para o SyncTeX sobre o dbus, mas olhando para a fonte, parece que o Evince não expõe nenhuma outra função via dbus.)

Eu não quero reinventar a roda e fazer meu próprio visualizador de PDF. Existe algum visualizador que eu possa controlar do Python, usando qualquer tipo de comunicação entre processos razoável?

    
por Dan Drake 03.03.2015 / 17:29

1 resposta

0

Já que você mencionou slides de apresentação, que tal usar o OpenOffice ou o LibreOffice Impress? Você pode adicionar ligações de script do Python ao LibreOffice (no Ubuntu instale o pacote libreoffice-script-provider-python) NO ENTANTO, eu não sei o que o LibreOffice pode fornecer para chamá-lo de processos "externos". Presumivelmente, isso pode ser ainda mais "frágil", dependendo de como ele é implementado. As outras linguagens de script do LibreOffice (ou OpenOffice) também podem ser melhor suportadas - eu mencionei python só porque está lá.

Se você quiser exibir arquivos .pdf existentes, poderá importá-los para o Impress (talvez por meio do Draw).

    
por Tommy Trussell 04.03.2015 / 04:28

Tags