We use cookies to give you the best experience on our website. If you continue to browse, then you agree to our privacy policy and cookie policy. (Last updated on: November 16, 2018).
Unfortunately, activation email could not send to your email. Please try again.
Syncfusion Feedback

Export Diagram to PDF in multiple Page

Platform: WinForms |
Control: Diagram |
Published Date: June 30, 2016 |
Last Revised Date: May 31, 2019

Export Diagram to PDF in multiple Pages

Syncfusion Diagram has the support to convert the Diagram into PDF format in multiple pages using Syncfusion’s PDF.Base Dll. Initially need to create an Empty Pdf document and add/create pages for the created document based on the diagram size.

Required Dll:

Syncfusion.Pdf.Base

The below code snippet is used to convert the Diagram into PDF format.

[C#]

 

//Creation of PDF document
Syncfusion.Pdf.PdfDocument pdfdoc = new Syncfusion.Pdf.PdfDocument();
float height = 0;
Image img = null;
Graphics gfx;
RectangleF rectBounding = RectangleF.Empty;
while (height < diagram1.Model.Size.Height)
{
//Adds pages for the created PDF Document
pdfdoc.Pages.Add();
img = new Bitmap((int)diagram1.Model.Size.Width, (int)pdfdoc.Pages[pdfdoc.Pages.Count - 1].Size.Height);
gfx = Graphics.FromImage(img);
rectBounding = new RectangleF(0, height, img.Width, img.Height);
this.diagram1.ExportDiagramToGraphics(gfx, rectBounding);
//Creation of PDF image
PdfImage pdfImage = Syncfusion.Pdf.Graphics.PdfImage.FromImage(img);
//Placing the Diagram
pdfdoc.Pages[pdfdoc.Pages.Count - 1].Graphics.DrawImage(pdfImage, new PointF(0.0F, 0.0F), pdfdoc.Pages[pdfdoc.Pages.Count - 1].GetClientSize());
height += rectBounding.Height;
}
//Saving the PDF file
pdfdoc.Save(saveFileDialog1.FileName);

 

[VB]

 

'Creation of PDF document
Dim pdfdoc As New Syncfusion.Pdf.PdfDocument()
Dim height As Single = 0
Dim img As Image = Nothing
Dim gfx As Graphics
Dim rectBounding As RectangleF = RectangleF.Empty
Do While height < diagram1.Model.Size.Height
'Adds pages for the created PDF Document
pdfdoc.Pages.Add()
img = New Bitmap(CInt(Fix(diagram1.Model.Size.Width)), CInt(Fix(pdfdoc.Pages(pdfdoc.Pages.Count - 1).Size.Height)))
gfx = Graphics.FromImage(img)
rectBounding = New RectangleF(0, height, img.Width, img.Height)
Me.diagram1.ExportDiagramToGraphics(gfx, rectBounding)
'Creation of PDF image
Dim pdfImage As PdfImage = Syncfusion.Pdf.Graphics.PdfImage.FromImage(img)
'Placing the Diagram
pdfdoc.Pages(pdfdoc.Pages.Count - 1).Graphics.DrawImage(pdfImage, New PointF(0.0F, 0.0F), pdfdoc.Pages(pdfdoc.Pages.Count - 1).GetClientSize())
height += rectBounding.Height
Loop
'Saving the PDF file
pdfdoc.Save(saveFileDialog1.FileName)

 

Please refer the below attached sample.

Sample 

2X faster development

The ultimate WinForms UI toolkit to boost your development speed.
ADD COMMENT
You must log in to leave a comment

Please sign in to access our KB

This page will automatically be redirected to the sign-in page in 10 seconds.

Up arrow icon

Warning Icon You are using an outdated version of Internet Explorer that may not display all features of this and other websites. Upgrade to Internet Explorer 8 or newer for a better experience.Close Icon