Knowledgebase (2609)
Children categories
Page transitions display a decorative effect such as a dissolve or wipe when you’re turning pages in a document that is exported to PDF format. Page transitions are especially useful when you create a slideshow in PDF format. And Spire.PDF, a powerful .NET component specially designed for developers enables you to apply page transitions to PDF file.
A solution is introduced here to show how to apply page transitions to PDF using Spire.PDF. Spire.PDF provides you a class called PdfSection. PdfSection has a property called PageSettings. And PageSettings has a property called Transition. You can use this property to apply page transitions.
Step 1: Create a new section.
PdfSection section = doc.Sections.Add(); section.PageSettings.Size = PdfPageSize.A4;
Step 2: Create a new PdfPageTransition instance.
section.PageSettings.Transition = new PdfPageTransition();
Step 3: Set the style of page transition.
section.PageSettings.Transition.Style = PdfTransitionStyle.Fade;
You can assign any value that is defined in PdfTransitionStyle to Style.
Step 4: Set the duration of transition effect in seconds.
section.PageSettings.Transition.Duration = 3;
Step 5: Set the page's display duration.
section.PageSettings.Transition.PageDuration = 2;
Step 6: Add more sections and apply more page transitions.
section = doc.Sections.Add(); section.PageSettings.Size = PdfPageSize.A4; section.PageSettings.Transition = new PdfPageTransition(); section.PageSettings.Transition.Style = PdfTransitionStyle.Box; section.PageSettings.Transition.Motion = PdfTransitionMotion.Outward; section.PageSettings.Transition.Duration = 3; section.PageSettings.Transition.PageDuration = 2;
You can combine the type of PdfPageTransition with the property Direction and the property Dimension of PdfPageTransition to create new and flexible page transition. For example, in this step, the Style of page transition is PdfTransitionStyle.Box and the Motion of page transition is PdfTransitionMotion.Outward.
At last, save the file.
doc.SaveToFile("result.pdf");
To see page transitions in the PDF, open the PDF file in Full Screen.



Here comes to the full code:
using Spire.Pdf;
using Spire.Pdf.Graphics;
using System.Drawing;
namespace PageTransitions
{
class Program
{
static void Main(string[] args)
{
PdfDocument doc = new PdfDocument();
PdfSection section = doc.Sections.Add();
section.PageSettings.Size = PdfPageSize.A4;
section.PageSettings.Transition = new PdfPageTransition();
section.PageSettings.Transition.Style = PdfTransitionStyle.Fade;
section.PageSettings.Transition.Duration = 3;
section.PageSettings.Transition.PageDuration = 2;
PdfNewPage page = section.Pages.Add();
page.BackgroundColor = Color.Blue;
page.Canvas.DrawString("This is Page One.", new PdfFont(PdfFontFamily.Helvetica, 20f), new PdfSolidBrush(Color.Black), 10, 10);
page = section.Pages.Add();
page.BackgroundColor = Color.Green;
page.Canvas.DrawString("This is Page Two.", new PdfFont(PdfFontFamily.Helvetica, 20f), new PdfSolidBrush(Color.Black), 10, 10);
section = doc.Sections.Add();
section.PageSettings.Size = PdfPageSize.A4;
section.PageSettings.Transition = new PdfPageTransition();
section.PageSettings.Transition.Style = PdfTransitionStyle.Box;
section.PageSettings.Transition.Motion = PdfTransitionMotion.Outward;
section.PageSettings.Transition.Duration = 3;
section.PageSettings.Transition.PageDuration = 2;
page = section.Pages.Add();
page.BackgroundColor = Color.Orange;
page.Canvas.DrawString("This is Page Three.", new PdfFont(PdfFontFamily.Helvetica, 20f), new PdfSolidBrush(Color.Black), 10, 10);
page = section.Pages.Add();
page.BackgroundColor = Color.Brown;
page.Canvas.DrawString("This is Page Four.", new PdfFont(PdfFontFamily.Helvetica, 20f), new PdfSolidBrush(Color.Black), 10, 10);
section = doc.Sections.Add();
section.PageSettings.Size = PdfPageSize.A4;
section.PageSettings.Transition = new PdfPageTransition();
section.PageSettings.Transition.Duration = 3;
section.PageSettings.Transition.Style = PdfTransitionStyle.Dissolve;
section.PageSettings.Transition.PageDuration = 2;
page = section.Pages.Add();
page.BackgroundColor = Color.Orange;
page.Canvas.DrawString("This is Page Five.", new PdfFont(PdfFontFamily.Helvetica, 20f), new PdfSolidBrush(Color.Black), 10, 10);
page = section.Pages.Add();
page.BackgroundColor = Color.Navy;
page.Canvas.DrawString("This is Page Six.", new PdfFont(PdfFontFamily.Helvetica, 20f), new PdfSolidBrush(Color.Black), 10, 10);
doc.SaveToFile("result.pdf");
doc.Close();
}
}
}
Watermark is a recognizable text or image that appears under document text. A watermark is useful in the examination of paper because it can be widely used for trademarks, locations and so on. This article aims at introducing how to add PDF text watermark for WPF through a simple WPF PDF API Spire.PDF for WPF. Also it can implement PDF watermark by image.
First we need to complete the preparatory work:
- Download the latest Spire.PDF and install it on your machine.
- Add the Spire.PDF.WPF.dll files as reference.
- Open bin folder and select the three dll files under .NET 4.0.
- Right click property and select properties in its menu.
- Set the target framework as .NET 4.
- Add Spire.PDF as namespace.
Here comes to the explanation of the code.
Step 1: Create an instance of Spire.PDF.Document
PdfDocument doc = new PdfDocument();
Step 2: Load the file base on a specified file path
doc.LoadFromFile(@"..\..\Sample1.pdf");
Step 3: Add the text watermark to the first page
PdfPageBase page = doc.Pages[0];
PdfTilingBrush brush = new PdfTilingBrush(new SizeF(page.Canvas.ClientSize.Width/2, page.Canvas.ClientSize.Height/3));
brush.Graphics.SetTransparency(0.3f);
brush.Graphics.Save();
brush.Graphics.TranslateTransform(brush.Size.Width / 2, brush.Size.Height / 2);
brush.Graphics.RotateTransform(-45);
brush.Graphics.DrawString("Spire.Pdf Demo",new PdfFont(PdfFontFamily.Helvetica, 24), PdfBrushes.Violet, 0, 0,new PdfStringFormat(PdfTextAlignment.Center));
brush.Graphics.Restore();
brush.Graphics.SetTransparency(1);
page.Canvas.DrawRectangle(brush, new RectangleF(new PointF(0, 0), page.Canvas.ClientSize));
Step 4: Save the PDF file
doc.SaveToFile("TextWaterMark.pdf");
Full code:
private void button1_Click(object sender, RoutedEventArgs e)
{
PdfDocument doc = new PdfDocument();
doc.LoadFromFile(@"..\..\Sample1.pdf");
PdfPageBase page = doc.Pages[0];
PdfTilingBrush brush = new PdfTilingBrush(new SizeF(page.Canvas.ClientSize.Width/2, page.Canvas.ClientSize.Height/3));
brush.Graphics.SetTransparency(0.3f);
brush.Graphics.Save();
brush.Graphics.TranslateTransform(brush.Size.Width / 2, brush.Size.Height / 2);
brush.Graphics.RotateTransform(-45);
brush.Graphics.DrawString("Spire.Pdf Demo",new PdfFont(PdfFontFamily.Helvetica, 24), PdfBrushes.Violet, 0, 0, new PdfStringFormat(PdfTextAlignment.Center));
brush.Graphics.Restore();
brush.Graphics.SetTransparency(1);
page.Canvas.DrawRectangle(brush, new RectangleF(new PointF(0, 0), page.Canvas.ClientSize));
doc.SaveToFile("TextWaterMark.pdf");
}
Effect screenshot:

We have already demonstrated how to create form fields in PDF file. This article mainly shows you how developers fill form field in PDF in C# only with 3 simple steps by using a standalone .NET PDF component Spire.PDF.
Make sure Spire.PDF for .NET has been installed correctly and then add Spire.Pdf.dll as reference in the downloaded Bin folder though the below path: "..\Spire.Pdf\Bin\NET4.0\ Spire.Pdf.dll". Here comes to the details of how developers Fill Form Fields by using Spire.PDF:
Step 1: Open the form that needs to fill the data
//Create a pdf document PdfDocument doc = new PdfDocument(); //Load from file doc.LoadFromFile(@"..\..\FormField.pdf");
Step 2: Update the data to the form
//Get form
PdfFormWidget formWidget = doc.Form as PdfFormWidget;
for (int i = 0; i < formWidget.FieldsWidget.List.Count; i++)
{
PdfField field = formWidget.FieldsWidget.List[i] as PdfField;
//Fill the data for textBoxField
if (field is PdfTextBoxFieldWidget)
{
PdfTextBoxFieldWidget textBoxField = field as PdfTextBoxFieldWidget;
switch (textBoxField.Name)
{
case "email":
textBoxField.Text = "support@e-iceblue.com";
break;
case "password":
textBoxField.Password = true;
textBoxField.Text = "e-iceblue";
//Fill the data for listBoxField
if (field is PdfListBoxWidgetFieldWidget)
{
PdfListBoxWidgetFieldWidget listBoxField = field as PdfListBoxWidgetFieldWidget;
switch (listBoxField.Name)
{
case "email_format":
int[] index = { 1 };
listBoxField.SelectedIndex = index;
break;
//Fill the data for comBoxField
if (field is PdfComboBoxWidgetFieldWidget)
{
PdfComboBoxWidgetFieldWidget comBoxField = field as PdfComboBoxWidgetFieldWidget;
switch (comBoxField.Name)
{
case "title":
int[] items = { 0 };
comBoxField.SelectedIndex = items;
break;
//Fill the data for checkBoxField
if (field is PdfCheckBoxWidgetFieldWidget)
{
PdfCheckBoxWidgetFieldWidget checkBoxField = field as PdfCheckBoxWidgetFieldWidget;
switch (checkBoxField.Name)
{
case "agreement_of_terms":
checkBoxField.Checked = true;
break;
Step 3: Save and launch file
//Save the document to file in PDF format doc.SaveToFile(@"../../FormFieldData.pdf.pdf"); //Launch the file System.Diagnostics.Process.Start(@"../../FormFieldData.pdf.pdf");
Effective Screenshot:
The original PDF with form fields:

After fill the form fields:

View the full code as below:
using Spire.Pdf;
using Spire.Pdf.Fields;
using Spire.Pdf.Widget;
namespace FillFormFields
{
class Program
{
static void Main(string []args){
PdfDocument doc = new PdfDocument();
doc.LoadFromFile(@"..\..\FormField.pdf");
PdfFormWidget formWidget = doc.Form as PdfFormWidget;
for (int i = 0; i < formWidget.FieldsWidget.List.Count; i++)
{
PdfField field = formWidget.FieldsWidget.List[i] as PdfField;
if (field is PdfTextBoxFieldWidget)
{
PdfTextBoxFieldWidget textBoxField = field as PdfTextBoxFieldWidget;
switch (textBoxField.Name)
{
case "email":
textBoxField.Text = "support@e-iceblue.com";
break;
case "username":
textBoxField.Text = "E-iceblue";
break;
case "password":
textBoxField.Password = true;
textBoxField.Text = "e-iceblue";
break;
case "password2":
textBoxField.Password = true;
textBoxField.Text = "e-iceblue";
break;
case "company_name ":
textBoxField.Text = "E-iceblue";
break;
case "first_name":
textBoxField.Text = "James";
break;
case "last_name":
textBoxField.Text = "Chen";
break;
case "middle_name":
textBoxField.Text = "J";
break;
case "address1":
textBoxField.Text = "Chengdu";
break;
case "address2":
textBoxField.Text = "Beijing";
break;
case "city":
textBoxField.Text = "Shanghai";
break;
case "postal_code":
textBoxField.Text = "11111";
break;
case "state":
textBoxField.Text = "Shanghai";
break;
case "phone":
textBoxField.Text = "1234567901";
break;
case "mobile_phone":
textBoxField.Text = "123456789";
break;
case "fax":
textBoxField.Text = "12121212";
break;
}
}
if (field is PdfListBoxWidgetFieldWidget)
{
PdfListBoxWidgetFieldWidget listBoxField = field as PdfListBoxWidgetFieldWidget;
switch (listBoxField.Name)
{
case "email_format":
int[] index = { 1 };
listBoxField.SelectedIndex = index;
break;
}
}
if (field is PdfComboBoxWidgetFieldWidget)
{
PdfComboBoxWidgetFieldWidget comBoxField = field as PdfComboBoxWidgetFieldWidget;
switch (comBoxField.Name)
{
case "title":
int[] items = { 0 };
comBoxField.SelectedIndex = items;
break;
}
}
if (field is PdfRadioButtonListFieldWidget)
{
PdfRadioButtonListFieldWidget radioBtnField = field as PdfRadioButtonListFieldWidget;
switch (radioBtnField.Name)
{
case "country":
radioBtnField.SelectedIndex = 1;
break;
}
}
if (field is PdfCheckBoxWidgetFieldWidget)
{
PdfCheckBoxWidgetFieldWidget checkBoxField = field as PdfCheckBoxWidgetFieldWidget;
switch (checkBoxField.Name)
{
case "agreement_of_terms":
checkBoxField.Checked = true;
break;
}
}
if (field is PdfButtonWidgetFieldWidget)
{
PdfButtonWidgetFieldWidget btnField = field as PdfButtonWidgetFieldWidget;
switch (btnField.Name)
{
case "submit":
btnField.Text = "Submit";
break;
}
}
}
doc.SaveToFile(@"../../FormFieldData.pdf.pdf");
System.Diagnostics.Process.Start(@"../../FormFieldData.pdf.pdf");
}
}
}
Imports Spire.Pdf
Imports Spire.Pdf.Fields
Imports Spire.Pdf.Widget
Namespace FillFormFields
Class Program
Private Shared Sub Main(args As String())
Dim doc As New PdfDocument()
doc.LoadFromFile("..\..\FormField.pdf")
Dim formWidget As PdfFormWidget = TryCast(doc.Form, PdfFormWidget)
For i As Integer = 0 To formWidget.FieldsWidget.List.Count - 1
Dim field As PdfField = TryCast(formWidget.FieldsWidget.List(i), PdfField)
If TypeOf field Is PdfTextBoxFieldWidget Then
Dim textBoxField As PdfTextBoxFieldWidget = TryCast(field, PdfTextBoxFieldWidget)
Select Case textBoxField.Name
Case "email"
textBoxField.Text = "support@e-iceblue.com"
Exit Select
Case "username"
textBoxField.Text = "E-iceblue"
Exit Select
Case "password"
textBoxField.Password = True
textBoxField.Text = "e-iceblue"
Exit Select
Case "password2"
textBoxField.Password = True
textBoxField.Text = "e-iceblue"
Exit Select
Case "company_name "
textBoxField.Text = "E-iceblue"
Exit Select
Case "first_name"
textBoxField.Text = "James"
Exit Select
Case "last_name"
textBoxField.Text = "Chen"
Exit Select
Case "middle_name"
textBoxField.Text = "J"
Exit Select
Case "address1"
textBoxField.Text = "Chengdu"
Exit Select
Case "address2"
textBoxField.Text = "Beijing"
Exit Select
Case "city"
textBoxField.Text = "Shanghai"
Exit Select
Case "postal_code"
textBoxField.Text = "11111"
Exit Select
Case "state"
textBoxField.Text = "Shanghai"
Exit Select
Case "phone"
textBoxField.Text = "1234567901"
Exit Select
Case "mobile_phone"
textBoxField.Text = "123456789"
Exit Select
Case "fax"
textBoxField.Text = "12121212"
Exit Select
End Select
End If
If TypeOf field Is PdfListBoxWidgetFieldWidget Then
Dim listBoxField As PdfListBoxWidgetFieldWidget = TryCast(field, PdfListBoxWidgetFieldWidget)
Select Case listBoxField.Name
Case "email_format"
Dim index As Integer() = {1}
listBoxField.SelectedIndex = index
Exit Select
End Select
End If
If TypeOf field Is PdfComboBoxWidgetFieldWidget Then
Dim comBoxField As PdfComboBoxWidgetFieldWidget = TryCast(field, PdfComboBoxWidgetFieldWidget)
Select Case comBoxField.Name
Case "title"
Dim items As Integer() = {0}
comBoxField.SelectedIndex = items
Exit Select
End Select
End If
If TypeOf field Is PdfRadioButtonListFieldWidget Then
Dim radioBtnField As PdfRadioButtonListFieldWidget = TryCast(field, PdfRadioButtonListFieldWidget)
Select Case radioBtnField.Name
Case "country"
radioBtnField.SelectedIndex = 1
Exit Select
End Select
End If
If TypeOf field Is PdfCheckBoxWidgetFieldWidget Then
Dim checkBoxField As PdfCheckBoxWidgetFieldWidget = TryCast(field, PdfCheckBoxWidgetFieldWidget)
Select Case checkBoxField.Name
Case "agreement_of_terms"
checkBoxField.Checked = True
Exit Select
End Select
End If
If TypeOf field Is PdfButtonWidgetFieldWidget Then
Dim btnField As PdfButtonWidgetFieldWidget = TryCast(field, PdfButtonWidgetFieldWidget)
Select Case btnField.Name
Case "submit"
btnField.Text = "Submit"
Exit Select
End Select
End If
Next
doc.SaveToFile("../../FormFieldData.pdf.pdf")
System.Diagnostics.Process.Start("../../FormFieldData.pdf.pdf")
End Sub
End Class
End Namespace