It is possible to export the Scheduler to PDF by embedding the exported image in a new PDF document.
Tutorials
Scheduler PDF Export (ASP.NET, C#, VB, SQL Server)
Gantt Chart PDF Export (ASP.NET, C#, VB.NET)
Example
Example source code (C#) that uses PDFSharp library:
private void ExportToPdf() { // create a new PDF document PdfDocument doc = new PdfDocument(); doc.Info.Title = "DayPilot Scheduler PDF Export"; doc.Info.Author = "DayPilot"; // add a page PdfPage page = doc.AddPage(); // set PDF page properties (size and orientation) page.Size = (PageSize) Enum.Parse(typeof (PageSize), ListPageSize.SelectedValue); page.Orientation = (PageOrientation)Enum.Parse(typeof(PageOrientation), ListPageOrientation.SelectedValue); // create graphics object for PDF page modification XGraphics gfx = XGraphics.FromPdfPage(page); // write title XRect titleRect = new XRect(new XPoint(), gfx.PageSize); titleRect.Inflate(-10, -15); XFont font = new XFont("Tahoma", 14, XFontStyle.Bold); gfx.DrawString("DayPilot Scheduler PDF Export", font, XBrushes.DarkGray, titleRect, XStringFormats.TopCenter); // create Scheduler image SetDataSourceAndBind(); SetExportProperties(); Bitmap bitmap = DayPilotScheduler1.ExportBitmap(); // add the image to the PDF page XImage image = XImage.FromGdiPlusImage(bitmap); XRect imageRect = GetPaddedRectForImage(gfx, image, 10); double y = 40; imageRect.Y = y; gfx.DrawImage(image, imageRect); // save the PDF file to MemoryStream MemoryStream mem = new MemoryStream(); doc.Save(mem, false); // send the output stream to the browser Response.Clear(); Response.ContentType = "application/pdf"; Response.AddHeader("content-disposition", "attachment;filename=scheduler.pdf"); mem.WriteTo(Response.OutputStream); Response.End(); } private XRect GetPaddedRectForImage(XGraphics gfx, XImage image, int paddingWidthPct) { double ratio = image.PixelWidth / (double)image.PixelHeight; double width = gfx.PageSize.Width; double height = width / ratio; XRect imageRect = new XRect(0, 0, width, height); imageRect.Scale((100 - paddingWidthPct) / 100.0, (100 - paddingWidthPct) / 100.0); double x = (gfx.PageSize.Width - imageRect.Width) / 2; imageRect.X = x; return imageRect; }