Generate PDF document

Hello,

I am using vb.net desktop app.
The requirement is to create PDF document from memorystream (system.bytes) data extracted from SQL Server. We have a table which saves images in bytes in sql datatabase.
I need to create PDF document from the memorystream.
I have tried PDFsharp , it does give me one page PDF but struggling to get multipage from it.
I am open to any software suitable.
The code I used with PDF sharp is this :
 Dim dtSQLImage As New DataTable
        Dim imagedt
        Dim imageData() As Byte

        Dim unicode = PdfFontEncoding.Unicode
        Dim embedding = PdfFontEncoding.Automatic

        Dim clsFrmain As New ClsFrmMainLoad

        dtSQLImage = DgFinanceImg.DataSource
        Dim pdfRenderer As PdfDocumentRenderer = New PdfDocumentRenderer(unicode, embedding)
        For j = 0 To dtSQLImage.Rows.Count - 1
            If j = DirectCast(sender, Telerik.WinControls.UI.RadGridView).CurrentRow.Index Then
                imageData = (dtSQLImage.Rows(j)(0))

                For i = 0 To 2

                    imageFilename = MigraDocFilenameFromByteArray(imageData)
                    document = New MigraDoc.DocumentObjectModel.Document
                    Dim pageSetup As MigraDoc.DocumentObjectModel.PageSetup = document.DefaultPageSetup.Clone
                    ' set orientation
                    pageSetup.Orientation = MigraDoc.DocumentObjectModel.Orientation.Landscape
                    Dim section As MigraDoc.DocumentObjectModel.Section = document.AddSection

                    Dim image = section.AddImage(imageFilename)

                    '  Image.Top = ShapePosition.Top
                    ' Image.Left = ShapePosition.Left
                    ' Image.WrapFormat.Style = WrapStyle.TopBottom
                    With section
                        .PageSetup.PageHeight = image.Height  ' ImageHeight
                        .PageSetup.PageWidth = image.Width
                        .PageSetup.TopMargin = 0
                        .PageSetup.LeftMargin = 0
                        .PageSetup.BottomMargin = 0
                        .PageSetup.RightMargin = 0
                        ' .AddImage(imageFilename)
                    End With
                    ' Associate the MigraDoc document with a renderer

                    pdfRenderer.Document = document
                    ' Layout and render document to PDF
                    pdfRenderer.RenderDocument()
                Next
            End If
        Next

        Dim filename As String = "C:\HelloWorld.pdf"
        Me.PdfView.UnloadDocument()
        pdfRenderer.PdfDocument.Save(filename)
        ' ...and start a viewer.
        Process.Start(filename)

        Me.PdfView.LoadDocument(filename)

Open in new window

RIASAsked:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

x
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

pcelbaCommented:
Example of multiple pages document is e.g. here: http://www.pdfsharp.net/wiki/MultiplePages-sample.ashx?AspxAutoDetectCookieSupport=1

Other options also exist.
Are you able to send the requested document to a printer?  If yes then you may use any PDF printer driver which supports paging obviously.

You may try e.g. BullZIP: http://www.bullzip.com/
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Ashutosh VyasIndividual Contributor, Software ArchitectCommented:
I have been using iTextSharp (https://github.com/itext/itextsharp)
Its quite intuitive to use and also has good community support around it.
0
pcelbaCommented:
Hmm... It can be acceptable for your personal testing but AGPL license and terms on the product site seem to be rather unfriendly and restrictive with unknown pricing.
0
RIASAuthor Commented:
Thanks!
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Visual Basic.NET

From novice to tech pro — start learning today.