2017-09-16 1 views
0

Ich habe ein Panel, das ein Diagramm basierend auf Benutzereingaben zeichnet. Leider können die Diagramme wirklich sehr groß werden, und wenn ich sie drucke, passt es nicht ganz auf eine einzelne Seite, ohne die Lesbarkeit zu verlieren.Drucken Bitmap-Bild über mehrere Seiten mit PDFSharp, Vb.net

Ich benutze PDFsharp in VB.net, um das PDF zu erstellen. Die aktuelle Methode ist das Panel, in dem das Diagramm auf ein Bitmap-Bild gezeichnet wird, und dann das Bild in das PDF-Dokument.

1 Diagramm kann die Verkleidung 1500,3000 in der Größe leicht bilden.

Example of Diagram

Example of Diagram in PDF

Jede Hilfe sehr geschätzt

 Dim pdfdoc As New PdfDocument 
     Dim page As PdfPage = pdfdoc.AddPage 
     Dim Bitmap As Bitmap = New Bitmap(pnl_Draw.Width, pnl_Draw.Height) 
     Dim BXImage As XImage 
     Dim GFX As XGraphics 
     Me.pnl_Draw.DrawToBitmap(Bitmap, New Rectangle(0, 0, Bitmap.Width, Height)) 
     Dim pbx As New PictureBox 
     pbx.Image = Bitmap 
     BXImage = XImage.FromGdiPlusImage(pbx.Image) 
     GFX = XGraphics.FromPdfPage(page) 
     GFX.ScaleTransform(0.82) 
     GFX.DrawImage(BXImage, 0, 0) 
     GFX.Dispose() 
     pdfdoc.Save("G:\test.pdf") 
     pdfdoc.Close() 
     Try 
      Process.Start("G:\test.pdf") 
     Catch ex As Exception 
     End Try 

Antwort

0

Einfache Lösung: im Adobe-Reader auf "Poster" Dialog klicken Sie drucken das Bild drucken auf mehr als 1 Seite. Erhöhen Sie den Zoomfaktor, um das Poster auf beliebig vielen Seiten zu verteilen.

Sie können die Seitengröße auch proportional zur Bitmapgröße erhöhen.

BTW: Sie benötigen GFX.ScaleTransform(0.82) nicht, wenn Sie die Zielgröße in dem Aufruf an GFX.DrawImage angeben.

Verwandte Themen