2017-09-16 8 views
0

J'ai un panneau qui dessine un diagramme basé sur l'entrée de l'utilisateur. Malheureusement, les diagrammes peuvent devenir vraiment très gros, et quand je les imprime, ils ne tiennent pas entièrement sur une seule page sans perte de lisibilité. J'utilise PDFsharp dans VB.net pour créer le fichier PDF. La méthode actuelle est le tour dans lequel le diagramme est dessiné sur une image bitmap, puis placez l'image dans le document pdf.Impression d'une image bitmap sur plusieurs pages à l'aide de PDFSharp, Vb.net

1 diagramme peut facilement faire la taille du panneau 1500,3000.

Example of Diagram

Example of Diagram in PDF

Toute aide est grandement appréciée

 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 

Répondre

0

solution simple: dans Adobe Reader Imprimer dialogue, cliquez sur "Affiche" pour imprimer l'image sur plus de 1 page. Augmentez le facteur de zoom pour distribuer l'affiche sur autant de pages que nécessaire.

Vous pouvez également augmenter la taille de la page proportionnellement à la taille de l'image.

BTW: Vous n'avez pas besoin de GFX.ScaleTransform(0.82) si vous spécifiez la taille de destination dans l'appel à GFX.DrawImage.