none
insertar pdf o jpg RRS feed

  • Pregunta

  • tengo una aplicacion en visual net con sql express 2005 para los informes utilizo crystal report

    el problema es que tengo que hacer un informe que lleve un fichero con un pdf o un jpg (es el dibujo de un plano)

    la cuestion es que este fichero es variable y no lo puedo insertar directamente sino que depende del articulo que sea ira un plano u otro

    ¿como lo puedo hacer? ¿es mejor pdf o jpg?

    gracias


    Aran

    miércoles, 24 de septiembre de 2014 9:25

Todas las respuestas

  • por favor nadie puede aportar alguna ayuda??

    seguro que este caso a alguien se le ha dado no?

    gracias


    Aran

    lunes, 29 de septiembre de 2014 15:26
  • Hola:
    En un Form con 1 Button y 1 CrystalReportViewer, copia y pega el siguiente codigo
    Imports System.IO

    Public Class Form1
        Dim mDataTable As New DataTable

        Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
            ' Creamos una columna, y la añadimos al objeto DataTable.
            Dim lDataColumn As DataColumn
            lDataColumn = New DataColumn("FOTO", GetType(Byte()))
            mDataTable.Columns.Add(lDataColumn)
            Me.WindowState = FormWindowState.Maximized
        End Sub

        Private Sub btnCargar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCargar.Click
            Dim ofdImagem As New OpenFileDialog
            If ofdImagem.ShowDialog = Windows.Forms.DialogResult.OK Then
                Try
                    'Crar uma nueva instancia del informe
                    Dim rptImagen As New CrystalReport1
                    Dim laBytImagen() As Byte = lF_ByteCargaImagen(ofdImagem.FileName)
                    Dim lDataRow As DataRow = mDataTable.NewRow
                    ' Añadimos los datos
                    lDataRow.Item("FOTO") = laBytImagen
                    ' Agregamos el registros a la colección Rows
                    mDataTable.Rows.Add(lDataRow)
                    'Usa el datatable como fuente de dados para el informe
                    rptImagen.SetDataSource(mDataTable)
                    'Muestra el informe en el reportviewer
                    Me.CrystalReportViewer1.ReportSource = rptImagen
                Catch ex As Exception
                    'captura alguna excepcion
                    MessageBox.Show("Alguna cosa ha errado, verifique... : " & ex.Message)
                End Try
            End If
        End Sub

        Private Function lF_ByteCargaImagen(ByVal fileName As String) As Byte()
            'Método para cargar una imagen del disco y retornarla como um byteStream
            Dim fs As FileStream = New FileStream(fileName, FileMode.Open, FileAccess.Read)
            Dim br As BinaryReader = New BinaryReader(fs)
            Return (br.ReadBytes(Convert.ToInt32(br.BaseStream.Length)))
        End Function
    End Class

    P.D.
    El ejemplo tiene un fichero rpt llamado CrystalReport1 que solo tiene un campo, te muestro una imagen


    Un saludo desde Bilbo
    Carlos

    viernes, 17 de octubre de 2014 11:21