2017-09-16 30 views
0

私は、ユーザーの入力に基づいて図を描画するパネルを持っています。残念ながら、ダイアグラムは本当に大きくなる可能性があります。私がそれらを印刷すると、読みやすさを失うことなく、1ページに完全に収まるわけではありません。PDFSharp、Vb.netを使用して複数のページにビットマップイメージを印刷

私はVB.net内でPDFsharpを使用してPDFを作成しています。現在の方法は、図が描かれたパネルをビットマップイメージに変換し、pdfドキュメントにイメージを配置することです。

1ダイアグラムは、パネルのサイズを1500,3000に簡単にすることができます。

Example of Diagram in PDF

Example of Diagramは、すべてのヘルプは大

 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 

答えて

0

シンプルなソリューションを高く評価している:Adobe Readerで複数の1ページに画像を印刷するには、 "ポスター" のダイアログクリックして印刷します。ズーム係数を大きくして、必要な数のページにポスターを配布します。

ビットマップサイズに比例してページサイズを増やすこともできます。

ところでGFX.DrawImageへの呼び出しで宛先サイズを指定する場合、GFX.ScaleTransform(0.82)は必要ありません。

関連する問題