Visual Basic 6 - Exibindo arquivos PDF em formulários Windows


Atualmente o PDF é um padrão muito popular para distribuição de documentos, mas concorre com outros dois formatos.

O ODF (OpenDocument Format) é um padrão aberto utilizado pela suíte OpenOffice.org e apoiado pela OASIS (Organization for the Advancement of Structured Information Standards).

O formato OOXML (Office Open XML) foi desenvolvido pela Microsoft e faz parte da suíte Office 2007. O OOXML foi padronizado pela ECMA International, outra organização voltada para a adoção de padrões de tecnologia.

A Adobe anunciou hoje que vai disponibilizar o padrão PDF 1.7 para aprovação da ISO (International Standards Organization).

As espeficicações do padrão PDF serão enviadas para a AIIM (Enterprise Content Management Association), órgão dedicado ao estabelecimento de padrões de tecnologias de uso corporativo. A AIIM será responsável por criar uma proposta de padronização do PDF, que será enviada à ISO.

A aprovação pela ISO seria um importante passo para a adoção do PDF como padrão global para a distribuição de documentos eletrônicos. Com a adoção do padrão pela entidade, outras empresas poderiam colaborar para a evolução do PDF. (Se a ISO aceitar, o PDF deve tornar-se o padrão para a troca de documentos eletrônicos na Internet. )

Além disso, o PDF teria a vantagem de ser mantido por uma organização desvinculada de uma única empresa ou governo. A ISO já gerencia alguns formatos derivados do PDF, como o PDF/A e PDF/X.

André Cardozo, da INFO

Se você já precisou exibir o conteúdo de arquivos PDF em formulários de sua aplicação Visual Basic e não sabe por onde começar vai ser surpreender com a facilidade que esta tarefa é realizada. Neste artigo vou mostrar o caminho das pedras...

Vamos criar um pequeno projeto contendo dois formulários de modo a mostrar como exibir o conteúdo de arquivos PDF em um formulário de uma aplicação Visual Basic.

Abra o Visual Basic 6 com service pack atualizado e crie um novo projeto Windows do tipo Standard EXE com o nome de exibePDF.vbp.

Altere o nome do formulário padrão form1.frm para frmPDF.frm.

No menu Project selecione a opção Add Form e inclua um formulário Windows com o nome de frmBsuca.frm

No menu Project selecione a opção Components (CTRL+T) e estando na guia Controls , marque a referência aos componentes:

  1. Microsoft Internet Controls
  2. Microsoft Common Dialog Control 6.0 (SP6)

conforme mostrado nas figuras abaixo:

Após realizar estas tarefas você terá disponível na barra de ferramentas os novos componentes referenciados conforme a figura abaixo:

Os componentes referenciados que iremos usar em nosso projeto são:

- O WebBrowser - wbrs1

- O CommonDialog - cmdlg1

No formulário frmBusca inclua um botão de comando - cmdProcurar - e o controle CommonDialog e altere o seu nome para cmdlg1.

A seguir inclua o código abaixo no evento Click do botão de comando:

Private Sub cmdProcurar_Click()

On Error GoTo Trataerro

Dim arq As String



'define o titulo do diálogo
cmdlg1.DialogTitle = "Procurar Arquivos .pdf"

'define o caminho inicial

cmdlg1.InitDir = App.Path

'define o filtro para exibir os arquivos
arq = "Arqs. PDF(*.pdf)|*.pdf|Todos " & "Arqs. (*.*)|*.*"

cmdlg1.Filter = arq
cmdlg1.FilterIndex = 1

' ---------------------------------------------------------------------------
' cdlOFNFileMustExist: selecionar somente arquivos que existam
' cdlOFNHideReadOnly : exibe arquivos que possuem o atributo: Somente Leitura
' cdlOFNLongNames : exibe nome de arquivos longos
' cdlOFNExplorer : usa a interface estilo do Explorer
' ---------------------------------------------------------------------------

cmdlg1.Flags = cdlOFNFileMustExist + cdlOFNHideReadOnly + cdlOFNLongNames + cdlOFNExplorer

'dispara um erro se não for selecionado algo

cmdlg1.CancelError = True

'abre a caixa de diálogo Abrir Arquivo
cmdlg1.ShowOpen

'exibe o formulario
frmPDF.Show

 cmdlg1.CancelError = True

Trataerro:
MsgBox "SVocê deve selecionar um arquivo PDF..."

End Sub

No formulário frmPDF inclua o componente WebBrowser1 e altere o seu nome para wbrs1.

A seguir inclua no evento Load deste formulário o seguinte código:

Private Sub Form_Load()

'define o tamanho do formulário e do controle WebBrowser Maximizados
frmPDF.WindowState = 2 'Maximizado
wbrs1.Width = 15360
wbrs1.Height = 11520

'exibe o arquivo pdf selecionado no formulário anterior
wbrs1.Navigate frmBusca.cmdlg1.FileName

End Sub

Defina na janela Project exibePDF Properties a formulário frmBusca como sendo o Startup Object do projeto:

Ao executar o projeto o formulário frmBusca será exibido. O usuário irá clicar no botão de comando e selecionar um arquivo .PDF que será exibido no formulário frmPDF da aplicação:

O arquivo PDF será exibido no componente WebBrowser do formulário conforme figura abaixo:

Simples, prático e objetivo : Visual Basic.

Pegue  o projeto completo aqui: pdfVB.zip

Para saber mais sobre o assunto: arquivos PDF e Visual Basic, veja os artigos:

No Super DVD Visual Basic você encontra recursos de aprendizado para a linguagem Visual Basic e mais de 100 programas com o código fonte aberto para estudo. Confira !

Até o próximo artigo...

Veja os Destaques e novidades do SUPER DVD Visual Basic (sempre atualizado) : clique e confira !

Quer migrar para o VB .NET ?

Quer aprender C# ??


José Carlos Macoratti