Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Ruben_Barbosa

PDF

Recommended Posts

Ruben_Barbosa

Bem pessoal este é o Meu codigo PDF

   'cria um novo PDF
        Dim relatorioPDF As New Report(New PdfFormatter)

        'define a fonte usada
        Dim fd As FontDef = New FontDef(relatorioPDF, FontDef.StandardFont.TimesRoman)
        Dim fp As FontProp = New FontPropMM(fd, 2.3)
        Dim fp2 As FontProp = New FontPropMM(fd, 2.8)
        Dim fb As FontProp = New FontPropMM(fd, 2.3, Color.Green)
        Dim fpTitulo As FontProp = New FontPropMM(fd, 3.5, Color.Green)
        Dim fpsubTitulo As FontProp = New FontPropMM(fd, 3.9, Color.Black)


        System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.WaitCursor

        'cria uma nova página
        Dim page As Page = New Page(relatorioPDF)

        'insere uma linha de texto
        page.AddCB_MM(20, New RepString(fpTitulo, "GUIA DE TRANSPORTE"))


        'page.AddAligned(485, 0, 50, 0, New RepString(fp, "Data: " & FormatDateTime(dtpData.Value, DateFormat.ShortDate)))
        'page.AddAligned(50, 0, 90, 0, New RepString(fp, "______________________________________________________________________________________________________"))
        page.AddAligned(50, 0, 110, 0, New RepString(fp2, "NºGuia: " & TextBox2.Text))
        page.AddAligned(50, 0, 140, 0, New RepString(fp2, "Dados da Empresa"))
        page.AddAligned(50, 0, 160, 0, New RepString(fp, "Nome da Empresa: " & TextBox6.Text))
        page.AddAligned(50, 0, 180, 0, New RepString(fp, "NIF da Empresa: " & TextBox7.Text))
        page.AddAligned(50, 0, 200, 0, New RepString(fp, " "))
        page.AddCB_MM(75, New RepString(fpsubTitulo, "Material"))
        Dim i As Object
        Dim val As Integer
        val = 230
        For i = 0 To ListView1.Items.Count - 1
            page.AddAligned(50, 0, 220, 0, New RepString(fp, "Descrição"))
            page.AddAligned(50, 0, val, 0, New RepString(fp, ListView1.Items.Item(i).SubItems(0).Text()))
            page.AddAligned(290, 0, 220, 0, New RepString(fp, "Quantidade"))
            page.AddAligned(290, 0, val, 0, New RepString(fp, ListView1.Items.Item(i).SubItems(1).Text()))
            page.AddAligned(420, 0, 220, 0, New RepString(fp, "Observações"))
            page.AddAligned(420, 0, val, 0, New RepString(fp, ListView1.Items.Item(i).SubItems(2).Text()))
            val = val + 10
        Next
        page.AddCB_MM(110, New RepString(fpsubTitulo, "Carga"))
        page.AddAligned(50, 0, 320, 0, New RepString(fp2, "Local de Carga"))
        page.AddAligned(50, 0, 340, 0, New RepString(fp, "Instalações: " & TextBox14.Text))
        page.AddAligned(50, 0, 360, 0, New RepString(fp, "Morada: " & TextBox15.Text))
        page.AddAligned(50, 0, 380, 0, New RepString(fp, "Data Carga: " & dtp.Text))
        page.AddAligned(300, 0, 320, 0, New RepString(fp2, "Local de Descarga"))
        page.AddAligned(300, 0, 340, 0, New RepString(fp, "Instalações: " & TextBox17.Text))
        page.AddAligned(300, 0, 360, 0, New RepString(fp, "Morada: " & TextBox18.Text))
        page.AddAligned(300, 0, 380, 0, New RepString(fp, "Data Descarga:" & TextBox16.Text))
        page.AddAligned(50, 0, 400, 0, New RepString(fp, " "))
        page.AddAligned(50, 0, 430, 0, New RepString(fp2, "Veiculo"))
        page.AddAligned(50, 0, 450, 0, New RepString(fp, "Marca Veiculo: " & TextBox3.Text))
        page.AddAligned(50, 0, 470, 0, New RepString(fp, "Matricula Veiculo: " & TextBox5.Text))

        System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.Default

        Try
            'RT.ViewPDF(relatorioPDF, "Listagem.pdf")
            relatorioPDF.Save("C:\Users\rbarbosa.LAMINAR\Desktop\Lami_" & "Guia" & ".pdf")
            Process.Start("C:\Users\rbarbosa.LAMINAR\Desktop\Lami_Guia.pdf")
        Catch ex As Exception
        End Try

Agora o que eu queria era inserir ai uma imagem mas nao sei como :|.

Share this post


Link to post
Share on other sites
ribeiro55

Numa coisa desse género, que não está na boca do mundo, acho que faz mais sentido procurares ajuda junto do Support desse produto:

http://www.pdfformatter.com/contact.asp

Ainda que o pessoal por aqui fique lisonjeado :)


Sérgio Ribeiro


"Great coders aren't born. They're compiled and released"
"Expert coders do not need a keyboard. They just throw magnets at the RAM chips"

Share this post


Link to post
Share on other sites
Ruben_Barbosa

page.AddCB_MM(20, New RepString(fpTitulo, image.fromfile(""))) ??? mas não da :|

Share this post


Link to post
Share on other sites
paulo silva

para gerar pdf's aconselho ItextSharp.dll free e muito mais simples de trabalhar com um bom tutorial online.

Cumprimentos Paulo Silva

Share this post


Link to post
Share on other sites
ribeiro55

E que tal deixar a solução, para a posterioridade? :(


Sérgio Ribeiro


"Great coders aren't born. They're compiled and released"
"Expert coders do not need a keyboard. They just throw magnets at the RAM chips"

Share this post


Link to post
Share on other sites
Ruben_Barbosa

Lamento so agora postar aqui a minha Solução.

Mas andei um bocado ocupado com a aplicação. Contudo Aqui vai :P .

Nota--> Mais vale tarde do que Nunca :thumbsup:

Aqui fica a Minha solução para inserção de imagem e não so no PDF atraves do VB.net.

1-Adicionar a Referencia reports.dll

2-No form fazer o Imports da Referencia

3- Por Fim o Codigo

  'cria um novo PDF
        Dim relatorioPDF As New Report(New PdfFormatter)

        'define a fonte usada
        Dim fd As FontDef = New FontDef(relatorioPDF, FontDef.StandardFont.TimesRoman)
        Dim fp As FontProp = New FontPropMM(fd, 2.3)
        Dim fp2 As FontProp = New FontPropMM(fd, 2.8)
        Dim fb As FontProp = New FontPropMM(fd, 2.3, Color.Green)
        Dim fpTitulo As FontProp = New FontPropMM(fd, 3.5, Color.Green)
        Dim fpsubTitulo As FontProp = New FontPropMM(fd, 3.9, Color.Black)
        Dim fpsubTitulo2 As FontProp = New FontPropMM(fd, 2.6, Color.Blue)

        System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.WaitCursor


        'cria uma nova página
        Dim page As Page = New Page(relatorioPDF)
        'insere uma linha de texto
        page.AddAligned(500, 0, 22, 0, New RepString(fpsubTitulo2, "ORIGINAL"))
        page.AddCB_MM(20, New RepString(fpTitulo, "GUIA DE TRANSPORTE"))
        page.AddAligned(400, 0, 100, 0, New RepString(fp2, "NºGuia: " & TextBox2.Text))
        page.AddAligned(50, 0, 80, 0, New Root.Reports.RepImage("H:\Documentos\ xxxx.jpg", 110, 120))
        page.AddAligned(110, 0, 90, 0, New RepString(fp2, "xxxxxx"))
        page.AddAligned(110, 0, 110, 0, New RepString(fp, "xxxxxx"))
        page.AddAligned(110, 0, 130, 0, New RepString(fp, "xxxxxx"))
        page.AddAligned(110, 0, 150, 0, New RepString(fp, "xxxxxx"))

        'page.AddAligned(485, 0, 50, 0, New RepString(fp, "Data: " & FormatDateTime(dtpData.Value, DateFormat.ShortDate)))
        'page.AddAligned(50, 0, 90, 0, New RepString(fp, "______________________________________________________________________________________________________"))

        page.AddAligned(50, 0, 220, 0, New RepString(fpsubTitulo, "Dados da Empresa"))
        page.AddAligned(50, 0, 240, 0, New RepString(fp, "Nome da Empresa: " & TextBox6.Text))
        page.AddAligned(50, 0, 260, 0, New RepString(fp, "NIF da Empresa: " & TextBox7.Text))
        page.AddAligned(50, 0, 280, 0, New RepString(fp, " "))
        page.AddCB_MM(110, New RepString(fpsubTitulo, "Material"))
        Dim i As Object
        Dim val As Integer
        val = 330
        For i = 0 To ListView1.Items.Count - 1
            page.AddAligned(50, 0, 320, 0, New RepString(fp, "Descrição"))
            page.AddAligned(50, 0, val, 0, New RepString(fp, ListView1.Items.Item(i).SubItems(0).Text()))
            page.AddAligned(320, 0, 320, 0, New RepString(fp, "Quantidade"))
            page.AddAligned(320, 0, val, 0, New RepString(fp, ListView1.Items.Item(i).SubItems(1).Text()))
            page.AddAligned(420, 0, 320, 0, New RepString(fp, "Observações"))
            page.AddAligned(420, 0, val, 0, New RepString(fp, ListView1.Items.Item(i).SubItems(2).Text()))
            val = val + 10
        Next
        page.AddCB_MM(150, New RepString(fpsubTitulo, "Carga"))
        page.AddAligned(50, 0, 430, 0, New RepString(fp2, "Local de Carga"))
        page.AddAligned(50, 0, 450, 0, New RepString(fp, "Instalações: " & TextBox14.Text))
        page.AddAligned(50, 0, 470, 0, New RepString(fp, "Morada: " & TextBox15.Text))
        page.AddAligned(50, 0, 490, 0, New RepString(fp, "Data Carga: " & dtp.Text))
        page.AddAligned(50, 0, 510, 0, New RepString(fp, "Hora Carga: " & dtptime.Text))
        page.AddAligned(320, 0, 430, 0, New RepString(fp2, "Local de Descarga"))
        page.AddAligned(320, 0, 450, 0, New RepString(fp, "Instalações: " & TextBox17.Text))
        page.AddAligned(320, 0, 470, 0, New RepString(fp, "Morada: " & TextBox18.Text))
        page.AddAligned(320, 0, 490, 0, New RepString(fp, "Data Descarga:" & TextBox16.Text))
        page.AddAligned(320, 0, 510, 0, New RepString(fp, "Hora DesCarga: " & TextBox19.Text))
        page.AddAligned(50, 0, 530, 0, New RepString(fp, " "))
        page.AddCB_MM(200, New RepString(fpsubTitulo, "Veiculo"))
        page.AddCB_MM(205, New RepString(fp, "Marca: " & TextBox3.Text))
        page.AddCB_MM(210, New RepString(fp, "Matricula: " & TextBox5.Text))


Share this post


Link to post
Share on other sites
apocsantos

    Peço desculpa pela resposta tardia.

    http://yasbmousehouse.blogspot.com/2009/10/itextsharp-em-visual-basic-dot-net.html

    Aqui fica o link para um blog com um exemplo super simples do uso de ItextSharp para gerar .pdf's.

Cordiais Cumprimentos


"A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito"

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.