Articles in this section
Category / Section

Export Diagram to PDF in multiple Page

1 min read

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 

Did you find this information helpful?
Yes
No
Help us improve this page
Please provide feedback or comments
Comments (0)
Please sign in to leave a comment
Access denied
Access denied