Nota: Esta pergunta foi feita aqui antes, sem sucesso.
A capacidade do Org-mode de exibir imagens em linha é fantástica para escrever meus relatórios científicos semanais. Posso incluir gráficos, vinculá-los com seus dados, vincular com as conclusões e realmente aproveitar o poder do modo organizacional.
O único problema que tenho é que a organização precisa das imagens para usar formatos de imagem convencionais (jpeg, png, etc), enquanto eu prefiro que meus gráficos estejam em PDF.
Como posso exibir imagens PDF embutidas no modo organizacional?
Meu objetivo final é apenas escrever um link como este no modo organizacional:
[[file:~/Work/grap.pdf]]
E exibi-lo em linha exatamente como aconteceria se fosse um png.
Eu sei que eu poderia apenas ter uma cópia de cada gráfico em jpeg ou algo assim (que é o que eu faço agora), mas é um pouco complicado e sempre carrega o risco de o gráfico em pdf ser atualizado e me esquecer de atualizar o jpeg.
endless/update-includes
, se durantebefore-save-hook
, se você encontrar uma linha com#+NAME
ou#+CAPTION
com uma tag como:convertfrompdf
seguido por uma linha com[[SOMEFILE.EXT]]
, então você executar o Imagemagickconvert
função para converterSOMEFILE.pdf
aSOMEFILE.EXT
.Respostas:
NOTA : Você precisa ter o ImageMagick instalado no seu sistema (
convert
executável) para que esta solução funcione.Como esta solução é implementada
org-include-img-from-pdf
é o cavalo de batalha que faz a conversão do formato PDF para imagem usandoconvert
.# ()convertfrompdf:t
, será assumido que o usuário possui um arquivo pdf que deseja converter em um arquivo de imagem. O usuário deve colocar o comentário especial acima acima do link do arquivo de imagem, como mostrado no exemplo abaixo.O tipo de arquivo de imagem é determinado pela extensão do arquivo no link do suporte
[[./myimage.EXT]]
.Ao adicionar a
org-include-img-from-pdf
função abefore-save-hook
, essa função é executada toda vez que o usuário salva o arquivo (consulte o trecho elisp seguindo a definição da função abaixo).Exemplo de configuração
Neste exemplo de instalação, tenho os seguintes arquivos:
myimage.pdf
.Função para converter automaticamente PDF para arquivos de imagem
Configuração de gancho para especificar quando executar esta função
Código + MWE
fonte