Como posso abrir um PDF em um aplicativo Android e permitir que os usuários usem os hiperlinks incorporados?

Estou criando um aplicativo Android que baixará e armazenará em cache arquivos PDF (os arquivos são para edições de uma revista e o formato de arquivo PDF é um requisito do cliente). Esses arquivos PDF terão hiperlinks que apontam para outros locais no PDF, bem como para os sites dos anunciantes, por isso é importante que os hiperlinks funcionem. Ao pesquisar esse problema, parece haver duas maneiras de implementar a apresentação de um PDF para um usuário:

Exija que o usuário tenha um aplicativo de visualização de PDF, crie um Intent e inicie o PDF no aplicativo de terceiroUtilize uma API de renderização de PDF para exibir o PDF nativamente no aplicativ

Para o primeiro método, ainda não encontrei um aplicativo gratuito de visualização de PDF que implemente hiperlinks. O Adobe Reader e outros (vuDroid, visualizador de PDF para Android, droidreader e até o Google Docs) apenas processam o PDF, mas não tornam os links clicáveis. Existem aplicativos que parecem ter suporte a hiperlink (ezPDF, repligo, QuickOffice e Documents to Go) que não são gratuitos, mas meu aplicativo não pode depender do usuário pagar por outro aplicativo para exibir o PDF.Existe algum aplicativo gratuito de visualização de PDF que suporte hiperlinks que eu ignorei?

Para o segundo método, vi recomendações para algumas APIs, nenhuma das quais está bem documentada ou tem exemplos / tutoriais que funcionam imediatamente para ajudar os desenvolvedores a entender como usá-las. Eu olhei para o muPDF, a porta itext para Android, PDFbox e o código-fonte do visualizador de PDF para Android.lguém conhece um exemplo simples e bom de uma dessas APIs (ou uma que eu não mencionei

Qualquer um desses procedimentos funcionaria bem, eu fiquei preso nos dois caminhos. Eu li que é difícil trabalhar com o formato PDF ao criar um aplicativo para renderizá-lo de forma nativa, por isso entendo se não há nada gratuito lá fora que atenda às minhas necessidades. Obrigado pela ajuda

questionAnswers(4)

yourAnswerToTheQuestion