Page transitions give visual sparkle by creating a "PowerPoint-like" effect when switching between pages. Page transitions are useful when you create a slideshow in PDF format. This article will introduce how to add page transition effects to an existing PDF document using Spire.PDF.
Code Snippet:
Step 1: Initialize an object of PdfDocument class and load the sample PDF which you want to add transition effects to.
PdfDocument doc = new PdfDocument(); doc.LoadFromFile(@"C:\Users\Administrator\Desktop\sample.pdf");
Step 2: Create a new PDF document, add sections to it based on the page count of source file and transfer every individual page to a section. Spire.PDF provides PageSettings property in PdfSection class for setting transition effects, that's reason why we should add pages to sections within a new PDF document.
PdfDocument newDoc = new PdfDocument(); for (int i = 0; i < doc.Pages.Count; i++) { PdfSection secetion = newDoc.Sections.Add(); PdfPageBase page = doc.Pages[i]; PdfTemplate template = page.CreateTemplate(); PdfNewPage newpage = secetion.Pages.Add(); newpage.Canvas.DrawTemplate(template, new PointF(0 - doc.PageSettings.Margins.Left, 0- doc.PageSettings.Margins.Top)); }
Step 3: As demonstrated above, we know that each section in the new document contains a page. Then we could set transition effect for each page through PageSettings.Transition.
PdfSection secetion1 = newDoc.Sections[0]; secetion1.PageSettings.Transition.Style = PdfTransitionStyle.Cover; secetion1.PageSettings.Transition.Duration = 3; secetion1.PageSettings.Transition.PageDuration = 2; PdfSection secetion2 = newDoc.Sections[1]; secetion2.PageSettings.Transition.Style = PdfTransitionStyle.Glitter; secetion2.PageSettings.Transition.Duration = 3; secetion2.PageSettings.Transition.PageDuration = 2; PdfSection secetion3 = newDoc.Sections[2]; secetion3.PageSettings.Transition.Style = PdfTransitionStyle.Fade; secetion3.PageSettings.Transition.Duration = 3; secetion3.PageSettings.Transition.PageDuration = 2;
Step 4: Save and launch the file.
newDoc.SaveToFile("Transition.pdf", FileFormat.PDF); System.Diagnostics.Process.Start("Transition.pdf");
Output:
using Spire.Pdf; using Spire.Pdf.Graphics; using System.Drawing; namespace SetPageTransitions { class Program { static void Main(string[] args) { PdfDocument doc = new PdfDocument(); doc.LoadFromFile(@"C:\Users\Administrator\Desktop\sample.pdf"); PdfDocument newDoc = new PdfDocument(); for (int i = 0; i < doc.Pages.Count; i++) { PdfSection secetion = newDoc.Sections.Add(); PdfPageBase page = doc.Pages[i]; PdfTemplate template = page.CreateTemplate(); PdfNewPage newpage = secetion.Pages.Add(); newpage.Canvas.DrawTemplate(template, new PointF(0 - doc.PageSettings.Margins.Left, 0 - doc.PageSettings.Margins.Top)); } PdfSection secetion1 = newDoc.Sections[0]; secetion1.PageSettings.Transition.Style = PdfTransitionStyle.Cover; secetion1.PageSettings.Transition.Duration = 3; secetion1.PageSettings.Transition.PageDuration = 2; PdfSection secetion2 = newDoc.Sections[1]; secetion2.PageSettings.Transition.Style = PdfTransitionStyle.Glitter; secetion2.PageSettings.Transition.Duration = 3; secetion2.PageSettings.Transition.PageDuration = 2; PdfSection secetion3 = newDoc.Sections[2]; secetion3.PageSettings.Transition.Style = PdfTransitionStyle.Fade; secetion3.PageSettings.Transition.Duration = 3; secetion3.PageSettings.Transition.PageDuration = 2; newDoc.SaveToFile("Transition.pdf", FileFormat.PDF); System.Diagnostics.Process.Start("Transition.pdf"); } } }
Imports Spire.Pdf Imports Spire.Pdf.Graphics Imports System.Drawing Namespace SetPageTransitions Class Program Private Shared Sub Main(args As String()) Dim doc As New PdfDocument() doc.LoadFromFile("C:\Users\Administrator\Desktop\sample.pdf") Dim newDoc As New PdfDocument() For i As Integer = 0 To doc.Pages.Count - 1 Dim secetion As PdfSection = newDoc.Sections.Add() Dim page As PdfPageBase = doc.Pages(i) Dim template As PdfTemplate = page.CreateTemplate() Dim newpage As PdfNewPage = secetion.Pages.Add() newpage.Canvas.DrawTemplate(template, New PointF(0 - doc.PageSettings.Margins.Left, 0 - doc.PageSettings.Margins.Top)) Next Dim secetion1 As PdfSection = newDoc.Sections(0) secetion1.PageSettings.Transition.Style = PdfTransitionStyle.Cover secetion1.PageSettings.Transition.Duration = 3 secetion1.PageSettings.Transition.PageDuration = 2 Dim secetion2 As PdfSection = newDoc.Sections(1) secetion2.PageSettings.Transition.Style = PdfTransitionStyle.Glitter secetion2.PageSettings.Transition.Duration = 3 secetion2.PageSettings.Transition.PageDuration = 2 Dim secetion3 As PdfSection = newDoc.Sections(2) secetion3.PageSettings.Transition.Style = PdfTransitionStyle.Fade secetion3.PageSettings.Transition.Duration = 3 secetion3.PageSettings.Transition.PageDuration = 2 newDoc.SaveToFile("Transition.pdf", FileFormat.PDF) System.Diagnostics.Process.Start("Transition.pdf") End Sub End Class End Namespace