Export Diagram to PDF in multiple Page
Export Diagram to PDF in Multiple Pages
Syncfusion® Diagram has the support to convert the diagram into PDF format in multiple pages using the Syncfusion® PDF.Base DLL. Initially, you 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 to the below attached sample.
Conclusion
I hope you enjoyed learning about Export Diagram to PDF in Multiple Pages.
You can refer to WinForms Diagram feature tour page to learn about its other groundbreaking feature representations and documentation, and how to quickly get started for configuration specifications. You can also explore our WinForms Diagram example to understand how to create and manipulate data.
For current customers, you can check out our components from the License and Downloads page. If you are new to Syncfusion®, you can try our 30-day free trial to check out our other controls.
If you have any queries or require clarifications, please let us know in the comments section below. You can also contact us through our support forums, Direct-Trac, or feedback portal. We are always happy to assist you!