
Eu realmente não gosto da caixa vermelha que indica um link. Eu gostaria de renderizar algum retângulo preenchido que aparece quando alguém passa o mouse. Obviamente, antes que o texto seja renderizado, você não poderá ver o que está escrito lá. Para ter uma visão melhor da minha ideia, quero algo assim por link, se você passar o mouse sobre ele:
Mas um branco limpo se você não passar o mouse. Como posso fazer isso acontecer?
Responder1
Esta é apenas uma resposta parcial, mas é uma espécie de roteiro sobre como isso pode ser alcançado.
Primeiro, observe que o hyperref
pacote não oferece uma “maneira padrão” de fazer tal coisa. Ele oferece apenas estilos de borda para links (incluindo sublinhar um link conforme explicado aqui:Como posso ter links coloridos e sublinhados com hiperref?). Uma das razões para isso pode ser que o padrão PDF oferece esses estilos de borda diretamente para anotações de links, mas para obter um estilo sem borda, você precisa usar fluxos de aparência e formar XObjects. A documentação de tais fluxos e objetos pode ser encontrada aqui:http://www.adobe.com/content/dam/Adobe/en/devnet/acrobat/pdfs/pdf_reference_1-7.pdf(comece na página 612 para fluxos de aparência e na página 355 para XObjects de formulário)
O que precisa ser feito é o seguinte: Descubra como deve ser a aparência da saída do PDF para que um link tenha uma cor de fundo (felizmente, os fluxos de aparência já oferecem três modos diferentes, incluindo um para ficar inativo e outro para passar o mouse sobre o objeto; assim, a "lógica de ação" que você precisa já está implementada dentro do padrão PDF e você só precisa fornecer os atributos que implementam a aparência desejada).
Em seguida, altere a parte correspondente do hyperref
pacote redefinindo alguns de seus comandos como na parte "automática" desta resposta:Como posso ter links coloridos e sublinhados com hiperref?
Você pode encontrar o código fonte do hyperref
pacote aqui:http://www.ctan.org/pkg/hyperref
Como tanto o padrão PDF quanto o hyperref
pacote são bastante grandes, pode levar uma quantidade significativa de tempo apenas para encontrar os atributos e comandos corretos onde conectar essas coisas.
Em qualquer caso, tal solução pode não funcionar com todos os visualizadores de PDF, pois a maioria deles não implementa tudo o que está escrito no padrão PDF. Contanto que você use apenas a cor de fundo, no entanto, ela pode funcionar para muitos visualizadores (mas nenhuma garantia é dada).