Exibindo um arquivo PDF em um formulário VB.NET

Os arquivos PDF têm um formato de documento interno que requer um objeto de software que "entenda" o formato. Como muitos de vocês podem ter usado as funções do Office em seu código VB, vejamos brevemente o Microsoft Word como um exemplo de processamento de um documento formatado para garantir a compreensão do conceito. Se você deseja trabalhar com um documento do Word, adicione uma Referência à Biblioteca de Objetos do Microsoft Word 12.0 (para Word 2007) e instancie o objeto Aplicativo do Word no seu código.

 Dim myWord As Microsoft. Escritório. Interop. Palavra. ApplicationClass
Inicie o Word e abra o documento.
myWord = CreateObject ("Word. Inscrição")
minha palavra. Visible = True
minha palavra. Documentos. Abrir ("C: \ myWordDocument.docx")

("" deve ser substituído pelo caminho real do documento para que esse código funcione no seu PC.)

A Microsoft usa a Biblioteca de Objetos do Word para fornecer outros métodos e propriedades para seu uso. Leia o artigo Interoperabilidade COM.NET no Visual Basic para entender mais sobre a interoperabilidade do Office COM.

instagram viewer

Mas os arquivos PDF não são uma tecnologia da Microsoft. PDF - Portable Document Format - é um formato de arquivo criado pela Adobe Systems para troca de documentos. Durante anos, foi totalmente proprietário e você teve que adquirir um software que pudesse processar um arquivo PDF da Adobe. Em 1º de julho de 2008, o PDF foi finalizado como um padrão internacional publicado. Agora, qualquer pessoa pode criar aplicativos que possam ler e gravar arquivos PDF sem ter que pagar royalties à Adobe Systems. Se você planeja vender seu software, ainda pode ser necessário obter uma licença, mas a Adobe fornece isenção de royalties. (A Microsoft criou um formato diferente chamado XPS, baseado em XML. O formato PDF da Adobe é baseado em Postscript. O XPS se tornou um padrão internacional publicado em 16 de junho de 2009.)

Os usos do PDF

Como o formato PDF é um concorrente da tecnologia da Microsoft, eles não fornecem muito suporte e você precisa obter um objeto de software que "entenda" o formato PDF de alguém que não seja a Microsoft no momento. A Adobe retribui o favor. Eles também não suportam muito bem a tecnologia da Microsoft. Citando a documentação mais recente (outubro de 2009) do Adobe Acrobat 9.1, "No momento, não há suporte para o desenvolvimento de plug-ins usando linguagens gerenciadas como C # ou VB.NET. "(Um" plug-in "é um software sob demanda componente. O plug-in da Adobe é usado para exibir PDFs em um navegador. ")

Como o PDF é um padrão, várias empresas desenvolveram software à venda que você pode adicionar ao seu projeto que fará o trabalho, incluindo a Adobe. Há também vários sistemas de código aberto disponíveis. Você também pode usar as bibliotecas de objetos do Word (ou Visio) para ler e gravar arquivos PDF, mas usar esses grandes sistemas por apenas isso exigirá programação extra, também possui problemas de licença e tornará seu programa maior do que o necessário. estar.

Assim como você precisa comprar o Office antes de aproveitar o Word, também precisa comprar a versão completa do Acrobat antes de poder aproveitar mais do que apenas o Reader. Você usaria o produto Acrobat completo da mesma maneira que outras bibliotecas de objetos, como o Word 2007 acima, são usadas. Por acaso não tenho o produto Acrobat completo instalado, então não pude fornecer nenhum exemplo testado aqui.

Como

Mas se você precisar exibir apenas arquivos PDF em seu programa, a Adobe fornecerá um controle COM ActiveX que você poderá adicionar à Caixa de Ferramentas VB.NET. Ele fará o trabalho de graça. É o mesmo que você provavelmente usa para exibir arquivos PDF de qualquer maneira: o Adobe Acrobat PDF Reader gratuito.

Para usar o controle Reader, primeiro verifique se você baixou e instalou o Acrobat Reader gratuito da Adobe.

Etapa 2 é adicionar o controle à caixa de ferramentas do VB.NET. Abra o VB.NET e inicie um aplicativo Windows padrão. (A "próxima geração" de apresentação da Microsoft, WPF, ainda não funciona com esse controle. Desculpe!) Para fazer isso, clique com o botão direito do mouse em qualquer guia (como "Controles comuns") e selecione "Escolher itens ..." no menu de contexto que é exibido. Selecione a guia "Componentes COM" e clique na caixa de seleção ao lado de "Adobe PDF Reader" e clique em OK. Você deve rolar para baixo até a guia "Controles" na Caixa de ferramentas e ver o "Adobe PDF Reader" lá.

Agora basta arrastar o controle para o Windows Form na janela de design e dimensioná-lo adequadamente. Para este exemplo rápido, não adicionarei nenhuma outra lógica, mas o controle tem muita flexibilidade que eu mostrarei como descobrir mais tarde. Neste exemplo, apenas carregarei um PDF simples que criei no Word 2007. Para fazer isso, adicione esse código ao procedimento de evento Load do formulário:

 Console. WriteLine (AxAcroPDF1.LoadFile (_
"C: \ Users \ Temp \ SamplePDF.pdf"))

Substitua o caminho e o nome do arquivo PDF no seu próprio computador para executar este código. Eu exibi o resultado da chamada nas janelas Saída apenas para mostrar como isso funciona. Aqui está o resultado:


Clique aqui para exibir a ilustração
Clique no botão Voltar no seu navegador para retornar

Se você deseja controlar o Reader, também existem métodos e propriedades no controle. Mas o pessoal da Adobe fez um trabalho melhor do que eu. Faça o download do Adobe Acrobat SDK no centro de desenvolvedores ( http://www.adobe.com/devnet/acrobat/). O programa AcrobatActiveXVB no diretório VBSamples do SDK mostra como navegar em um documento, obter os números de versão do software Adobe que você está usando e muito mais. Se você não possui o sistema Acrobat completo instalado - o qual deve ser adquirido da Adobe - não será possível executar outros exemplos.

instagram story viewer