Working with XFA
XFA stands for XML Forms Architecture, dynamic forms are based on a XML specification. Essential PDF supports both the dynamic and static XFA forms.
- In a static form the form’s appearance and layout is fixed, regardless of the field content.
- Dynamic forms can change in appearance in several ways in response to changes in the data.
Creating a new XFA form
Essential PDF allows you to create and manipulate the XFA form in PDF document by using PdfXfaDocument and PdfXfaForm classes. The PdfXfaFieldCollection class represents the entire field collection of the XFA form.
Adding a new page to the XFA document
The following code sample explains you on how to add a new page in a PDF XFA document.
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add a new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form
PdfXfaForm mainForm = new PdfXfaForm("subform1",xfaPage,xfaPage.GetClientSize ().Width);
//Create a text element and add the properties
PdfXfaTextElement textElement = new PdfXfaTextElement("Hello World!");
//Add the field to the XFA form
mainForm.Fields.Add(textElement);
//Add the XFA form to the document
document.XfaForm = mainForm;
//Save the document
document.Save("XfaForm.pdf", PdfXfaType.Dynamic);
//Close the document
document.Close();
'Create a new PDF XFA document
Dim document As New PdfXfaDocument()
'Add a new XFA page
Dim xfaPage As PdfXfaPage = document.Pages.Add()
'Create a new PDF XFA form
Dim mainForm As New PdfXfaForm("subform1",xfaPage,xfaPage.GetClientSize().Width)
'Create a text element and add the properties
Dim textElement As New PdfXfaTextElement("Hello World!")
'Add the field to the XFA form
mainForm.Fields.Add(textElement)
'Add the XFA form to the document
document.XfaForm = mainForm
'Save the document
document.Save("XfaForm.pdf", PdfXfaType.Dynamic)
'Close the document
document.Close()
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add a new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form
PdfXfaForm mainForm = new PdfXfaForm("subform1", xfaPage, xfaPage.GetClientSize().Width);
//Create a text element and add the properties
PdfXfaTextElement textElement = new PdfXfaTextElement("Hello World!");
//Add the field to the XFA form
mainForm.Fields.Add(textElement);
//Add the XFA form to the document
document.XfaForm = mainForm;
//Save the PDF document to stream
MemoryStream stream = new MemoryStream();
document.Save(stream, PdfXfaType.Dynamic);
//Close the document
document.Close();
//Save the stream as PDF document file in local machine. Refer to PDF/UWP section for respected code samples
Save(stream, "XfaForm.pdf");
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add a new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form
PdfXfaForm mainForm = new PdfXfaForm("subform1", xfaPage, xfaPage.GetClientSize().Width);
//Create a text element and add the properties
PdfXfaTextElement textElement = new PdfXfaTextElement("Hello World!");
//Add the field to the XFA form
mainForm.Fields.Add(textElement);
//Add the XFA form to the document
document.XfaForm = mainForm;
//Save the PDF document to stream
MemoryStream stream = new MemoryStream();
document.Save(stream, PdfXfaType.Dynamic);
//If the position is not set to '0' then the PDF will be empty
stream.Position = 0;
//Close the document
document.Close();
//Defining the ContentType for pdf file
string contentType = "application/pdf";
//Define the file name
string fileName = "XfaForm.pdf";
//Creates a FileContentResult object by using the file contents, content type, and file name
return File(stream, contentType, fileName);
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add a new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form
PdfXfaForm mainForm = new PdfXfaForm("subform1", xfaPage, xfaPage.GetClientSize().Width);
//Create a text element and add the properties
PdfXfaTextElement textElement = new PdfXfaTextElement("Hello World!");
//Add the field to the XFA form
mainForm.Fields.Add(textElement);
//Add the XFA form to the document
document.XfaForm = mainForm;
//Save the PDF document to stream
MemoryStream stream = new MemoryStream();
document.Save(stream, PdfXfaType.Dynamic);
//If the position is not set to '0' then the PDF will be empty
stream.Position = 0;
//Close the document
document.Close();
//Save the stream into XFDF file
//The operation in Save under Xamarin varies between Windows Phone, Android, and iOS platforms. Refer to the PDF/Xamarin section for respective code samples
if (Device.OS == TargetPlatform.WinPhone || Device.OS == TargetPlatform.Windows)
{
Xamarin.Forms.DependencyService.Get<ISaveWindowsPhone>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
else
{
Xamarin.Forms.DependencyService.Get<ISave>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
NOTE
XFA documents are created based on the flow layout, so the pages are sequentially added if the doesn’t have space to fit the field it will automatically move on the next page, so we can’t specify the page and page numbers.
PDF supports XFA forms only in Windows Forms, WPF, ASP.NET, ASP.NET MVC, UWP platforms, Xamarin (.NETStandard 2.0 and above), and ASP.NET Core (.NETStandard 2.0 and above).
Adding the XFA document settings
Essential PDF supports various XFA page setting options through PdfXfaPageSettings class, to control the page display.
The below sample illustrates how to create a new PDF document with XFA page size.
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Set the page size
document.PageSettings.PageSize = PdfPageSize.A4;
//Add a new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form
PdfXfaForm mainForm = new PdfXfaForm("subform1",xfaPage,xfaPage.GetClientSize ().Width);
//Create a text element and add the properties
PdfXfaTextElement textElement = new PdfXfaTextElement("Hello World!!!");
//Set font
textElement.Font = new PdfStandardFont(PdfFontFamily.Helvetica, 14, PdfFontStyle.Bold);
//Add the text element to the XFA form
mainForm.Fields.Add(textElement);
//Add the XFA form to the document
document.XfaForm = mainForm;
//Save the document
document.Save("XfaForm.pdf",PdfXfaType.Dynamic);
//close the document
document.Close();
'Create a new PDF XFA document
Dim document As New PdfXfaDocument()
'Set the page size
document.PageSettings.PageSize = PdfPageSize.A4
'Add a new XFA page
Dim xfaPage As PdfXfaPage = document.Pages.Add()
'Create a new PDF XFA form
Dim mainForm As New PdfXfaForm("subform1",xfaPage,xfaPage.GetClientSize().Width)
'Create a text element and add the properties
Dim textElement As New PdfXfaTextElement("Hello World!!!")
'Set font
textElement.Font = New PdfStandardFont(PdfFontFamily.Helvetica, 14, PdfFontStyle.Bold)
'Add the text element to the XFA form
mainForm.Fields.Add(textElement)
'Add the XFA form to the document
document.XfaForm = mainForm
'Save the document
document.Save("XfaForm.pdf",PdfXfaType.Dynamic)
'close the document
document.Close()
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Set the page size
document.PageSettings.PageSize = PdfPageSize.A4;
//Add a new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form
PdfXfaForm mainForm = new PdfXfaForm("subform1", xfaPage, xfaPage.GetClientSize().Width);
//Create a text element and add the properties
PdfXfaTextElement textElement = new PdfXfaTextElement("Hello World!!!");
//Set font
textElement.Font = new PdfStandardFont(PdfFontFamily.Helvetica, 14, PdfFontStyle.Bold);
//Add the text element to the XFA form
mainForm.Fields.Add(textElement);
//Add the XFA form to the document
document.XfaForm = mainForm;
//Save the PDF document to stream
MemoryStream stream = new MemoryStream();
document.Save(stream, PdfXfaType.Dynamic);
//Close the document
document.Close();
//Save the stream as PDF document file in local machine. Refer to PDF/UWP section for respected code samples
Save(stream, "XfaForm.pdf");
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Set the page size
document.PageSettings.PageSize = PdfPageSize.A4;
//Add a new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form
PdfXfaForm mainForm = new PdfXfaForm("subform1", xfaPage, xfaPage.GetClientSize().Width);
//Create a text element and add the properties
PdfXfaTextElement textElement = new PdfXfaTextElement("Hello World!!!");
//Set font
textElement.Font = new PdfStandardFont(PdfFontFamily.Helvetica, 14, PdfFontStyle.Bold);
//Add the text element to the XFA form
mainForm.Fields.Add(textElement);
//Add the XFA form to the document.
document.XfaForm = mainForm;
//Save the PDF document to stream
MemoryStream stream = new MemoryStream();
document.Save(stream, PdfXfaType.Dynamic);
//If the position is not set to '0' then the PDF will be empty
stream.Position = 0;
//Close the document
document.Close();
//Defining the ContentType for pdf file
string contentType = "application/pdf";
//Define the file name
string fileName = "XfaForm.pdf";
//Creates a FileContentResult object by using the file contents, content type, and file name
return File(stream, contentType, fileName);
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Set the page size
document.PageSettings.PageSize = PdfPageSize.A4;
//Add a new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form
PdfXfaForm mainForm = new PdfXfaForm("subform1", xfaPage, xfaPage.GetClientSize().Width);
//Create a text element and add the properties
PdfXfaTextElement textElement = new PdfXfaTextElement("Hello World!!!");
//Set font
textElement.Font = new PdfStandardFont(PdfFontFamily.Helvetica, 14, PdfFontStyle.Bold);
//Add the text element to the XFA form
mainForm.Fields.Add(textElement);
//Add the XFA form to the document.
document.XfaForm = mainForm;
//Save the PDF document to stream
MemoryStream stream = new MemoryStream();
document.Save(stream, PdfXfaType.Dynamic);
//If the position is not set to '0' then the PDF will be empty
stream.Position = 0;
//Close the document
document.Close();
//Save the stream into XFDF file
//The operation in Save under Xamarin varies between Windows Phone, Android, and iOS platforms. Refer to the PDF/Xamarin section for respective code samples
if (Device.OS == TargetPlatform.WinPhone || Device.OS == TargetPlatform.Windows)
{
Xamarin.Forms.DependencyService.Get<ISaveWindowsPhone>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
else
{
Xamarin.Forms.DependencyService.Get<ISave>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
You can create a custom page size to the PDF document by using following code snippet.
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Set the page size
document.PageSettings.PageSize = new SizeF(500,700);
//Add a new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form
PdfXfaForm mainForm = new PdfXfaForm("subform1",xfaPage,xfaPage.GetClientSize ().Width);
//Create a text element and add the properties
PdfXfaTextElement textElement = new PdfXfaTextElement("Hello World!!!");
//Set font
textElement.Font = new PdfStandardFont(PdfFontFamily.Helvetica, 14, PdfFontStyle.Bold);
//Add the text element to the XFA form
mainForm.Fields.Add(textElement);
//Add the XFA form to the document
document.XfaForm = mainForm;
//Save the document
document.Save("XfaForm.pdf",PdfXfaType.Dynamic);
//close the document
document.Close();
'Create a new PDF XFA document
Dim document As New PdfXfaDocument()
'Set the page size
document.PageSettings.PageSize = New SizeF(500,700)
'Add a new XFA page
Dim xfaPage As PdfXfaPage = document.Pages.Add()
'Create a new PDF XFA form
Dim mainForm As New PdfXfaForm("subform1",xfaPage,xfaPage.GetClientSize().Width)
'Create a text element and add the properties
Dim textElement As New PdfXfaTextElement("Hello World!!!")
'Set font
textElement.Font = New PdfStandardFont(PdfFontFamily.Helvetica, 14, PdfFontStyle.Bold)
'Add the text element to the XFA form
mainForm.Fields.Add(textElement)
'Add the XFA form to the document
document.XfaForm = mainForm
'Save the document
document.Save("XfaForm.pdf",PdfXfaType.Dynamic)
'close the document
document.Close()
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Set the page size
document.PageSettings.PageSize = new SizeF(500, 700);
//Add a new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form
PdfXfaForm mainForm = new PdfXfaForm("subform1", xfaPage, xfaPage.GetClientSize().Width);
//Create a text element and add the properties
PdfXfaTextElement textElement = new PdfXfaTextElement("Hello World!!!");
//Set font
textElement.Font = new PdfStandardFont(PdfFontFamily.Helvetica, 14, PdfFontStyle.Bold);
//Add the text element to the XFA form
mainForm.Fields.Add(textElement);
//Add the XFA form to the document
document.XfaForm = mainForm;
//Save the PDF document to stream
MemoryStream stream = new MemoryStream();
document.Save(stream, PdfXfaType.Dynamic);
//Close the document
document.Close();
//Save the stream as PDF document file in local machine. Refer to PDF/UWP section for respected code samples
Save(stream, "XfaForm.pdf");
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Set the page size
document.PageSettings.PageSize = new SizeF(500, 700);
//Add a new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form
PdfXfaForm mainForm = new PdfXfaForm("subform1", xfaPage, xfaPage.GetClientSize().Width);
//Create a text element and add the properties
PdfXfaTextElement textElement = new PdfXfaTextElement("Hello World!!!");
//Set font
textElement.Font = new PdfStandardFont(PdfFontFamily.Helvetica, 14, PdfFontStyle.Bold);
//Add the text element to the XFA form
mainForm.Fields.Add(textElement);
//Add the XFA form to the document
document.XfaForm = mainForm;
//Save the PDF document to stream
MemoryStream stream = new MemoryStream();
document.Save(stream, PdfXfaType.Dynamic);
//If the position is not set to '0' then the PDF will be empty
stream.Position = 0;
//Close the document
document.Close();
//Defining the ContentType for pdf file
string contentType = "application/pdf";
//Define the file name
string fileName = "XfaForm.pdf";
//Creates a FileContentResult object by using the file contents, content type, and file name
return File(stream, contentType, fileName);
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Set the page size
document.PageSettings.PageSize = new SizeF(500, 700);
//Add a new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form
PdfXfaForm mainForm = new PdfXfaForm("subform1", xfaPage, xfaPage.GetClientSize().Width);
//Create a text element and add the properties
PdfXfaTextElement textElement = new PdfXfaTextElement("Hello World!!!");
//Set font
textElement.Font = new PdfStandardFont(PdfFontFamily.Helvetica, 14, PdfFontStyle.Bold);
//Add the text element to the XFA form
mainForm.Fields.Add(textElement);
//Add the XFA form to the document
document.XfaForm = mainForm;
//Save the PDF document to stream
MemoryStream stream = new MemoryStream();
document.Save(stream, PdfXfaType.Dynamic);
//If the position is not set to '0' then the PDF will be empty
stream.Position = 0;
//Close the document
document.Close();
//Save the stream into XFDF file
//The operation in Save under Xamarin varies between Windows Phone, Android, and iOS platforms. Refer to the PDF/Xamarin section for respective code samples
if (Device.OS == TargetPlatform.WinPhone || Device.OS == TargetPlatform.Windows)
{
Xamarin.Forms.DependencyService.Get<ISaveWindowsPhone>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
else
{
Xamarin.Forms.DependencyService.Get<ISave>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
You can change page orientation from portrait to landscape by using the following code snippet.
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Set the page size
document.PageSettings.PageSize = new SizeF(500,700);
//Change the page orientation to landscape
document.PageSettings. PageOrientation = PdfXfaPageOrientation.Landscape;
//Add a new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form
PdfXfaForm mainForm = new PdfXfaForm("subform1",xfaPage,xfaPage.GetClientSize ().Width);
//Create a text element and add the properties
PdfXfaTextElement textElement = new PdfXfaTextElement("Hello World!!!");
//Set font
textElement.Font = new PdfStandardFont(PdfFontFamily.Helvetica, 14, PdfFontStyle.Bold);
//Add the text element to the XFA form
mainForm.Fields.Add(textElement);
//Add the XFA form to the document
document.XfaForm = mainForm;
//Save the document
document.Save("XfaForm.pdf",PdfXfaType.Dynamic);
//close the document
document.Close();
'Create a new PDF XFA document
Dim document As New PdfXfaDocument()
'Set the page size
document.PageSettings.PageSize = New SizeF(500,700)
'Change the page orientation to landscape
document.PageSettings.PageOrientation = PdfXfaPageOrientation.Landscape
'Add a new XFA page
Dim xfaPage As PdfXfaPage = document.Pages.Add()
'Create a new PDF XFA form
Dim mainForm As New PdfXfaForm("subform1",xfaPage,xfaPage.GetClientSize().Width)
'Create a text element and add the properties
Dim textElement As New PdfXfaTextElement("Hello World!!!")
'Set font
textElement.Font = New PdfStandardFont(PdfFontFamily.Helvetica, 14, PdfFontStyle.Bold)
'Add the text element to the XFA form
mainForm.Fields.Add(textElement)
'Add the XFA form to the document
document.XfaForm = mainForm
'Save the document
document.Save("XfaForm.pdf",PdfXfaType.Dynamic)
'close the document
document.Close()
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Set the page size
document.PageSettings.PageSize = new SizeF(500, 700);
//Change the page orientation to landscape
document.PageSettings.PageOrientation = PdfXfaPageOrientation.Landscape;
//Add a new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form
PdfXfaForm mainForm = new PdfXfaForm("subform1", xfaPage, xfaPage.GetClientSize().Width);
//Create a text element and add the properties
PdfXfaTextElement textElement = new PdfXfaTextElement("Hello World!!!");
//Set font
textElement.Font = new PdfStandardFont(PdfFontFamily.Helvetica, 14, PdfFontStyle.Bold);
//Add the text element to the XFA form
mainForm.Fields.Add(textElement);
//Add the XFA form to the document
document.XfaForm = mainForm;
//Save the PDF document to stream
MemoryStream stream = new MemoryStream();
document.Save(stream, PdfXfaType.Dynamic);
//Close the document
document.Close();
//Save the stream as PDF document file in local machine. Refer to PDF/UWP section for respected code samples
Save(stream, "XfaForm.pdf");
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Set the page size
document.PageSettings.PageSize = new SizeF(500, 700);
//Change the page orientation to landscape
document.PageSettings.PageOrientation = PdfXfaPageOrientation.Landscape;
//Add a new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form
PdfXfaForm mainForm = new PdfXfaForm("subform1", xfaPage, xfaPage.GetClientSize().Width);
//Create a text element and add the properties
PdfXfaTextElement textElement = new PdfXfaTextElement("Hello World!!!");
//Set font
textElement.Font = new PdfStandardFont(PdfFontFamily.Helvetica, 14, PdfFontStyle.Bold);
//Add the text element to the XFA form
mainForm.Fields.Add(textElement);
//Add the XFA form to the document
document.XfaForm = mainForm;
//Save the PDF document to stream
MemoryStream stream = new MemoryStream();
document.Save(stream, PdfXfaType.Dynamic);
//If the position is not set to '0' then the PDF will be empty
stream.Position = 0;
//Close the document
document.Close();
//Defining the ContentType for pdf file
string contentType = "application/pdf";
//Define the file name
string fileName = "XfaForm.pdf";
//Creates a FileContentResult object by using the file contents, content type, and file name
return File(stream, contentType, fileName);
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Set the page size
document.PageSettings.PageSize = new SizeF(500, 700);
//Change the page orientation to landscape
document.PageSettings.PageOrientation = PdfXfaPageOrientation.Landscape;
//Add a new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form
PdfXfaForm mainForm = new PdfXfaForm("subform1", xfaPage, xfaPage.GetClientSize().Width);
//Create a text element and add the properties
PdfXfaTextElement textElement = new PdfXfaTextElement("Hello World!!!");
//Set font
textElement.Font = new PdfStandardFont(PdfFontFamily.Helvetica, 14, PdfFontStyle.Bold);
//Add the text element to the XFA form
mainForm.Fields.Add(textElement);
//Add the XFA form to the document
document.XfaForm = mainForm;
//Save the PDF document to stream
MemoryStream stream = new MemoryStream();
document.Save(stream, PdfXfaType.Dynamic);
//If the position is not set to '0' then the PDF will be empty
stream.Position = 0;
//Close the document
document.Close();
//Save the stream into XFDF file
//The operation in Save under Xamarin varies between Windows Phone, Android, and iOS platforms. Refer to the PDF/Xamarin section for respective code samples
if (Device.OS == TargetPlatform.WinPhone || Device.OS == TargetPlatform.Windows)
{
Xamarin.Forms.DependencyService.Get<ISaveWindowsPhone>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
else
{
Xamarin.Forms.DependencyService.Get<ISave>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
Creating dynamic XFA forms
The below sample illustrates how to create a dynamic XFA forms.
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Set the page size
document.PageSettings.PageSize = PdfPageSize.A4;
//Add a new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form
PdfXfaForm mainForm = new PdfXfaForm("subform1",xfaPage,xfaPage.GetClientSize ().Width);
//Create a text element and add the properties
PdfXfaTextElement textElement = new PdfXfaTextElement("Hello World!!!");
//Set font
textElement.Font = new PdfStandardFont(PdfFontFamily.Helvetica, 14, PdfFontStyle.Bold);
//Add the text element to the XFA form
mainForm.Fields.Add(textElement);
//Add the XFA form to the document
document.XfaForm = mainForm;
//Save the document dynamic form
document.Save("XfaForm.pdf",PdfXfaType.Dynamic);
//close the document
document.Close();
'Create a new PDF XFA document
Dim document As New PdfXfaDocument()
'Set the page size
document.PageSettings.PageSize = PdfPageSize.A4
'Add a new XFA page
Dim xfaPage As PdfXfaPage = document.Pages.Add()
'Create a new PDF XFA form
Dim mainForm As New PdfXfaForm("subform1", xfaPage,xfaPage.GetClientSize().Width)
'Create a text element and add the properties
Dim textElement As New PdfXfaTextElement("Hello World!!!")
'Set font
textElement.Font = New PdfStandardFont(PdfFontFamily.Helvetica, 14, PdfFontStyle.Bold)
'Add the text element to the XFA form
mainForm.Fields.Add(textElement)
'Add the XFA form to the document
document.XfaForm = mainForm
'Save the document dynamic form
document.Save("XfaForm.pdf",PdfXfaType.Dynamic)
'close the document
document.Close()
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Set the page size
document.PageSettings.PageSize = PdfPageSize.A4;
//Add a new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form
PdfXfaForm mainForm = new PdfXfaForm("subform1", xfaPage, xfaPage.GetClientSize().Width);
//Create a text element and add the properties
PdfXfaTextElement textElement = new PdfXfaTextElement("Hello World!!!");
//Set font
textElement.Font = new PdfStandardFont(PdfFontFamily.Helvetica, 14, PdfFontStyle.Bold);
//Add the text element to the XFA form
mainForm.Fields.Add(textElement);
//Add the XFA form to the document
document.XfaForm = mainForm;
//Save the PDF document to stream
MemoryStream stream = new MemoryStream();
document.Save(stream, PdfXfaType.Dynamic);
//Close the document
document.Close();
//Save the stream as PDF document file in local machine. Refer to PDF/UWP section for respected code samples
Save(stream, "XfaForm.pdf");
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Set the page size
document.PageSettings.PageSize = PdfPageSize.A4;
//Add a new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form
PdfXfaForm mainForm = new PdfXfaForm("subform1", xfaPage, xfaPage.GetClientSize().Width);
//Create a text element and add the properties
PdfXfaTextElement textElement = new PdfXfaTextElement("Hello World!!!");
//Set font
textElement.Font = new PdfStandardFont(PdfFontFamily.Helvetica, 14, PdfFontStyle.Bold);
//Add the text element to the XFA form
mainForm.Fields.Add(textElement);
//Add the XFA form to the document
document.XfaForm = mainForm;
//Save the PDF document to stream
MemoryStream stream = new MemoryStream();
document.Save(stream, PdfXfaType.Dynamic);
//If the position is not set to '0' then the PDF will be empty
stream.Position = 0;
//Close the document
document.Close();
//Defining the ContentType for pdf file
string contentType = "application/pdf";
//Define the file name
string fileName = "XfaForm.pdf";
//Creates a FileContentResult object by using the file contents, content type, and file name
return File(stream, contentType, fileName);
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Set the page size
document.PageSettings.PageSize = PdfPageSize.A4;
//Add a new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form
PdfXfaForm mainForm = new PdfXfaForm("subform1", xfaPage, xfaPage.GetClientSize().Width);
//Create a text element and add the properties
PdfXfaTextElement textElement = new PdfXfaTextElement("Hello World!!!");
//Set font
textElement.Font = new PdfStandardFont(PdfFontFamily.Helvetica, 14, PdfFontStyle.Bold);
//Add the text element to the XFA form
mainForm.Fields.Add(textElement);
//Add the XFA form to the document
document.XfaForm = mainForm;
//Save the PDF document to stream
MemoryStream stream = new MemoryStream();
document.Save(stream, PdfXfaType.Dynamic);
//If the position is not set to '0' then the PDF will be empty
stream.Position = 0;
//Close the document
document.Close();
//Save the stream into XFDF file
//The operation in Save under Xamarin varies between Windows Phone, Android, and iOS platforms. Refer to the PDF/Xamarin section for respective code samples
if (Device.OS == TargetPlatform.WinPhone || Device.OS == TargetPlatform.Windows)
{
Xamarin.Forms.DependencyService.Get<ISaveWindowsPhone>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
else
{
Xamarin.Forms.DependencyService.Get<ISave>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
Creating static XFA forms
The below sample illustrates how to create a static XFA forms.
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Set the page size
document.PageSettings.PageSize = PdfPageSize.A4;
//Add a new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form
PdfXfaForm mainForm = new PdfXfaForm("subform1",xfaPage,xfaPage.GetClientSize ().Width);
//Create a text element and add the properties
PdfXfaTextElement textElement = new PdfXfaTextElement("Hello World!!!");
//Set font
textElement.Font = new PdfStandardFont(PdfFontFamily.Helvetica, 14, PdfFontStyle.Bold);
//Add the text element to the XFA form
mainForm.Fields.Add(textElement);
//Add the XFA form to the document
document.XfaForm = mainForm;
//Save the document with static form
document.Save("XfaForm.pdf",PdfXfaType.Static);
//close the document
document.Close();
'Create a new PDF XFA document
Dim document As New PdfXfaDocument()
'Set the page size
document.PageSettings.PageSize = PdfPageSize.A4
'Add a new XFA page
Dim xfaPage As PdfXfaPage = document.Pages.Add()
'Create a new PDF XFA form
Dim mainForm As New PdfXfaForm("subform1",xfaPage,xfaPage.GetClientSize().Width)
'Create a text element and add the properties
Dim textElement As New PdfXfaTextElement("Hello World!!!")
'Set font
textElement.Font = New PdfStandardFont(PdfFontFamily.Helvetica, 14, PdfFontStyle.Bold)
'Add the text element to the XFA form
mainForm.Fields.Add(textElement)
'Add the XFA form to the document
document.XfaForm = mainForm
'Save the document with static form
document.Save("XfaForm.pdf",PdfXfaType.Static)
'close the document
document.Close()
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Set the page size
document.PageSettings.PageSize = PdfPageSize.A4;
//Add a new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form
PdfXfaForm mainForm = new PdfXfaForm("subform1", xfaPage, xfaPage.GetClientSize().Width);
//Create a text element and add the properties
PdfXfaTextElement textElement = new PdfXfaTextElement("Hello World!!!");
//Set font
textElement.Font = new PdfStandardFont(PdfFontFamily.Helvetica, 14, PdfFontStyle.Bold);
//Add the text element to the XFA form
mainForm.Fields.Add(textElement);
//Add the XFA form to the document
document.XfaForm = mainForm;
//Save the PDF document to stream
MemoryStream stream = new MemoryStream();
document.Save(stream, PdfXfaType.Static);
//Close the document
document.Close();
//Save the stream as PDF document file in local machine. Refer to PDF/UWP section for respected code samples
Save(stream, "XfaForm.pdf");
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Set the page size
document.PageSettings.PageSize = PdfPageSize.A4;
//Add a new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form
PdfXfaForm mainForm = new PdfXfaForm("subform1", xfaPage, xfaPage.GetClientSize().Width);
//Create a text element and add the properties
PdfXfaTextElement textElement = new PdfXfaTextElement("Hello World!!!");
//Set font
textElement.Font = new PdfStandardFont(PdfFontFamily.Helvetica, 14, PdfFontStyle.Bold);
//Add the text element to the XFA form
mainForm.Fields.Add(textElement);
//Add the XFA form to the document
document.XfaForm = mainForm;
//Save the PDF document to stream
MemoryStream stream = new MemoryStream();
document.Save(stream, PdfXfaType.Static);
//If the position is not set to '0' then the PDF will be empty
stream.Position = 0;
//Close the document
document.Close();
//Defining the ContentType for pdf file
string contentType = "application/pdf";
//Define the file nam
string fileName = "XfaForm.pdf";
//Creates a FileContentResult object by using the file contents, content type, and file name
return File(stream, contentType, fileName);
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Set the page size
document.PageSettings.PageSize = PdfPageSize.A4;
//Add a new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form
PdfXfaForm mainForm = new PdfXfaForm("subform1", xfaPage, xfaPage.GetClientSize().Width);
//Create a text element and add the properties
PdfXfaTextElement textElement = new PdfXfaTextElement("Hello World!!!");
//Set font
textElement.Font = new PdfStandardFont(PdfFontFamily.Helvetica, 14, PdfFontStyle.Bold);
//Add the text element to the XFA form
mainForm.Fields.Add(textElement);
//Add the XFA form to the document
document.XfaForm = mainForm;
//Save the PDF document to stream
MemoryStream stream = new MemoryStream();
document.Save(stream, PdfXfaType.Static);
//If the position is not set to '0' then the PDF will be empty
stream.Position = 0;
//Close the document
document.Close();
//Save the stream into XFDF file
//The operation in Save under Xamarin varies between Windows Phone, Android, and iOS platforms. Refer to the PDF/Xamarin section for respective code samples
if (Device.OS == TargetPlatform.WinPhone || Device.OS == TargetPlatform.Windows)
{
Xamarin.Forms.DependencyService.Get<ISaveWindowsPhone>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
else
{
Xamarin.Forms.DependencyService.Get<ISave>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
Creating XFA form fields
Adding the XFA text box field.
The below code snippet illustrates how to add a textbox field to a new PDF document using PdfXfaTextBoxField class.
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add a new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form
PdfXfaForm mainForm = new PdfXfaForm("subform1",xfaPage,xfaPage.GetClientSize ().Width);
//Create a textbox field and add the properties
PdfXfaTextBoxField textBoxField = new PdfXfaTextBoxField("FirstName",new SizeF(200,20));
//Set the caption text
textBoxField.Caption.Text = "First Name";
//Set the tool tip
textBoxField.ToolTip = "First Name";
//Add the field to the XFA form
mainForm.Fields.Add(textBoxField);
//Add the XFA form to the document
document.XfaForm = mainForm;
//Save the document
document.Save("XfaForm.pdf",PdfXfaType.Dynamic);
//close the document
document.Close();
'Create a new PDF XFA document
Dim document As New PdfXfaDocument()
'Add a new XFA page
Dim xfaPage As PdfXfaPage = document.Pages.Add()
'Create a new PDF XFA form
Dim mainForm As New PdfXfaForm("subform1",xfaPage,xfaPage.GetClientSize().Width)
'Create a textbox field and add the properties
Dim textBoxField As New PdfXfaTextBoxField("FirstName",New SizeF(200,20))
'Set the caption text
textBoxField.Caption.Text = "First Name"
'Set the tool tip
textBoxField.ToolTip = "First Name"
'Add the field to the XFA form
mainForm.Fields.Add(textBoxField)
'Add the XFA form to the document
document.XfaForm = mainForm
'Save the document
document.Save("XfaForm.pdf",PdfXfaType.Dynamic)
'close the document
document.Close()
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add a new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form
PdfXfaForm mainForm = new PdfXfaForm("subform1", xfaPage, xfaPage.GetClientSize().Width);
//Create a textbox field and add the properties
PdfXfaTextBoxField textBoxField = new PdfXfaTextBoxField("FirstName", new SizeF(200, 20));
//Set the caption text
textBoxField.Caption.Text = "First Name";
//Set the tool tip
textBoxField.ToolTip = "First Name";
//Add the field to the XFA form
mainForm.Fields.Add(textBoxField);
//Add the XFA form to the document
document.XfaForm = mainForm;
//Save the PDF document to stream
MemoryStream stream = new MemoryStream();
document.Save(stream, PdfXfaType.Dynamic);
//Close the document
document.Close();
//Save the stream as PDF document file in local machine. Refer to PDF/UWP section for respected code samples
Save(stream, "XfaForm.pdf");
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add a new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form
PdfXfaForm mainForm = new PdfXfaForm("subform1", xfaPage, xfaPage.GetClientSize().Width);
//Create a textbox field and add the properties
PdfXfaTextBoxField textBoxField = new PdfXfaTextBoxField("FirstName", new SizeF(200, 20));
//Set the caption text
textBoxField.Caption.Text = "First Name";
//Set the tool tip
textBoxField.ToolTip = "First Name";
//Add the field to the XFA form
mainForm.Fields.Add(textBoxField);
//Add the XFA form to the document
document.XfaForm = mainForm;
//Save the PDF document to stream
MemoryStream stream = new MemoryStream();
document.Save(stream, PdfXfaType.Dynamic);
//If the position is not set to '0' then the PDF will be empty
stream.Position = 0;
//Close the document
document.Close();
//Defining the ContentType for pdf file
string contentType = "application/pdf";
//Define the file name
string fileName = "XfaForm.pdf";
//Creates a FileContentResult object by using the file contents, content type, and file name
return File(stream, contentType, fileName);
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add a new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form
PdfXfaForm mainForm = new PdfXfaForm("subform1", xfaPage, xfaPage.GetClientSize().Width);
//Create a textbox field and add the properties
PdfXfaTextBoxField textBoxField = new PdfXfaTextBoxField("FirstName", new SizeF(200, 20));
//Set the caption text
textBoxField.Caption.Text = "First Name";
//Set the tool tip
textBoxField.ToolTip = "First Name";
//Add the field to the XFA form
mainForm.Fields.Add(textBoxField);
//Add the XFA form to the document
document.XfaForm = mainForm;
//Save the PDF document to stream
MemoryStream stream = new MemoryStream();
document.Save(stream, PdfXfaType.Dynamic);
//If the position is not set to '0' then the PDF will be empty
stream.Position = 0;
//Close the document
document.Close();
//Save the stream into XFDF file
//The operation in Save under Xamarin varies between Windows Phone, Android, and iOS platforms. Refer to the PDF/Xamarin section for respective code samples
if (Device.OS == TargetPlatform.WinPhone || Device.OS == TargetPlatform.Windows)
{
Xamarin.Forms.DependencyService.Get<ISaveWindowsPhone>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
else
{
Xamarin.Forms.DependencyService.Get<ISave>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
The below code snippet illustrates how to add a textbox field to an existing PDF document
//Load the existing XFA document
PdfLoadedXfaDocument loadedDocument = new PdfLoadedXfaDocument("XfaForm.pdf");
//Load the existing XFA form
PdfLoadedXfaForm loadedForm = loadedDocument.XfaForm;
//Create a textbox field and add the properties
PdfXfaTextBoxField textBoxField = new PdfXfaTextBoxField("FirstName", new SizeF(200, 20));
//Set the caption text
textBoxField.Caption.Text = "First Name";
//Set the tool tip
textBoxField.ToolTip = "First Name";
//Add the field to the existing XFA form
loadedForm.Fields.Add(textBoxField);
//Save the document
loadedDocument.Save("XfaForm.pdf");
//Close the document
loadedDocument.Close();
'Load the existing XFA document
Dim loadedDocument As New PdfLoadedXfaDocument("XfaForm.pdf")
'Load the existing XFA form
Dim loadedForm As PdfLoadedXfaForm = loadedDocument.XfaForm
'Create a textbox field and add the properties
Dim textBoxField As New PdfXfaTextBoxField("FirstName", New SizeF(200, 20))
'Set the caption text
textBoxField.Caption.Text = "First Name"
'Set the tool tip
textBoxField.ToolTip = "First Name"
'Add the field to the existing XFA form
loadedForm.Fields.Add(textBoxField)
'Save the document
loadedDocument.Save("XfaForm.pdf")
'Close the document
loadedDocument.Close()
//Load the PDF document as stream
Stream docStream = typeof(MainPage).GetTypeInfo().Assembly.GetManifestResourceStream("Sample.Assets.Data.XfaForm.pdf");
//Load the existing XFA document
PdfLoadedXfaDocument loadedDocument = new PdfLoadedXfaDocument(docStream);
//Load the existing XFA form
PdfLoadedXfaForm loadedForm = loadedDocument.XfaForm;
//Create a textbox field and add the properties
PdfXfaTextBoxField textBoxField = new PdfXfaTextBoxField("FirstName", new SizeF(200, 20));
//Set the caption text
textBoxField.Caption.Text = "First Name";
//Set the tool tip
textBoxField.ToolTip = "First Name";
//Add the field to the existing XFA form
loadedForm.Fields.Add(textBoxField);
MemoryStream stream = new MemoryStream();
loadedDocument.Save(stream);
//Close the document
loadedDocument.Close();
//Save the stream as PDF document file in local machine. Refer to PDF/UWP section for respected code samples
Save(stream, "XfaForm.pdf");
//Load the PDF document
FileStream docStream = new FileStream(fileName, FileMode.Open, FileAccess.Read);
//Load the existing XFA document
PdfLoadedXfaDocument loadedDocument = new PdfLoadedXfaDocument(docStream);
//Load the existing XFA form
PdfLoadedXfaForm loadedForm = loadedDocument.XfaForm;
//Create a textbox field and add the properties
PdfXfaTextBoxField textBoxField = new PdfXfaTextBoxField("FirstName", new SizeF(200, 20));
//Set the caption text
textBoxField.Caption.Text = "First Name";
//Set the tool tip
textBoxField.ToolTip = "First Name";
//Add the field to the existing XFA form
loadedForm.Fields.Add(textBoxField);
MemoryStream stream = new MemoryStream();
loadedDocument.Save(stream);
//If the position is not set to '0' then the PDF will be empty
stream.Position = 0;
//Close the document
loadedDocument.Close();
//Defining the ContentType for pdf file
string contentType = "application/pdf";
//Define the file name
string fileName = "XfaForm.pdf";
//Creates a FileContentResult object by using the file contents, content type, and file name
return File(stream, contentType, fileName);
//Load the PDF document
Stream docStream = typeof(App).GetTypeInfo().Assembly.GetManifestResourceStream("Sample.Assets.input.pdf");
//Load the existing XFA document
PdfLoadedXfaDocument loadedDocument = new PdfLoadedXfaDocument(docStream);
//Load the existing XFA form
PdfLoadedXfaForm loadedForm = loadedDocument.XfaForm;
//Create a textbox field and add the properties
PdfXfaTextBoxField textBoxField = new PdfXfaTextBoxField("FirstName", new SizeF(200, 20));
//Set the caption text
textBoxField.Caption.Text = "First Name";
//Set the tool tip
textBoxField.ToolTip = "First Name";
//Add the field to the existing XFA form
loadedForm.Fields.Add(textBoxField);
MemoryStream stream = new MemoryStream();
loadedDocument.Save(stream);
//Close the document
loadedDocument.Close();
//If the position is not set to '0' then the PDF will be empty
stream.Position = 0;
//Save the stream into XFDF file
//The operation in Save under Xamarin varies between Windows Phone, Android, and iOS platforms. Refer to the PDF/Xamarin section for respective code samples
if (Device.OS == TargetPlatform.WinPhone || Device.OS == TargetPlatform.Windows)
{
Xamarin.Forms.DependencyService.Get<ISaveWindowsPhone>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
else
{
Xamarin.Forms.DependencyService.Get<ISave>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
Adding the XFA numeric field
The below code snippet illustrates how to add a numeric field to a new PDF document using PdfXfaNumericField class.
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add a new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form
PdfXfaForm mainForm = new PdfXfaForm("subform1",xfaPage,xfaPage.GetClientSize ().Width);
//Create a numeric field and add the properties
PdfXfaNumericField numericField = new PdfXfaNumericField("numericField",new SizeF(200,20));
//Set the caption text
numericField.Caption.Text = "Numeric Field";
//Add the field to the XFA form
mainForm.Fields.Add(numericField);
//Add the XFA form to the document
document.XfaForm = mainForm;
//Save the document
document.Save("XfaForm.pdf",PdfXfaType.Dynamic);
//close the document
document.Close();
'Create a new PDF XFA document
Dim document As New PdfXfaDocument()
'Add a new XFA page
Dim xfaPage As PdfXfaPage = document.Pages.Add()
'Create a new PDF XFA form
Dim mainForm As New PdfXfaForm("subform1",xfaPage,xfaPage.GetClientSize().Width)
'Create a numeric field and add the properties
Dim numericField As New PdfXfaNumericField("numericField",New SizeF(200,20))
'Set the caption text
numericField.Caption.Text = "Numeric Field"
'Add the field to the XFA form
mainForm.Fields.Add(numericField)
'Add the XFA form to the document
document.XfaForm = mainForm
'Save the document
document.Save("XfaForm.pdf",PdfXfaType.Dynamic)
'close the document
document.Close()
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add a new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form
PdfXfaForm mainForm = new PdfXfaForm("subform1", xfaPage, xfaPage.GetClientSize().Width);
//Create a numeric field and add the properties
PdfXfaNumericField numericField = new PdfXfaNumericField("numericField", new SizeF(200, 20));
//Set the caption text
numericField.Caption.Text = "Numeric Field";
//Add the field to the XFA form
mainForm.Fields.Add(numericField);
//Add the XFA form to the document
document.XfaForm = mainForm;
//Save the PDF document to stream
MemoryStream stream = new MemoryStream();
document.Save(stream, PdfXfaType.Dynamic);
//Close the document
document.Close();
//Save the stream as PDF document file in local machine. Refer to PDF/UWP section for respected code samples
Save(stream, "XfaForm.pdf");
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add a new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form
PdfXfaForm mainForm = new PdfXfaForm("subform1", xfaPage, xfaPage.GetClientSize().Width);
//Create a numeric field and add the properties
PdfXfaNumericField numericField = new PdfXfaNumericField("numericField", new SizeF(200, 20));
//Set the caption text
numericField.Caption.Text = "Numeric Field";
//Add the field to the XFA form
mainForm.Fields.Add(numericField);
//Add the XFA form to the document
document.XfaForm = mainForm;
//Save the PDF document to stream
MemoryStream stream = new MemoryStream();
document.Save(stream, PdfXfaType.Dynamic);
//If the position is not set to '0' then the PDF will be empty
stream.Position = 0;
//Close the document
document.Close();
//Defining the ContentType for pdf file
string contentType = "application/pdf";
//Define the file name
string fileName = "XfaForm.pdf";
//Creates a FileContentResult object by using the file contents, content type, and file name
return File(stream, contentType, fileName);
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add a new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form
PdfXfaForm mainForm = new PdfXfaForm("subform1", xfaPage, xfaPage.GetClientSize().Width);
//Create a numeric field and add the properties
PdfXfaNumericField numericField = new PdfXfaNumericField("numericField", new SizeF(200, 20));
//Set the caption text
numericField.Caption.Text = "Numeric Field";
//Add the field to the XFA form
mainForm.Fields.Add(numericField);
//Add the XFA form to the document
document.XfaForm = mainForm;
//Save the PDF document to stream
MemoryStream stream = new MemoryStream();
document.Save(stream, PdfXfaType.Dynamic);
//If the position is not set to '0' then the PDF will be empty
stream.Position = 0;
//Close the document
document.Close();
//Save the stream into XFDF file
//The operation in Save under Xamarin varies between Windows Phone, Android, and iOS platforms. Refer to the PDF/Xamarin section for respective code samples
if (Device.OS == TargetPlatform.WinPhone || Device.OS == TargetPlatform.Windows)
{
Xamarin.Forms.DependencyService.Get<ISaveWindowsPhone>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
else
{
Xamarin.Forms.DependencyService.Get<ISave>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
The below code snippet illustrates how to add the numeric field to an existing PDF document.
//Load the existing XFA document
PdfLoadedXfaDocument loadedDocument = new PdfLoadedXfaDocument("XfaForm.pdf");
//Load the existing XFA form
PdfLoadedXfaForm loadedForm = loadedDocument.XfaForm;
//Create a numeric field and add the properties
PdfXfaNumericField numericField = new PdfXfaNumericField("numericField",new SizeF(200,20));
//Set the caption text
numericField.Caption.Text = "Numeric Field";
//Add the field to the existing XFA form
loadedForm.Fields.Add(numericField);
//Save the document
loadedDocument.Save("XfaForm.pdf");
//Close the document
loadedDocument.Close();
'Load the existing XFA document
Dim loadedDocument As New PdfLoadedXfaDocument("XfaForm.pdf")
'Load the existing XFA form
Dim loadedForm As PdfLoadedXfaForm = loadedDocument.XfaForm
'Create a numeric field and add the properties
Dim numericField As New PdfXfaNumericField("numericField",New SizeF(200,20))
'Set the caption text
numericField.Caption.Text = "Numeric Field"
'Add the field to the existing XFA form
loadedForm.Fields.Add(numericField)
'Save the document
loadedDocument.Save("XfaForm.pdf")
'Close the document
loadedDocument.Close()
//Load the PDF document as stream
Stream docStream = typeof(MainPage).GetTypeInfo().Assembly.GetManifestResourceStream("Sample.Assets.Data.XfaForm.pdf");
//Load the existing XFA document
PdfLoadedXfaDocument loadedDocument = new PdfLoadedXfaDocument(docStream);
//Load the existing XFA form
PdfLoadedXfaForm loadedForm = loadedDocument.XfaForm;
//Create a numeric field and add the properties
PdfXfaNumericField numericField = new PdfXfaNumericField("numericField", new SizeF(200, 20));
//Set the caption text
numericField.Caption.Text = "Numeric Field";
//Add the field to the existing XFA form
loadedForm.Fields.Add(numericField);
MemoryStream stream = new MemoryStream();
loadedDocument.Save(stream);
//Close the document
loadedDocument.Close();
//Save the stream as PDF document file in local machine. Refer to PDF/UWP section for respected code samples
Save(stream, "XfaForm.pdf");
//Load the PDF document
FileStream docStream = new FileStream(fileName, FileMode.Open, FileAccess.Read);
//Load the existing XFA document
PdfLoadedXfaDocument loadedDocument = new PdfLoadedXfaDocument(docStream);
//Load the existing XFA form
PdfLoadedXfaForm loadedForm = loadedDocument.XfaForm;
//Create a numeric field and add the properties
PdfXfaNumericField numericField = new PdfXfaNumericField("numericField", new SizeF(200, 20));
//Set the caption text
numericField.Caption.Text = "Numeric Field";
//Add the field to the existing XFA form
loadedForm.Fields.Add(numericField);
MemoryStream stream = new MemoryStream();
loadedDocument.Save(stream);
//If the position is not set to '0' then the PDF will be empty
stream.Position = 0;
//Close the document
loadedDocument.Close();
//Defining the ContentType for pdf file
string contentType = "application/pdf";
//Define the file name
string fileName = "XfaForm.pdf";
//Creates a FileContentResult object by using the file contents, content type, and file name
return File(stream, contentType, fileName);
//Load the PDF document
Stream docStream = typeof(App).GetTypeInfo().Assembly.GetManifestResourceStream("Sample.Assets.input.pdf");
//Load the existing XFA document
PdfLoadedXfaDocument loadedDocument = new PdfLoadedXfaDocument(docStream);
//Load the existing XFA form
PdfLoadedXfaForm loadedForm = loadedDocument.XfaForm;
//Create a numeric field and add the properties
PdfXfaNumericField numericField = new PdfXfaNumericField("numericField", new SizeF(200, 20));
//Set the caption text
numericField.Caption.Text = "Numeric Field";
//Add the field to the existing XFA form
loadedForm.Fields.Add(numericField);
MemoryStream stream = new MemoryStream();
loadedDocument.Save(stream);
//If the position is not set to '0' then the PDF will be empty
stream.Position = 0;
//Close the document
loadedDocument.Close();
//Save the stream into XFDF file
//The operation in Save under Xamarin varies between Windows Phone, Android, and iOS platforms. Refer to the PDF/Xamarin section for respective code samples
if (Device.OS == TargetPlatform.WinPhone || Device.OS == TargetPlatform.Windows)
{
Xamarin.Forms.DependencyService.Get<ISaveWindowsPhone>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
else
{
Xamarin.Forms.DependencyService.Get<ISave>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
Adding the XFA combo box field
The below code snippet illustrates how to add a combo box field to a new PDF document using PdfXfaComboBoxField class.
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add a new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form
PdfXfaForm mainForm = new PdfXfaForm("subform1",xfaPage,xfaPage.GetClientSize ().Width);
//Create a combo box field and add the properties
PdfXfaComboBoxField comboBoxField = new PdfXfaComboBoxField("comboField", new SizeF(200, 20));
//Set the caption text
comboBoxField.Caption.Text = "Job Title";
//Add the combo box items
comboBoxField.Items.Add("Development.");
comboBoxField.Items.Add("Support.");
comboBoxField.Items.Add("Documentation.");
//Add the field to the XFA form
mainForm.Fields.Add(comboBoxField);
//Add the XFA form to the document
document.XfaForm = mainForm;
//Save the document
document.Save("XfaForm.pdf",PdfXfaType.Dynamic);
//close the document
document.Close();
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add a new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form
PdfXfaForm mainForm = new PdfXfaForm("subform1",xfaPage,xfaPage.GetClientSize ().Width);
//Create a combo box field and add the properties
PdfXfaComboBoxField comboBoxField = new PdfXfaComboBoxField("comboField", new SizeF(200, 20));
//Set the caption text
comboBoxField.Caption.Text = "Job Title";
//Add the combo box items
comboBoxField.Items.Add("Development.");
comboBoxField.Items.Add("Support.");
comboBoxField.Items.Add("Documentation.");
//Add the field to the XFA form
mainForm.Fields.Add(comboBoxField);
//Add the XFA form to the document
document.XfaForm = mainForm;
//Save the document
document.Save("XfaForm.pdf",PdfXfaType.Dynamic);
//close the document
document.Close();
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add a new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form
PdfXfaForm mainForm = new PdfXfaForm("subform1", xfaPage, xfaPage.GetClientSize().Width);
//Create a combo box field and add the properties
PdfXfaComboBoxField comboBoxField = new PdfXfaComboBoxField("comboField", new SizeF(200, 20));
//Set the caption text
comboBoxField.Caption.Text = "Job Title";
//Add the combo box items
comboBoxField.Items.Add("Development.");
comboBoxField.Items.Add("Support.");
comboBoxField.Items.Add("Documentation.");
//Add the field to the XFA form
mainForm.Fields.Add(comboBoxField);
//Add the XFA form to the document
document.XfaForm = mainForm;
MemoryStream stream = new MemoryStream();
document.Save(stream, PdfXfaType.Dynamic);
//Close the document
document.Close();
//Save the stream as PDF document file in local machine. Refer to PDF/UWP section for respected code samples
Save(stream, "XfaForm.pdf");
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add a new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form
PdfXfaForm mainForm = new PdfXfaForm("subform1", xfaPage, xfaPage.GetClientSize().Width);
//Create a combo box field and add the properties
PdfXfaComboBoxField comboBoxField = new PdfXfaComboBoxField("comboField", new SizeF(200, 20));
//Set the caption text
comboBoxField.Caption.Text = "Job Title";
//Add the combo box items
comboBoxField.Items.Add("Development.");
comboBoxField.Items.Add("Support.");
comboBoxField.Items.Add("Documentation.");
//Add the field to the XFA form
mainForm.Fields.Add(comboBoxField);
//Add the XFA form to the document
document.XfaForm = mainForm;
MemoryStream stream = new MemoryStream();
document.Save(stream, PdfXfaType.Dynamic);
//If the position is not set to '0' then the PDF will be empty
stream.Position = 0;
//Close the document
document.Close();
//Defining the ContentType for pdf file
string contentType = "application/pdf";
//Define the file name
string fileName = "XfaForm.pdf";
//Creates a FileContentResult object by using the file contents, content type, and file name
return File(stream, contentType, fileName);
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add a new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form
PdfXfaForm mainForm = new PdfXfaForm("subform1", xfaPage, xfaPage.GetClientSize().Width);
//Create a combo box field and add the properties
PdfXfaComboBoxField comboBoxField = new PdfXfaComboBoxField("comboField", new SizeF(200, 20));
//Set the caption text
comboBoxField.Caption.Text = "Job Title";
//Add the combo box items
comboBoxField.Items.Add("Development.");
comboBoxField.Items.Add("Support.");
comboBoxField.Items.Add("Documentation.");
//Add the field to the XFA form
mainForm.Fields.Add(comboBoxField);
//Add the XFA form to the document
document.XfaForm = mainForm;
MemoryStream stream = new MemoryStream();
document.Save(stream, PdfXfaType.Dynamic);
//If the position is not set to '0' then the PDF will be empty
stream.Position = 0;
//Close the document
document.Close();
//Save the stream into XFDF file
//The operation in Save under Xamarin varies between Windows Phone, Android, and iOS platforms. Refer to the PDF/Xamarin section for respective code samples
if (Device.OS == TargetPlatform.WinPhone || Device.OS == TargetPlatform.Windows)
{
Xamarin.Forms.DependencyService.Get<ISaveWindowsPhone>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
else
{
Xamarin.Forms.DependencyService.Get<ISave>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
The below code snippet illustrates how to add the combo box field to an existing PDF document.
//Load the existing XFA document
PdfLoadedXfaDocument loadedDocument = new PdfLoadedXfaDocument("XfaForm.pdf");
//Load the existing XFA form
PdfLoadedXfaForm loadedForm = loadedDocument.XfaForm;
//Create a combo box field and add the properties
PdfXfaComboBoxField comboBoxField = new PdfXfaComboBoxField("comboField", new SizeF(200, 20));
//Set the caption text
comboBoxField.Caption.Text = "Job Title";
//Add the combo box items
comboBoxField.Items.Add("Development.");
comboBoxField.Items.Add("Support.");
comboBoxField.Items.Add("Documentation.");
//Add the field to the existing XFA form
loadedForm.Fields.Add(comboBoxField);
//Save the document
loadedDocument.Save("XfaForm.pdf");
//Close the document
loadedDocument.Close();
'Load the existing XFA document
Dim loadedDocument As New PdfLoadedXfaDocument("XfaForm.pdf")
'Load the existing XFA form
Dim loadedForm As PdfLoadedXfaForm = loadedDocument.XfaForm
'Create a combo box field and add the properties
Dim comboBoxField As New PdfXfaComboBoxField("comboField", New SizeF(200, 20))
'Set the caption text
comboBoxField.Caption.Text = "Job Title"
'Add the combo box items
comboBoxField.Items.Add("Development.")
comboBoxField.Items.Add("Support.")
comboBoxField.Items.Add("Documentation.")
'Add the field to the existing XFA form
loadedForm.Fields.Add(comboBoxField)
'Save the document
loadedDocument.Save("XfaForm.pdf")
'Close the document
loadedDocument.Close()
//Load the PDF document as stream
Stream docStream = typeof(MainPage).GetTypeInfo().Assembly.GetManifestResourceStream("Sample.Assets.Data.XfaForm.pdf");
//Load the existing XFA document
PdfLoadedXfaDocument loadedDocument = new PdfLoadedXfaDocument(docStream);
//Load the existing XFA form
PdfLoadedXfaForm loadedForm = loadedDocument.XfaForm;
//Create a combo box field and add the properties
PdfXfaComboBoxField comboBoxField = new PdfXfaComboBoxField("comboField", new SizeF(200, 20));
//Set the caption text
comboBoxField.Caption.Text = "Job Title";
//Add the combo box items
comboBoxField.Items.Add("Development.");
comboBoxField.Items.Add("Support.");
comboBoxField.Items.Add("Documentation.");
//Add the field to the existing XFA form
loadedForm.Fields.Add(comboBoxField);
MemoryStream stream = new MemoryStream();
loadedDocument.Save(stream);
//Close the document
loadedDocument.Close();
//Save the stream as PDF document file in local machine. Refer to PDF/UWP section for respected code samples
Save(stream, "XfaForm.pdf");
//Load the PDF document
FileStream docStream = new FileStream(fileName, FileMode.Open, FileAccess.Read);
//Load the existing XFA document
PdfLoadedXfaDocument loadedDocument = new PdfLoadedXfaDocument(docStream);
//Load the existing XFA form
PdfLoadedXfaForm loadedForm = loadedDocument.XfaForm;
//Create a combo box field and add the properties
PdfXfaComboBoxField comboBoxField = new PdfXfaComboBoxField("comboField", new SizeF(200, 20));
//Set the caption text
comboBoxField.Caption.Text = "Job Title";
//Add the combo box items
comboBoxField.Items.Add("Development.");
comboBoxField.Items.Add("Support.");
comboBoxField.Items.Add("Documentation.");
//Add the field to the existing XFA form
loadedForm.Fields.Add(comboBoxField);
MemoryStream stream = new MemoryStream();
loadedDocument.Save(stream);
//If the position is not set to '0' then the PDF will be empty
stream.Position = 0;
//Close the document
loadedDocument.Close();
//Defining the ContentType for pdf file
string contentType = "application/pdf";
//Define the file name
string fileName = "XfaForm.pdf";
//Creates a FileContentResult object by using the file contents, content type, and file name
return File(stream, contentType, fileName);
//Load the PDF document
Stream docStream = typeof(App).GetTypeInfo().Assembly.GetManifestResourceStream("Sample.Assets.input.pdf");
//Load the existing XFA document
PdfLoadedXfaDocument loadedDocument = new PdfLoadedXfaDocument(docStream);
//Load the existing XFA form
PdfLoadedXfaForm loadedForm = loadedDocument.XfaForm;
//Create a combo box field and add the properties
PdfXfaComboBoxField comboBoxField = new PdfXfaComboBoxField("comboField", new SizeF(200, 20));
//Set the caption text
comboBoxField.Caption.Text = "Job Title";
//Add the combo box items
comboBoxField.Items.Add("Development.");
comboBoxField.Items.Add("Support.");
comboBoxField.Items.Add("Documentation.");
//Add the field to the existing XFA form
loadedForm.Fields.Add(comboBoxField);
MemoryStream stream = new MemoryStream();
loadedDocument.Save(stream);
//If the position is not set to '0' then the PDF will be empty
stream.Position = 0;
//Close the document
loadedDocument.Close();
//Save the stream into XFDF file
//The operation in Save under Xamarin varies between Windows Phone, Android, and iOS platforms. Refer to the PDF/Xamarin section for respective code samples
if (Device.OS == TargetPlatform.WinPhone || Device.OS == TargetPlatform.Windows)
{
Xamarin.Forms.DependencyService.Get<ISaveWindowsPhone>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
else
{
Xamarin.Forms.DependencyService.Get<ISave>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
Adding the XFA list box field
The below code snippet illustrates how to add a list box field to a new PDF document using PdfXfaListBoxField class.
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add a new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form
PdfXfaForm mainForm = new PdfXfaForm("subform1",xfaPage,xfaPage.GetClientSize ().Width);
//Create a list box field and add the properties
PdfXfaListBoxField listBoxField = new PdfXfaListBoxField("listBoxField", new SizeF(150, 50));
//Set the caption text
listBoxField.Caption.Text = "Known Languages";
listBoxField.Caption.Position = PdfXfaPosition.Top;
listBoxField.Caption.HorizontalAlignment = PdfXfaHorizontalAlignment.Center;
//Add the list box items
listBoxField.Items.Add("English");
listBoxField.Items.Add("French");
listBoxField.Items.Add("German");
//Add the field to the XFA form
mainForm.Fields.Add(listBoxField);
//Add the XFA form to the document
document.XfaForm = mainForm;
//Save the document
document.Save("XfaForm.pdf",PdfXfaType.Dynamic);
//close the document
document.Close();
'Create a new PDF XFA document
Dim document As New PdfXfaDocument()
'Add a new XFA page
Dim xfaPage As PdfXfaPage = document.Pages.Add()
'Create a new PDF XFA form
Dim mainForm As New PdfXfaForm("subform1",xfaPage,xfaPage.GetClientSize().Width)
'Create a list box field and add the properties
Dim listBoxField As New PdfXfaListBoxField("listBoxField", New SizeF(150, 50))
'Set the caption text
listBoxField.Caption.Text = "Known Languages"
listBoxField.Caption.Position = PdfXfaPosition.Top
listBoxField.Caption.HorizontalAlignment = PdfXfaHorizontalAlignment.Center
'Add the list box items
listBoxField.Items.Add("English")
listBoxField.Items.Add("French")
listBoxField.Items.Add("German")
'Add the field to the XFA form
mainForm.Fields.Add(listBoxField)
'Add the XFA form to the document
document.XfaForm = mainForm
'Save the document
document.Save("XfaForm.pdf",PdfXfaType.Dynamic)
'close the document
document.Close()
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add a new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form
PdfXfaForm mainForm = new PdfXfaForm("subform1", xfaPage, xfaPage.GetClientSize().Width);
//Create a list box field and add the properties
PdfXfaListBoxField listBoxField = new PdfXfaListBoxField("listBoxField", new SizeF(150, 50));
//Set the caption text
listBoxField.Caption.Text = "Known Languages";
listBoxField.Caption.Position = PdfXfaPosition.Top;
listBoxField.Caption.HorizontalAlignment = PdfXfaHorizontalAlignment.Center;
//Add the list box items
listBoxField.Items.Add("English");
listBoxField.Items.Add("French");
listBoxField.Items.Add("German");
//Add the field to the XFA form
mainForm.Fields.Add(listBoxField);
//Add the XFA form to the document
document.XfaForm = mainForm;
MemoryStream stream = new MemoryStream();
document.Save(stream, PdfXfaType.Dynamic);
//Close the document
document.Close();
//Save the stream as PDF document file in local machine. Refer to PDF/UWP section for respected code samples
Save(stream, "XfaForm.pdf");
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add a new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form
PdfXfaForm mainForm = new PdfXfaForm("subform1", xfaPage, xfaPage.GetClientSize().Width);
//Create a list box field and add the properties
PdfXfaListBoxField listBoxField = new PdfXfaListBoxField("listBoxField", new SizeF(150, 50));
//Set the caption text
listBoxField.Caption.Text = "Known Languages";
listBoxField.Caption.Position = PdfXfaPosition.Top;
listBoxField.Caption.HorizontalAlignment = PdfXfaHorizontalAlignment.Center;
//Add the list box items
listBoxField.Items.Add("English");
listBoxField.Items.Add("French");
listBoxField.Items.Add("German");
//Add the field to the XFA form
mainForm.Fields.Add(listBoxField);
//Add the XFA form to the document
document.XfaForm = mainForm;
MemoryStream stream = new MemoryStream();
document.Save(stream, PdfXfaType.Dynamic);
//If the position is not set to '0' then the PDF will be empty
stream.Position = 0;
//Close the document
document.Close();
//Defining the ContentType for pdf file
string contentType = "application/pdf";
//Define the file name
string fileName = "XfaForm.pdf";
//Creates a FileContentResult object by using the file contents, content type, and file name
return File(stream, contentType, fileName);
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add a new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form
PdfXfaForm mainForm = new PdfXfaForm("subform1", xfaPage, xfaPage.GetClientSize().Width);
//Create a list box field and add the properties
PdfXfaListBoxField listBoxField = new PdfXfaListBoxField("listBoxField", new SizeF(150, 50));
//Set the caption text
listBoxField.Caption.Text = "Known Languages";
listBoxField.Caption.Position = PdfXfaPosition.Top;
listBoxField.Caption.HorizontalAlignment = PdfXfaHorizontalAlignment.Center;
//Add the list box items
listBoxField.Items.Add("English");
listBoxField.Items.Add("French");
listBoxField.Items.Add("German");
//Add the field to the XFA form
mainForm.Fields.Add(listBoxField);
//Add the XFA form to the document
document.XfaForm = mainForm;
MemoryStream stream = new MemoryStream();
document.Save(stream, PdfXfaType.Dynamic);
//If the position is not set to '0' then the PDF will be empty
stream.Position = 0;
//Close the document
document.Close();
//Save the stream into XFDF file
//The operation in Save under Xamarin varies between Windows Phone, Android, and iOS platforms. Refer to the PDF/Xamarin section for respective code samples
if (Device.OS == TargetPlatform.WinPhone || Device.OS == TargetPlatform.Windows)
{
Xamarin.Forms.DependencyService.Get<ISaveWindowsPhone>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
else
{
Xamarin.Forms.DependencyService.Get<ISave>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
The below code snippet illustrates how to add the list box field to an existing PDF document.
//Load the existing XFA document
PdfLoadedXfaDocument loadedDocument = new PdfLoadedXfaDocument("XfaForm.pdf");
//Load the existing XFA form
PdfLoadedXfaForm loadedForm = loadedDocument.XfaForm;
//Create a list box field and add the properties
PdfXfaListBoxField listBoxField = new PdfXfaListBoxField("listBoxField", new SizeF(150, 50));
//Set the caption text
listBoxField.Caption.Text = "Known Languages";
listBoxField.Caption.Position = PdfXfaPosition.Top;
listBoxField.Caption.HorizontalAlignment = PdfXfaHorizontalAlignment.Center;
//Add the list box items
listBoxField.Items.Add("English");
listBoxField.Items.Add("French");
listBoxField.Items.Add("German");
//Add the field to the existing XFA form
loadedForm.Fields.Add(listBoxField);
//Save the document
loadedDocument.Save("XfaForm.pdf");
//Close the document
loadedDocument.Close();
'Load the existing XFA document
Dim loadedDocument As New PdfLoadedXfaDocument("XfaForm.pdf")
'Load the existing XFA form
Dim loadedForm As PdfLoadedXfaForm = loadedDocument.XfaForm
'Create a list box field and add the properties
Dim listBoxField As New PdfXfaListBoxField("listBoxField", New SizeF(150, 50))
'Set the caption text
listBoxField.Caption.Text = "Known Languages"
listBoxField.Caption.Position = PdfXfaPosition.Top
listBoxField.Caption.HorizontalAlignment = PdfXfaHorizontalAlignment.Center
'Add the list box items
listBoxField.Items.Add("English")
listBoxField.Items.Add("French")
listBoxField.Items.Add("German")
'Add the field to the existing XFA form
loadedForm.Fields.Add(listBoxField)
'Save the document
loadedDocument.Save("XfaForm.pdf")
'Close the document
loadedDocument.Close()
//Load the PDF document as stream
Stream docStream = typeof(MainPage).GetTypeInfo().Assembly.GetManifestResourceStream("Sample.Assets.Data.XfaForm.pdf");
//Load the existing XFA document
PdfLoadedXfaDocument loadedDocument = new PdfLoadedXfaDocument(docStream);
//Load the existing XFA form
PdfLoadedXfaForm loadedForm = loadedDocument.XfaForm;
//Create a list box field and add the properties
PdfXfaListBoxField listBoxField = new PdfXfaListBoxField("listBoxField", new SizeF(150, 50));
//Set the caption text
listBoxField.Caption.Text = "Known Languages";
listBoxField.Caption.Position = PdfXfaPosition.Top;
listBoxField.Caption.HorizontalAlignment = PdfXfaHorizontalAlignment.Center;
//Add the list box items
listBoxField.Items.Add("English");
listBoxField.Items.Add("French");
listBoxField.Items.Add("German");
//Add the field to the existing XFA form
loadedForm.Fields.Add(listBoxField);
MemoryStream stream = new MemoryStream();
loadedDocument.Save(stream);
//Close the document
loadedDocument.Close();
//Save the stream as PDF document file in local machine. Refer to PDF/UWP section for respected code samples
Save(stream, "XfaForm.pdf");
//Load the PDF document
FileStream docStream = new FileStream(fileName, FileMode.Open, FileAccess.Read);
//Load the existing XFA document
PdfLoadedXfaDocument loadedDocument = new PdfLoadedXfaDocument(docStream);
//Load the existing XFA form
PdfLoadedXfaForm loadedForm = loadedDocument.XfaForm;
//Create a list box field and add the properties
PdfXfaListBoxField listBoxField = new PdfXfaListBoxField("listBoxField", new SizeF(150, 50));
//Set the caption text
listBoxField.Caption.Text = "Known Languages";
listBoxField.Caption.Position = PdfXfaPosition.Top;
listBoxField.Caption.HorizontalAlignment = PdfXfaHorizontalAlignment.Center;
//Add the list box items
listBoxField.Items.Add("English");
listBoxField.Items.Add("French");
listBoxField.Items.Add("German");
//Add the field to the existing XFA form
loadedForm.Fields.Add(listBoxField);
MemoryStream stream = new MemoryStream();
loadedDocument.Save(stream);
//If the position is not set to '0' then the PDF will be empty
stream.Position = 0;
//Close the document
loadedDocument.Close();
//Defining the ContentType for pdf file
string contentType = "application/pdf";
//Define the file name
string fileName = "XfaForm.pdf";
//Creates a FileContentResult object by using the file contents, content type, and file name
return File(stream, contentType, fileName);
//Load the PDF document
Stream docStream = typeof(App).GetTypeInfo().Assembly.GetManifestResourceStream("Sample.Assets.input.pdf");
//Load the existing XFA document
PdfLoadedXfaDocument loadedDocument = new PdfLoadedXfaDocument(docStream);
//Load the existing XFA form
PdfLoadedXfaForm loadedForm = loadedDocument.XfaForm;
//Create a list box field and add the properties
PdfXfaListBoxField listBoxField = new PdfXfaListBoxField("listBoxField", new SizeF(150, 50));
//Set the caption text
listBoxField.Caption.Text = "Known Languages";
listBoxField.Caption.Position = PdfXfaPosition.Top;
listBoxField.Caption.HorizontalAlignment = PdfXfaHorizontalAlignment.Center;
//Add the list box items
listBoxField.Items.Add("English");
listBoxField.Items.Add("French");
listBoxField.Items.Add("German");
//Add the field to the existing XFA form
loadedForm.Fields.Add(listBoxField);
MemoryStream stream = new MemoryStream();
loadedDocument.Save(stream);
//If the position is not set to '0' then the PDF will be empty
stream.Position = 0;
//Close the document
loadedDocument.Close();
//Save the stream into XFDF file
//The operation in Save under Xamarin varies between Windows Phone, Android, and iOS platforms. Refer to the PDF/Xamarin section for respective code samples
if (Device.OS == TargetPlatform.WinPhone || Device.OS == TargetPlatform.Windows)
{
Xamarin.Forms.DependencyService.Get<ISaveWindowsPhone>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
else
{
Xamarin.Forms.DependencyService.Get<ISave>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
Adding XFA check box field
The below code snippet illustrates how to add a check box field to a new PDF document using PdfXfaCheckBoxField class.
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add a new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form
PdfXfaForm mainForm = new PdfXfaForm("subform1",xfaPage,xfaPage.GetClientSize ().Width);
//Create a check box field and add the properties
PdfXfaCheckBoxField checkBoxField = new PdfXfaCheckBoxField("checkBoxField", new SizeF(100, 20));
//Set the caption text
checkBoxField.Caption.Text = "Check box Field";
checkBoxField.CheckedStyle = PdfXfaCheckedStyle.Cross;
//Add the field to the XFA form
mainForm.Fields.Add(checkBoxField);
//Add the XFA form to the document
document.XfaForm = mainForm;
//Save the document
document.Save("XfaForm.pdf",PdfXfaType.Dynamic);
//close the document
document.Close();
'Create a new PDF XFA document
Dim document As New PdfXfaDocument()
'Add a new XFA page
Dim xfaPage As PdfXfaPage = document.Pages.Add()
'Create a new PDF XFA form
Dim mainForm As New PdfXfaForm("subform1",xfaPage,xfaPage.GetClientSize().Width)
'Create a check box field and add the properties
Dim checkBoxField As New PdfXfaCheckBoxField("checkBoxField", New SizeF(100, 20))
'Set the caption text
checkBoxField.Caption.Text = "Check box Field"
checkBoxField.CheckedStyle = PdfXfaCheckedStyle.Cross
'Add the field to the XFA form
mainForm.Fields.Add(checkBoxField)
'Add the XFA form to the document
document.XfaForm = mainForm
'Save the document
document.Save("XfaForm.pdf",PdfXfaType.Dynamic)
'close the document
document.Close()
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add a new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form
PdfXfaForm mainForm = new PdfXfaForm("subform1", xfaPage, xfaPage.GetClientSize().Width);
//Create a check box field and add the properties
PdfXfaCheckBoxField checkBoxField = new PdfXfaCheckBoxField("checkBoxField", new SizeF(100, 20));
//Set the caption text
checkBoxField.Caption.Text = "Check box Field";
checkBoxField.CheckedStyle = PdfXfaCheckedStyle.Cross;
//Add the field to the XFA form
mainForm.Fields.Add(checkBoxField);
//Add the XFA form to the document
document.XfaForm = mainForm;
MemoryStream stream = new MemoryStream();
document.Save(stream, PdfXfaType.Dynamic);
//Close the document
document.Close();
//Save the stream as PDF document file in local machine. Refer to PDF/UWP section for respected code samples
Save(stream, "XfaForm.pdf");
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add a new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form
PdfXfaForm mainForm = new PdfXfaForm("subform1", xfaPage, xfaPage.GetClientSize().Width);
//Create a check box field and add the properties
PdfXfaCheckBoxField checkBoxField = new PdfXfaCheckBoxField("checkBoxField", new SizeF(100, 20));
//Set the caption text
checkBoxField.Caption.Text = "Check box Field";
checkBoxField.CheckedStyle = PdfXfaCheckedStyle.Cross;
//Add the field to the XFA form
mainForm.Fields.Add(checkBoxField);
//Add the XFA form to the document
document.XfaForm = mainForm;
MemoryStream stream = new MemoryStream();
document.Save(stream, PdfXfaType.Dynamic);
//If the position is not set to '0' then the PDF will be empty
stream.Position = 0;
//Close the document
document.Close();
//Defining the ContentType for pdf file
string contentType = "application/pdf";
//Define the file name
string fileName = "XfaForm.pdf";
//Creates a FileContentResult object by using the file contents, content type, and file name
return File(stream, contentType, fileName);
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add a new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form
PdfXfaForm mainForm = new PdfXfaForm("subform1", xfaPage, xfaPage.GetClientSize().Width);
//Create a check box field and add the properties
PdfXfaCheckBoxField checkBoxField = new PdfXfaCheckBoxField("checkBoxField", new SizeF(100, 20));
//Set the caption text
checkBoxField.Caption.Text = "Check box Field";
checkBoxField.CheckedStyle = PdfXfaCheckedStyle.Cross;
//Add the field to the XFA form
mainForm.Fields.Add(checkBoxField);
//Add the XFA form to the document
document.XfaForm = mainForm;
MemoryStream stream = new MemoryStream();
document.Save(stream, PdfXfaType.Dynamic);
//If the position is not set to '0' then the PDF will be empty
stream.Position = 0;
//Close the document
document.Close();
//Save the stream into XFDF file
//The operation in Save under Xamarin varies between Windows Phone, Android, and iOS platforms. Refer to the PDF/Xamarin section for respective code samples
if (Device.OS == TargetPlatform.WinPhone || Device.OS == TargetPlatform.Windows)
{
Xamarin.Forms.DependencyService.Get<ISaveWindowsPhone>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
else
{
Xamarin.Forms.DependencyService.Get<ISave>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
The below code snippet illustrates how to add the check box field to an existing PDF document.
//Load the existing XFA document
PdfLoadedXfaDocument loadedDocument = new PdfLoadedXfaDocument("XfaForm.pdf");
//Load the existing XFA form
PdfLoadedXfaForm loadedForm = loadedDocument.XfaForm;
//Create a check box field and add the properties
PdfXfaCheckBoxField checkBoxField = new PdfXfaCheckBoxField("checkBoxField", new SizeF(100, 20));
//Set the caption text
checkBoxField.Caption.Text = "Check box Field";
checkBoxField.CheckedStyle = PdfXfaCheckedStyle.Cross;
//Add the field to the existing XFA form
loadedForm.Fields.Add(checkBoxField);
//Save the document
loadedDocument.Save("XfaForm.pdf");
//Close the document
loadedDocument.Close();
'Load the existing XFA document
Dim loadedDocument As New PdfLoadedXfaDocument("XfaForm.pdf")
'Load the existing XFA form
Dim loadedForm As PdfLoadedXfaForm = loadedDocument.XfaForm
'Create a check box field and add the properties
Dim checkBoxField As New PdfXfaCheckBoxField("checkBoxField", New SizeF(100, 20))
'Set the caption text
checkBoxField.Caption.Text = "Check box Field"
checkBoxField.CheckedStyle = PdfXfaCheckedStyle.Cross
'Add the field to the existing XFA form
loadedForm.Fields.Add(checkBoxField)
'Save the document
loadedDocument.Save("XfaForm.pdf")
'Close the document
loadedDocument.Close()
//Load the PDF document as stream
Stream docStream = typeof(MainPage).GetTypeInfo().Assembly.GetManifestResourceStream("Sample.Assets.Data.XfaForm.pdf");
//Load the existing XFA document
PdfLoadedXfaDocument loadedDocument = new PdfLoadedXfaDocument(docStream);
//Load the existing XFA form
PdfLoadedXfaForm loadedForm = loadedDocument.XfaForm;
//Create a check box field and add the properties
PdfXfaCheckBoxField checkBoxField = new PdfXfaCheckBoxField("checkBoxField", new SizeF(100, 20));
//Set the caption text
checkBoxField.Caption.Text = "Check box Field";
checkBoxField.CheckedStyle = PdfXfaCheckedStyle.Cross;
//Add the field to the existing XFA form
loadedForm.Fields.Add(checkBoxField);
MemoryStream stream = new MemoryStream();
loadedDocument.Save(stream);
//Close the document
loadedDocument.Close();
//Save the stream as PDF document file in local machine. Refer to PDF/UWP section for respected code samples
Save(stream, "XfaForm.pdf");
//Load the PDF document
FileStream docStream = new FileStream(fileName, FileMode.Open, FileAccess.Read);
//Load the existing XFA document
PdfLoadedXfaDocument loadedDocument = new PdfLoadedXfaDocument(docStream);
//Load the existing XFA form
PdfLoadedXfaForm loadedForm = loadedDocument.XfaForm;
//Create a check box field and add the properties
PdfXfaCheckBoxField checkBoxField = new PdfXfaCheckBoxField("checkBoxField", new SizeF(100, 20));
//Set the caption text
checkBoxField.Caption.Text = "Check box Field";
checkBoxField.CheckedStyle = PdfXfaCheckedStyle.Cross;
//Add the field to the existing XFA form
loadedForm.Fields.Add(checkBoxField);
MemoryStream stream = new MemoryStream();
loadedDocument.Save(stream);
//If the position is not set to '0' then the PDF will be empty
stream.Position = 0;
//Close the document
loadedDocument.Close();
//Defining the ContentType for pdf file
string contentType = "application/pdf";
//Define the file name
string fileName = "XfaForm.pdf";
//Creates a FileContentResult object by using the file contents, content type, and file name
return File(stream, contentType, fileName);
//Load the PDF document
Stream docStream = typeof(App).GetTypeInfo().Assembly.GetManifestResourceStream("Sample.Assets.input.pdf");
//Load the existing XFA document
PdfLoadedXfaDocument loadedDocument = new PdfLoadedXfaDocument(docStream);
//Load the existing XFA form
PdfLoadedXfaForm loadedForm = loadedDocument.XfaForm;
//Create a check box field and add the properties
PdfXfaCheckBoxField checkBoxField = new PdfXfaCheckBoxField("checkBoxField", new SizeF(100, 20));
//Set the caption text
checkBoxField.Caption.Text = "Check box Field";
checkBoxField.CheckedStyle = PdfXfaCheckedStyle.Cross;
//Add the field to the existing XFA form
loadedForm.Fields.Add(checkBoxField);
MemoryStream stream = new MemoryStream();
loadedDocument.Save(stream);
//If the position is not set to '0' then the PDF will be empty
stream.Position = 0;
//Close the document
loadedDocument.Close();
//Save the stream into XFDF file
//The operation in Save under Xamarin varies between Windows Phone, Android, and iOS platforms. Refer to the PDF/Xamarin section for respective code samples
if (Device.OS == TargetPlatform.WinPhone || Device.OS == TargetPlatform.Windows)
{
Xamarin.Forms.DependencyService.Get<ISaveWindowsPhone>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
else
{
Xamarin.Forms.DependencyService.Get<ISave>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
Adding the XFA radio button field
The below code snippet illustrates how to add a radio button field to a new PDF document using PdfXfaRadioButtonField class and add it into PdfXfaRadioButtonGroup.
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add a new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form
PdfXfaForm mainForm = new PdfXfaForm("subform1",xfaPage,xfaPage.GetClientSize ().Width);
//Create a radio button group
PdfXfaRadioButtonGroup group = new PdfXfaRadioButtonGroup("radioGroup");
group.FlowDirection = PdfXfaFlowDirection.Vertical;
//Create a radio button field and add the properties
PdfXfaRadioButtonField radioButtonField1 = new PdfXfaRadioButtonField("r1", new SizeF(80, 20));
//Set the caption text
radioButtonField1.Caption.Text = "Male";
PdfXfaRadioButtonField radioButtonField2 = new PdfXfaRadioButtonField("r2", new SizeF(80, 20));
radioButtonField2.Caption.Text = "Female";
//Add the radio button fields to the radio button group
group.Items.Add(radioButtonField1);
group.Items.Add(radioButtonField2);
//Add the field to the XFA form
mainForm.Fields.Add(group);
//Add the XFA form to the document
document.XfaForm = mainForm;
//Save the document
document.Save("XfaForm.pdf",PdfXfaType.Dynamic);
//close the document
document.Close();
'Create a new PDF XFA document
Dim document As New PdfXfaDocument()
'Add a new XFA page
Dim xfaPage As PdfXfaPage = document.Pages.Add()
'Create a new PDF XFA form
Dim mainForm As New PdfXfaForm("subform1",xfaPage,xfaPage.GetClientSize().Width)
'Create a radio button group
Dim group As New PdfXfaRadioButtonGroup("radioGroup")
group.FlowDirection = PdfXfaFlowDirection.Vertical
'Create a radio button field and add the properties
Dim radioButtonField1 As New PdfXfaRadioButtonField("r1", New SizeF(80, 20))
'Set the caption text
radioButtonField1.Caption.Text = "Male"
Dim radioButtonField2 As New PdfXfaRadioButtonField("r2", New SizeF(80, 20))
radioButtonField2.Caption.Text = "Female"
'Add the radio button fields to the radio button group
group.Items.Add(radioButtonField1)
group.Items.Add(radioButtonField2)
'Add the field to the XFA form
mainForm.Fields.Add(group)
'Add the XFA form to the document
document.XfaForm = mainForm
'Save the document
document.Save("XfaForm.pdf",PdfXfaType.Dynamic)
'close the document
document.Close()
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add a new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form
PdfXfaForm mainForm = new PdfXfaForm("subform1", xfaPage, xfaPage.GetClientSize().Width);
//Create a radio button group
PdfXfaRadioButtonGroup group = new PdfXfaRadioButtonGroup("radioGroup");
group.FlowDirection = PdfXfaFlowDirection.Vertical;
//Create a radio button field and add the properties
PdfXfaRadioButtonField radioButtonField1 = new PdfXfaRadioButtonField("r1", new SizeF(80, 20));
//Set the caption text
radioButtonField1.Caption.Text = "Male";
PdfXfaRadioButtonField radioButtonField2 = new PdfXfaRadioButtonField("r2", new SizeF(80, 20));
radioButtonField2.Caption.Text = "Female";
//Add the radio button fields to the radio button group
group.Items.Add(radioButtonField1);
group.Items.Add(radioButtonField2);
//Add the field to the XFA form
mainForm.Fields.Add(group);
//Add the XFA form to the document
document.XfaForm = mainForm;
MemoryStream stream = new MemoryStream();
document.Save(stream, PdfXfaType.Dynamic);
//Close the document
document.Close();
//Save the stream as PDF document file in local machine. Refer to PDF/UWP section for respected code samples
Save(stream, "XfaForm.pdf");
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add a new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form
PdfXfaForm mainForm = new PdfXfaForm("subform1", xfaPage, xfaPage.GetClientSize().Width);
//Create a radio button group
PdfXfaRadioButtonGroup group = new PdfXfaRadioButtonGroup("radioGroup");
group.FlowDirection = PdfXfaFlowDirection.Vertical;
//Create a radio button field and add the properties
PdfXfaRadioButtonField radioButtonField1 = new PdfXfaRadioButtonField("r1", new SizeF(80, 20));
//Set the caption text
radioButtonField1.Caption.Text = "Male";
PdfXfaRadioButtonField radioButtonField2 = new PdfXfaRadioButtonField("r2", new SizeF(80, 20));
radioButtonField2.Caption.Text = "Female";
//Add the radio button fields to the radio button group
group.Items.Add(radioButtonField1);
group.Items.Add(radioButtonField2);
//Add the field to the XFA form
mainForm.Fields.Add(group);
//Add the XFA form to the document
document.XfaForm = mainForm;
MemoryStream stream = new MemoryStream();
document.Save(stream, PdfXfaType.Dynamic);
//If the position is not set to '0' then the PDF will be empty
stream.Position = 0;
//Close the document
document.Close();
//Defining the ContentType for pdf file
string contentType = "application/pdf";
//Define the file name
string fileName = "XfaForm.pdf";
//Creates a FileContentResult object by using the file contents, content type, and file name
return File(stream, contentType, fileName);
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add a new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form
PdfXfaForm mainForm = new PdfXfaForm("subform1", xfaPage, xfaPage.GetClientSize().Width);
//Create a radio button group
PdfXfaRadioButtonGroup group = new PdfXfaRadioButtonGroup("radioGroup");
group.FlowDirection = PdfXfaFlowDirection.Vertical;
//Create a radio button field and add the properties
PdfXfaRadioButtonField radioButtonField1 = new PdfXfaRadioButtonField("r1", new SizeF(80, 20));
//Set the caption text
radioButtonField1.Caption.Text = "Male";
PdfXfaRadioButtonField radioButtonField2 = new PdfXfaRadioButtonField("r2", new SizeF(80, 20));
radioButtonField2.Caption.Text = "Female";
//Add the radio button fields to the radio button group
group.Items.Add(radioButtonField1);
group.Items.Add(radioButtonField2);
//Add the field to the XFA form
mainForm.Fields.Add(group);
//Add the XFA form to the document
document.XfaForm = mainForm;
MemoryStream stream = new MemoryStream();
document.Save(stream, PdfXfaType.Dynamic);
//If the position is not set to '0' then the PDF will be empty
stream.Position = 0;
//Close the document
document.Close();
//Save the stream into XFDF file
//The operation in Save under Xamarin varies between Windows Phone, Android, and iOS platforms. Refer to the PDF/Xamarin section for respective code samples
if (Device.OS == TargetPlatform.WinPhone || Device.OS == TargetPlatform.Windows)
{
Xamarin.Forms.DependencyService.Get<ISaveWindowsPhone>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
else
{
Xamarin.Forms.DependencyService.Get<ISave>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
The below code snippet illustrates how to add the radio button field to an existing PDF document.
//Load the existing XFA document
PdfLoadedXfaDocument loadedDocument = new PdfLoadedXfaDocument("XfaForm.pdf");
//Load the existing XFA form.
PdfLoadedXfaForm loadedForm = loadedDocument.XfaForm;
//Create a radio button group
PdfXfaRadioButtonGroup group = new PdfXfaRadioButtonGroup("radioGroup");
group.FlowDirection = PdfXfaFlowDirection.Vertical;
//Create a radio button field and add the properties
PdfXfaRadioButtonField radioButtonField1 = new PdfXfaRadioButtonField("r1", new SizeF(80, 20));
//Set the caption text
radioButtonField1.Caption.Text = "Male";
PdfXfaRadioButtonField radioButtonField2 = new PdfXfaRadioButtonField("r2", new SizeF(80, 20));
radioButtonField2.Caption.Text = "Female";
//Add the radio button fields to the radio button group
group.Items.Add(radioButtonField1);
group.Items.Add(radioButtonField2);
//Add the field to the existing XFA form
loadedForm.Fields.Add(group);
//Save the document
loadedDocument.Save("XfaForm.pdf");
//Close the document
loadedDocument.Close();
'Load the existing XFA document
Dim loadedDocument As New PdfLoadedXfaDocument("XfaForm.pdf")
'Load the existing XFA form
Dim loadedForm As PdfLoadedXfaForm = loadedDocument.XfaForm
'Create a radio button group
Dim group As New PdfXfaRadioButtonGroup("radioGroup")
group.FlowDirection = PdfXfaFlowDirection.Vertical
'Create a radio button field and add the properties
Dim radioButtonField1 As New PdfXfaRadioButtonField("r1", New SizeF(80, 20))
'Set the caption text
radioButtonField1.Caption.Text = "Male"
Dim radioButtonField2 As New PdfXfaRadioButtonField("r2", New SizeF(80, 20))
radioButtonField2.Caption.Text = "Female"
'Add the radio button fields to the radio button group
group.Items.Add(radioButtonField1)
group.Items.Add(radioButtonField2)
'Add the field to the existing XFA form
loadedForm.Fields.Add(group)
'Save the document
loadedDocument.Save("XfaForm.pdf")
'Close the document
loadedDocument.Close()
//Load the PDF document as stream
Stream docStream = typeof(MainPage).GetTypeInfo().Assembly.GetManifestResourceStream("Sample.Assets.Data.XfaForm.pdf");
//Load the existing XFA document
PdfLoadedXfaDocument loadedDocument = new PdfLoadedXfaDocument(docStream);
//Load the existing XFA form
PdfLoadedXfaForm loadedForm = loadedDocument.XfaForm;
//Create a radio button group
PdfXfaRadioButtonGroup group = new PdfXfaRadioButtonGroup("radioGroup");
group.FlowDirection = PdfXfaFlowDirection.Vertical;
//Create a radio button field and add the properties
PdfXfaRadioButtonField radioButtonField1 = new PdfXfaRadioButtonField("r1", new SizeF(80, 20));
//Set the caption text
radioButtonField1.Caption.Text = "Male";
PdfXfaRadioButtonField radioButtonField2 = new PdfXfaRadioButtonField("r2", new SizeF(80, 20));
radioButtonField2.Caption.Text = "Female";
//Add the radio button fields to the radio button group
group.Items.Add(radioButtonField1);
group.Items.Add(radioButtonField2);
//Add the field to the existing XFA form
loadedForm.Fields.Add(group);
MemoryStream stream = new MemoryStream();
loadedDocument.Save(stream);
//Close the document
loadedDocument.Close();
//Save the stream as PDF document file in local machine. Refer to PDF/UWP section for respected code samples
Save(stream, "XfaForm.pdf");
//Load the PDF document
FileStream docStream = new FileStream(fileName, FileMode.Open, FileAccess.Read);
//Load the existing XFA document
PdfLoadedXfaDocument loadedDocument = new PdfLoadedXfaDocument(docStream);
//Load the existing XFA form
PdfLoadedXfaForm loadedForm = loadedDocument.XfaForm;
//Create a radio button group
PdfXfaRadioButtonGroup group = new PdfXfaRadioButtonGroup("radioGroup");
group.FlowDirection = PdfXfaFlowDirection.Vertical;
//Create a radio button field and add the properties
PdfXfaRadioButtonField radioButtonField1 = new PdfXfaRadioButtonField("r1", new SizeF(80, 20));
//Set the caption text
radioButtonField1.Caption.Text = "Male";
PdfXfaRadioButtonField radioButtonField2 = new PdfXfaRadioButtonField("r2", new SizeF(80, 20));
radioButtonField2.Caption.Text = "Female";
//Add the radio button fields to the radio button group
group.Items.Add(radioButtonField1);
group.Items.Add(radioButtonField2);
//Add the field to the existing XFA form
loadedForm.Fields.Add(group);
MemoryStream stream = new MemoryStream();
loadedDocument.Save(stream);
//If the position is not set to '0' then the PDF will be empty
stream.Position = 0;
//Close the document
loadedDocument.Close();
//Defining the ContentType for pdf file
string contentType = "application/pdf";
//Define the file name
string fileName = "XfaForm.pdf";
//Creates a FileContentResult object by using the file contents, content type, and file name
return File(stream, contentType, fileName);
//Load the PDF document
Stream docStream = typeof(App).GetTypeInfo().Assembly.GetManifestResourceStream("Sample.Assets.input.pdf");
//Load the existing XFA document
PdfLoadedXfaDocument loadedDocument = new PdfLoadedXfaDocument(docStream);
//Load the existing XFA form
PdfLoadedXfaForm loadedForm = loadedDocument.XfaForm;
//Create a radio button group
PdfXfaRadioButtonGroup group = new PdfXfaRadioButtonGroup("radioGroup");
group.FlowDirection = PdfXfaFlowDirection.Vertical;
//Create a radio button field and add the properties
PdfXfaRadioButtonField radioButtonField1 = new PdfXfaRadioButtonField("r1", new SizeF(80, 20));
//Set the caption text
radioButtonField1.Caption.Text = "Male";
PdfXfaRadioButtonField radioButtonField2 = new PdfXfaRadioButtonField("r2", new SizeF(80, 20));
radioButtonField2.Caption.Text = "Female";
//Add the radio button fields to the radio button group
group.Items.Add(radioButtonField1);
group.Items.Add(radioButtonField2);
//Add the field to the existing XFA form
loadedForm.Fields.Add(group);
MemoryStream stream = new MemoryStream();
loadedDocument.Save(stream);
//If the position is not set to '0' then the PDF will be empty
stream.Position = 0;
//Close the document
loadedDocument.Close();
//Save the stream into XFDF file
//The operation in Save under Xamarin varies between Windows Phone, Android, and iOS platforms. Refer to the PDF/Xamarin section for respective code samples
if (Device.OS == TargetPlatform.WinPhone || Device.OS == TargetPlatform.Windows)
{
Xamarin.Forms.DependencyService.Get<ISaveWindowsPhone>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
else
{
Xamarin.Forms.DependencyService.Get<ISave>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
Adding the XFA date time field
The below code snippet illustrates how to add a date time field to a new PDF document using PdfXfaDateTimeField class.
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add a new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form
PdfXfaForm mainForm = new PdfXfaForm("subform1",xfaPage,xfaPage.GetClientSize ().Width);
//Create a date time field and add the properties
PdfXfaDateTimeField dateTimeField = new PdfXfaDateTimeField("date", new SizeF(200, 20));
//Set the caption text
dateTimeField.Caption.Text = "Date Time Field";
//Set the tool tip
dateTimeField.ToolTip = "Date Time";
//Add the field to the XFA form
mainForm.Fields.Add(dateTimeField);
//Add the XFA form to the document
document.XfaForm = mainForm;
//Save the document
document.Save("XfaForm.pdf",PdfXfaType.Dynamic);
//close the document
document.Close();
'Create a new PDF XFA document
Dim document As New PdfXfaDocument()
'Add a new XFA page
Dim xfaPage As PdfXfaPage = document.Pages.Add()
'Create a new PDF XFA form
Dim mainForm As New PdfXfaForm("subform1",xfaPage,xfaPage.GetClientSize().Width)
'Create a date time field and add the properties
Dim dateTimeField As New PdfXfaDateTimeField("date", New SizeF(200, 20))
'Set the caption text
dateTimeField.Caption.Text = "Date Time Field"
'Set the tool tip
dateTimeField.ToolTip = "Date Time"
'Add the field to the XFA form
mainForm.Fields.Add(dateTimeField)
'Add the XFA form to the document
document.XfaForm = mainForm
'Save the document
document.Save("XfaForm.pdf",PdfXfaType.Dynamic)
'close the document
document.Close()
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add a new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form
PdfXfaForm mainForm = new PdfXfaForm("subform1", xfaPage, xfaPage.GetClientSize().Width);
//Create a date time field and add the properties
PdfXfaDateTimeField dateTimeField = new PdfXfaDateTimeField("date", new SizeF(200, 20));
//Set the caption text
dateTimeField.Caption.Text = "Date Time Field";
//Set the tool tip
dateTimeField.ToolTip = "Date Time";
//Add the field to the XFA form
mainForm.Fields.Add(dateTimeField);
//Add the XFA form to the document
document.XfaForm = mainForm;
MemoryStream stream = new MemoryStream();
document.Save(stream, PdfXfaType.Dynamic);
//Close the document
document.Close();
//Save the stream as PDF document file in local machine. Refer to PDF/UWP section for respected code samples.
Save(stream, "XfaForm.pdf");
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add a new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form
PdfXfaForm mainForm = new PdfXfaForm("subform1", xfaPage, xfaPage.GetClientSize().Width);
//Create a date time field and add the properties
PdfXfaDateTimeField dateTimeField = new PdfXfaDateTimeField("date", new SizeF(200, 20));
//Set the caption text
dateTimeField.Caption.Text = "Date Time Field";
//Set the tool tip
dateTimeField.ToolTip = "Date Time";
//Add the field to the XFA form
mainForm.Fields.Add(dateTimeField);
//Add the XFA form to the document
document.XfaForm = mainForm;
MemoryStream stream = new MemoryStream();
document.Save(stream, PdfXfaType.Dynamic);
//If the position is not set to '0' then the PDF will be empty
stream.Position = 0;
//Close the document
document.Close();
//Defining the ContentType for pdf file
string contentType = "application/pdf";
//Define the file name
string fileName = "XfaForm.pdf";
//Creates a FileContentResult object by using the file contents, content type, and file name
return File(stream, contentType, fileName);
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add a new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form
PdfXfaForm mainForm = new PdfXfaForm("subform1", xfaPage, xfaPage.GetClientSize().Width);
//Create a date time field and add the properties
PdfXfaDateTimeField dateTimeField = new PdfXfaDateTimeField("date", new SizeF(200, 20));
//Set the caption text
dateTimeField.Caption.Text = "Date Time Field";
//Set the tool tip
dateTimeField.ToolTip = "Date Time";
//Add the field to the XFA form
mainForm.Fields.Add(dateTimeField);
//Add the XFA form to the document
document.XfaForm = mainForm;
MemoryStream stream = new MemoryStream();
document.Save(stream, PdfXfaType.Dynamic);
//If the position is not set to '0' then the PDF will be empty
stream.Position = 0;
//Close the document
document.Close();
//Save the stream into XFDF file
//The operation in Save under Xamarin varies between Windows Phone, Android, and iOS platforms. Refer to the PDF/Xamarin section for respective code samples
if (Device.OS == TargetPlatform.WinPhone || Device.OS == TargetPlatform.Windows)
{
Xamarin.Forms.DependencyService.Get<ISaveWindowsPhone>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
else
{
Xamarin.Forms.DependencyService.Get<ISave>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
The below code snippet illustrates how to add the date time field to an existing PDF document.
//Load the existing XFA document
PdfLoadedXfaDocument loadedDocument = new PdfLoadedXfaDocument("XfaForm.pdf");
//Load the existing XFA form
PdfLoadedXfaForm loadedForm = loadedDocument.XfaForm;
//Create a date time field and add the properties
PdfXfaDateTimeField dateTimeField = new PdfXfaDateTimeField("date", new SizeF(200, 20));
//Set the caption text
dateTimeField.Caption.Text = "Date Time Field";
//Set the tool tip
dateTimeField.ToolTip = "Date Time";
//Add the field to the existing XFA form
loadedForm.Fields.Add(dateTimeField);
//Save the document
loadedDocument.Save("XfaForm.pdf");
//Close the document
loadedDocument.Close();
'Load the existing XFA document
Dim loadedDocument As New PdfLoadedXfaDocument("XfaForm.pdf")
'Load the existing XFA form
Dim loadedForm As PdfLoadedXfaForm = loadedDocument.XfaForm
'Create a date time field and add the properties
Dim dateTimeField As New PdfXfaDateTimeField("date", New SizeF(200, 20))
'Set the caption text
dateTimeField.Caption.Text = "Date Time Field"
'Set the tool tip
dateTimeField.ToolTip = "Date Time"
'Add the field to the existing XFA form
loadedForm.Fields.Add(dateTimeField)
'Save the document
loadedDocument.Save("XfaForm.pdf")
'Close the document
loadedDocument.Close()
//Load the PDF document as stream
Stream docStream = typeof(MainPage).GetTypeInfo().Assembly.GetManifestResourceStream("Sample.Assets.Data.XfaForm.pdf");
//Load the existing XFA document
PdfLoadedXfaDocument loadedDocument = new PdfLoadedXfaDocument(docStream);
//Load the existing XFA form
PdfLoadedXfaForm loadedForm = loadedDocument.XfaForm;
//Create a date time field and add the properties
PdfXfaDateTimeField dateTimeField = new PdfXfaDateTimeField("date", new SizeF(200, 20));
//Set the caption text
dateTimeField.Caption.Text = "Date Time Field";
//Set the tool tip
dateTimeField.ToolTip = "Date Time";
//Add the field to the existing XFA form
loadedForm.Fields.Add(dateTimeField);
MemoryStream stream = new MemoryStream();
loadedDocument.Save(stream);
//Close the document
loadedDocument.Close();
//Save the stream as PDF document file in local machine. Refer to PDF/UWP section for respected code samples
Save(stream, "XfaForm.pdf");
//Load the PDF document
FileStream docStream = new FileStream(fileName, FileMode.Open, FileAccess.Read);
//Load the existing XFA document
PdfLoadedXfaDocument loadedDocument = new PdfLoadedXfaDocument(docStream);
//Load the existing XFA form
PdfLoadedXfaForm loadedForm = loadedDocument.XfaForm;
//Create a date time field and add the properties
PdfXfaDateTimeField dateTimeField = new PdfXfaDateTimeField("date", new SizeF(200, 20));
//Set the caption text
dateTimeField.Caption.Text = "Date Time Field";
//Set the tool tip
dateTimeField.ToolTip = "Date Time";
//Add the field to the existing XFA form
loadedForm.Fields.Add(dateTimeField);
MemoryStream stream = new MemoryStream();
loadedDocument.Save(stream);
//If the position is not set to '0' then the PDF will be empty
stream.Position = 0;
//Close the document
loadedDocument.Close();
//Defining the ContentType for pdf file
string contentType = "application/pdf";
//Define the file name
string fileName = "XfaForm.pdf";
//Creates a FileContentResult object by using the file contents, content type, and file name
return File(stream, contentType, fileName);
//Load the PDF document
Stream docStream = typeof(App).GetTypeInfo().Assembly.GetManifestResourceStream("Sample.Assets.input.pdf");
//Load the existing XFA document
PdfLoadedXfaDocument loadedDocument = new PdfLoadedXfaDocument(docStream);
//Load the existing XFA form
PdfLoadedXfaForm loadedForm = loadedDocument.XfaForm;
//Create a date time field and add the properties
PdfXfaDateTimeField dateTimeField = new PdfXfaDateTimeField("date", new SizeF(200, 20));
//Set the caption text
dateTimeField.Caption.Text = "Date Time Field";
//Set the tool tip
dateTimeField.ToolTip = "Date Time";
//Add the field to the existing XFA form
loadedForm.Fields.Add(dateTimeField);
MemoryStream stream = new MemoryStream();
loadedDocument.Save(stream);
//If the position is not set to '0' then the PDF will be empty
stream.Position = 0;
//Close the document
loadedDocument.Close();
//Save the stream into XFDF file
//The operation in Save under Xamarin varies between Windows Phone, Android, and iOS platforms. Refer to the PDF/Xamarin section for respective code samples
if (Device.OS == TargetPlatform.WinPhone || Device.OS == TargetPlatform.Windows)
{
Xamarin.Forms.DependencyService.Get<ISaveWindowsPhone>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
else
{
Xamarin.Forms.DependencyService.Get<ISave>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
Adding the XFA button field
The below code snippet illustrates how to add a button field to a new PDF document using PdfXfaButtonField class.
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add a new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form
PdfXfaForm mainForm = new PdfXfaForm("subform1",xfaPage,xfaPage.GetClientSize ().Width);
//Create a button field and add the properties
PdfXfaButtonField buttonField = new PdfXfaButtonField("buttonField", new SizeF(70, 20));
//Set the caption text
buttonField.Content = "Click";
//Add the field to the XFA form
mainForm.Fields.Add(buttonField);
//Add the XFA form to the document
document.XfaForm = mainForm;
//Save the document
document.Save("XfaForm.pdf",PdfXfaType.Dynamic);
//close the document
document.Close();
'Create a new PDF XFA document
Dim document As New PdfXfaDocument()
'Add a new XFA page
Dim xfaPage As PdfXfaPage = document.Pages.Add()
'Create a new PDF XFA form
Dim mainForm As New PdfXfaForm("subform1",xfaPage,xfaPage.GetClientSize().Width)
'Create a button field and add the properties
Dim buttonField As New PdfXfaButtonField("buttonField", New SizeF(70, 20))
'Set the caption text
buttonField.Content = "Click"
'Add the field to the XFA form
mainForm.Fields.Add(buttonField)
'Add the XFA form to the document
document.XfaForm = mainForm
'Save the document
document.Save("XfaForm.pdf",PdfXfaType.Dynamic)
'close the document
document.Close()
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add a new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form
PdfXfaForm mainForm = new PdfXfaForm("subform1", xfaPage, xfaPage.GetClientSize().Width);
//Create a button field and add the properties
PdfXfaButtonField buttonField = new PdfXfaButtonField("buttonField", new SizeF(70, 20));
//Set the caption text
buttonField.Content = "Click";
//Add the field to the XFA form
mainForm.Fields.Add(buttonField);
//Add the XFA form to the document
document.XfaForm = mainForm;
MemoryStream stream = new MemoryStream();
document.Save(stream, PdfXfaType.Dynamic);
//Close the document
document.Close();
//Save the stream as PDF document file in local machine. Refer to PDF/UWP section for respected code samples
Save(stream, "XfaForm.pdf");
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add a new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form
PdfXfaForm mainForm = new PdfXfaForm("subform1", xfaPage, xfaPage.GetClientSize().Width);
//Create a button field and add the properties
PdfXfaButtonField buttonField = new PdfXfaButtonField("buttonField", new SizeF(70, 20));
//Set the caption text
buttonField.Content = "Click";
//Add the field to the XFA form
mainForm.Fields.Add(buttonField);
//Add the XFA form to the document
document.XfaForm = mainForm;
MemoryStream stream = new MemoryStream();
document.Save(stream, PdfXfaType.Dynamic);
//If the position is not set to '0' then the PDF will be empty
stream.Position = 0;
//Close the document
document.Close();
//Defining the ContentType for pdf file
string contentType = "application/pdf";
//Define the file name
string fileName = "XfaForm.pdf";
//Creates a FileContentResult object by using the file contents, content type, and file name
return File(stream, contentType, fileName);
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add a new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form
PdfXfaForm mainForm = new PdfXfaForm("subform1", xfaPage, xfaPage.GetClientSize().Width);
//Create a button field and add the properties
PdfXfaButtonField buttonField = new PdfXfaButtonField("buttonField", new SizeF(70, 20));
//Set the caption text
buttonField.Content = "Click";
//Add the field to the XFA form
mainForm.Fields.Add(buttonField);
//Add the XFA form to the document
document.XfaForm = mainForm;
MemoryStream stream = new MemoryStream();
document.Save(stream, PdfXfaType.Dynamic);
//If the position is not set to '0' then the PDF will be empty
stream.Position = 0;
//Close the document
document.Close();
//Save the stream into XFDF file
//The operation in Save under Xamarin varies between Windows Phone, Android, and iOS platforms. Refer to the PDF/Xamarin section for respective code samples
if (Device.OS == TargetPlatform.WinPhone || Device.OS == TargetPlatform.Windows)
{
Xamarin.Forms.DependencyService.Get<ISaveWindowsPhone>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
else
{
Xamarin.Forms.DependencyService.Get<ISave>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
The below code snippet illustrates how to add the button field to an existing PDF document.
//Load the existing XFA document
PdfLoadedXfaDocument loadedDocument = new PdfLoadedXfaDocument("XfaForm.pdf");
//Load the existing XFA form
PdfLoadedXfaForm loadedForm = loadedDocument.XfaForm;
//Create a button field and add the properties
PdfXfaButtonField buttonField = new PdfXfaButtonField("buttonField", new SizeF(70, 20));
//Set the caption text
buttonField.Content = "Click";
//Add the field to the existing XFA form
loadedForm.Fields.Add(buttonField);
//Save the document
loadedDocument.Save("XfaForm.pdf");
//Close the document
loadedDocument.Close();
'Load the existing XFA document
Dim loadedDocument As New PdfLoadedXfaDocument("XfaForm.pdf")
'Load the existing XFA form
Dim loadedForm As PdfLoadedXfaForm = loadedDocument.XfaForm
'Create a button field and add the properties
Dim buttonField As New PdfXfaButtonField("buttonField", New SizeF(70, 20))
'Set the caption text
buttonField.Content = "Click"
'Add the field to the existing XFA form
loadedForm.Fields.Add(buttonField)
'Save the document
loadedDocument.Save("XfaForm.pdf")
'Close the document
loadedDocument.Close()
//Load the PDF document as stream
Stream docStream = typeof(MainPage).GetTypeInfo().Assembly.GetManifestResourceStream("Sample.Assets.Data.XfaForm.pdf");
//Load the existing XFA document
PdfLoadedXfaDocument loadedDocument = new PdfLoadedXfaDocument(docStream);
//Load the existing XFA form
PdfLoadedXfaForm loadedForm = loadedDocument.XfaForm;
//Create a button field and add the properties
PdfXfaButtonField buttonField = new PdfXfaButtonField("buttonField", new SizeF(70, 20));
//Set the caption text
buttonField.Content = "Click";
//Add the field to the existing XFA form
loadedForm.Fields.Add(buttonField);
MemoryStream stream = new MemoryStream();
loadedDocument.Save(stream);
//Close the document
loadedDocument.Close();
//Save the stream as PDF document file in local machine. Refer to PDF/UWP section for respected code samples
Save(stream, "XfaForm.pdf");
//Load the PDF document
FileStream docStream = new FileStream(fileName, FileMode.Open, FileAccess.Read);
//Load the existing XFA document
PdfLoadedXfaDocument loadedDocument = new PdfLoadedXfaDocument(docStream);
//Load the existing XFA form
PdfLoadedXfaForm loadedForm = loadedDocument.XfaForm;
//Create a button field and add the properties
PdfXfaButtonField buttonField = new PdfXfaButtonField("buttonField", new SizeF(70, 20));
//Set the caption text
buttonField.Content = "Click";
//Add the field to the existing XFA form
loadedForm.Fields.Add(buttonField);
MemoryStream stream = new MemoryStream();
loadedDocument.Save(stream);
//If the position is not set to '0' then the PDF will be empty
stream.Position = 0;
//Close the document
loadedDocument.Close();
//Defining the ContentType for pdf file
string contentType = "application/pdf";
//Define the file name
string fileName = "XfaForm.pdf";
//Creates a FileContentResult object by using the file contents, content type, and file name
return File(stream, contentType, fileName);
//Load the PDF document
Stream docStream = typeof(App).GetTypeInfo().Assembly.GetManifestResourceStream("Sample.Assets.input.pdf");
//Load the existing XFA document
PdfLoadedXfaDocument loadedDocument = new PdfLoadedXfaDocument(docStream);
//Load the existing XFA form
PdfLoadedXfaForm loadedForm = loadedDocument.XfaForm;
//Create a button field and add the properties
PdfXfaButtonField buttonField = new PdfXfaButtonField("buttonField", new SizeF(70, 20));
//Set the caption text
buttonField.Content = "Click";
//Add the field to the existing XFA form
loadedForm.Fields.Add(buttonField);
MemoryStream stream = new MemoryStream();
loadedDocument.Save(stream);
//If the position is not set to '0' then the PDF will be empty
stream.Position = 0;
//Close the document
loadedDocument.Close();
//Save the stream into XFDF file
//The operation in Save under Xamarin varies between Windows Phone, Android, and iOS platforms. Refer to the PDF/Xamarin section for respective code samples
if (Device.OS == TargetPlatform.WinPhone || Device.OS == TargetPlatform.Windows)
{
Xamarin.Forms.DependencyService.Get<ISaveWindowsPhone>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
else
{
Xamarin.Forms.DependencyService.Get<ISave>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
Adding the XFA text element
The below code snippet illustrates how to add a text element to a new PDF document using PdfXfaTextElement class.
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add a new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form
PdfXfaForm mainForm = new PdfXfaForm("subform1",xfaPage,xfaPage.GetClientSize().Width);
//Create a text element and add the properties
PdfXfaTextElement textElement = new PdfXfaTextElement("Hello World!");
//Set font
textElement.Font = new PdfStandardFont(PdfFontFamily.Helvetica, 14, PdfFontStyle.Bold);
//Add the text element to the XFA form
mainForm.Fields.Add(textElement);
//Add the XFA form to the document
document.XfaForm = mainForm;
//Save the document
document.Save("XfaForm.pdf",PdfXfaType.Dynamic);
//close the document
document.Close();
'Create a new PDF XFA document
Dim document As New PdfXfaDocument()
'Add a new XFA page
Dim xfaPage As PdfXfaPage = document.Pages.Add()
'Create a new PDF XFA form
Dim mainForm As New PdfXfaForm("subform1",xfaPage,xfaPage.GetClientSize().Width)
'Create a text element and add the properties
Dim textElement As New PdfXfaTextElement("Hello World!")
'Set font
textElement.Font = New PdfStandardFont(PdfFontFamily.Helvetica, 14, PdfFontStyle.Bold)
'Add the text element to the XFA form
mainForm.Fields.Add(textElement)
'Add the XFA form to the document
document.XfaForm = mainForm
'Save the document
document.Save("XfaForm.pdf",PdfXfaType.Dynamic)
'close the document
document.Close()
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add a new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form
PdfXfaForm mainForm = new PdfXfaForm("subform1", xfaPage, xfaPage.GetClientSize().Width);
//Create a text element and add the properties
PdfXfaTextElement textElement = new PdfXfaTextElement("Hello World!");
//Set font
textElement.Font = new PdfStandardFont(PdfFontFamily.Helvetica, 14, PdfFontStyle.Bold);
//Add the text element to the XFA form
mainForm.Fields.Add(textElement);
//Add the XFA form to the document
document.XfaForm = mainForm;
MemoryStream stream = new MemoryStream();
document.Save(stream,PdfXfaType.Dynamic);
//Close the document
document.Close();
//Save the stream as PDF document file in local machine. Refer to PDF/UWP section for respected code samples
Save(stream, "output.pdf");
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add a new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form
PdfXfaForm mainForm = new PdfXfaForm("subform1", xfaPage, xfaPage.GetClientSize().Width);
//Create a text element and add the properties
PdfXfaTextElement textElement = new PdfXfaTextElement("Hello World!");
//Set font
textElement.Font = new PdfStandardFont(PdfFontFamily.Helvetica, 14, PdfFontStyle.Bold);
//Add the text element to the XFA form
mainForm.Fields.Add(textElement);
//Add the XFA form to the document
document.XfaForm = mainForm;
MemoryStream stream = new MemoryStream();
document.Save(stream,PdfXfaType.Dynamic);
//If the position is not set to '0' then the PDF will be empty
stream.Position = 0;
//Close the document
document.Close();
//Defining the ContentType for pdf file
string contentType = "application/pdf";
//Define the file name
string fileName = "XfaForm.pdf";
//Creates a FileContentResult object by using the file contents, content type, and file name
return File(stream, contentType, fileName);
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add a new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form
PdfXfaForm mainForm = new PdfXfaForm("subform1", xfaPage, xfaPage.GetClientSize().Width);
//Create a text element and add the properties
PdfXfaTextElement textElement = new PdfXfaTextElement("Hello World!");
//Set font
textElement.Font = new PdfStandardFont(PdfFontFamily.Helvetica, 14, PdfFontStyle.Bold);
//Add the text element to the XFA form
mainForm.Fields.Add(textElement);
//Add the XFA form to the document
document.XfaForm = mainForm;
MemoryStream stream = new MemoryStream();
document.Save(stream,PdfXfaType.Dynamic);
//If the position is not set to '0' then the PDF will be empty
stream.Position = 0;
//Close the document
document.Close();
//Save the stream into XFDF file
//The operation in Save under Xamarin varies between Windows Phone, Android, and iOS platforms. Refer to the PDF/Xamarin section for respective code samples
if (Device.OS == TargetPlatform.WinPhone || Device.OS == TargetPlatform.Windows)
{
Xamarin.Forms.DependencyService.Get<ISaveWindowsPhone>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
else
{
Xamarin.Forms.DependencyService.Get<ISave>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
The below code snippet illustrates how to add a text element to an existing PDF document.
//Load the existing XFA document
PdfLoadedXfaDocument loadedDocument = new PdfLoadedXfaDocument("XfaForm.pdf");
//Load the existing XFA form
PdfLoadedXfaForm loadedForm = loadedDocument.XfaForm;
//Create a text element and add the properties
PdfXfaTextElement textElement = new PdfXfaTextElement("Hello World!");
//Set font
textElement.Font = new PdfStandardFont(PdfFontFamily.Helvetica, 14, PdfFontStyle.Bold);
//Add the text element to the existing XFA form
loadedForm.Fields.Add(textElement);
//Save the document
loadedDocument.Save("XfaForm.pdf");
//Close the document
loadedDocument.Close();
'Load the existing XFA document
Dim loadedDocument As New PdfLoadedXfaDocument("XfaForm.pdf")
'Load the existing XFA form
Dim loadedForm As PdfLoadedXfaForm = loadedDocument.XfaForm
'Create a text element and add the properties
Dim textElement As New PdfXfaTextElement("Hello World!")
'Set font
textElement.Font = New PdfStandardFont(PdfFontFamily.Helvetica, 14, PdfFontStyle.Bold)
'Add the text element to the existing XFA form
loadedForm.Fields.Add(textElement)
'Save the document
loadedDocument.Save("XfaForm.pdf")
'Close the document
loadedDocument.Close()
//Load the PDF document as stream
Stream docStream = typeof(MainPage).GetTypeInfo().Assembly.GetManifestResourceStream("Sample.Assets.Data.XfaForm.pdf");
//Load the existing XFA document
PdfLoadedXfaDocument loadedDocument = new PdfLoadedXfaDocument(docStream);
//Load the existing XFA form
PdfLoadedXfaForm loadedForm = loadedDocument.XfaForm;
//Create a text element and add the properties
PdfXfaTextElement textElement = new PdfXfaTextElement("Hello World!");
//Set font
textElement.Font = new PdfStandardFont(PdfFontFamily.Helvetica, 14, PdfFontStyle.Bold);
//Add the text element to the existing XFA form
loadedForm.Fields.Add(textElement);
MemoryStream stream = new MemoryStream();
loadedDocument.Save(stream);
//Close the document
loadedDocument.Close();
//Save the stream as PDF document file in local machine. Refer to PDF/UWP section for respected code samples
Save(stream, "XfaForm.pdf");
//Load the PDF document
FileStream docStream = new FileStream(fileName, FileMode.Open, FileAccess.Read);
//Load the existing XFA document
PdfLoadedXfaDocument loadedDocument = new PdfLoadedXfaDocument(docStream);
//Load the existing XFA form
PdfLoadedXfaForm loadedForm = loadedDocument.XfaForm;
//Create a text element and add the properties
PdfXfaTextElement textElement = new PdfXfaTextElement("Hello World!");
//Set font
textElement.Font = new PdfStandardFont(PdfFontFamily.Helvetica, 14, PdfFontStyle.Bold);
//Add the text element to the existing XFA form
loadedForm.Fields.Add(textElement);
MemoryStream stream = new MemoryStream();
loadedDocument.Save(stream);
//If the position is not set to '0' then the PDF will be empty
stream.Position = 0;
//Close the document
loadedDocument.Close();
//Defining the ContentType for pdf file
string contentType = "application/pdf";
//Define the file name
string fileName = "XfaForm.pdf";
//Creates a FileContentResult object by using the file contents, content type, and file name
return File(stream, contentType, fileName);
//Load the PDF document
Stream docStream = typeof(App).GetTypeInfo().Assembly.GetManifestResourceStream("Sample.Assets.input.pdf");
//Load the existing XFA document
PdfLoadedXfaDocument loadedDocument = new PdfLoadedXfaDocument(docStream);
//Load the existing XFA form
PdfLoadedXfaForm loadedForm = loadedDocument.XfaForm;
//Create a text element and add the properties
PdfXfaTextElement textElement = new PdfXfaTextElement("Hello World!");
//Set font
textElement.Font = new PdfStandardFont(PdfFontFamily.Helvetica, 14, PdfFontStyle.Bold);
//Add the text element to the existing XFA form
loadedForm.Fields.Add(textElement);
MemoryStream stream = new MemoryStream();
loadedDocument.Save(stream);
//If the position is not set to '0' then the PDF will be empty
stream.Position = 0;
//Close the document
loadedDocument.Close();
//Save the stream into XFDF file
//The operation in Save under Xamarin varies between Windows Phone, Android, and iOS platforms. Refer to the PDF/Xamarin section for respective code samples
if (Device.OS == TargetPlatform.WinPhone || Device.OS == TargetPlatform.Windows)
{
Xamarin.Forms.DependencyService.Get<ISaveWindowsPhone>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
else
{
Xamarin.Forms.DependencyService.Get<ISave>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
Adding the XFA rectangle field
The below code snippet illustrates how to add the rectangle field to a new PDF document using PdfXfaRectangleField class.
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add a new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form
PdfXfaForm mainForm = new PdfXfaForm("subform1",xfaPage,xfaPage.GetClientSize ().Width);
//Create a rectangle field and add the properties
PdfXfaRectangleField rectangle = new PdfXfaRectangleField("rect1",new SizeF (100,50));
//Set the fill color
rectangle.Border.FillColor = new PdfXfaSolidBrush(Color.Red);
//Add the rectangle field to the XFA form
mainForm.Fields.Add(rectangle);
//Add the XFA form to the document
document.XfaForm = mainForm;
//Save the document
document.Save("XfaForm.pdf",PdfXfaType.Dynamic);
//close the document
document.Close();
'Create a new PDF XFA document
Dim document As New PdfXfaDocument()
'Add a new XFA page
Dim xfaPage As PdfXfaPage = document.Pages.Add()
'Create a new PDF XFA form
Dim mainForm As New PdfXfaForm("subform1",xfaPage,xfaPage.GetClientSize().Width)
'Create a rectangle field and add the properties
Dim rectangle As New PdfXfaRectangleField("rect1",New SizeF(100,50))
'Set the fill color
rectangle.Border.FillColor = New PdfXfaSolidBrush(Color.Red)
'Add the rectangle field to the XFA form
mainForm.Fields.Add(rectangle)
'Add the XFA form to the document
document.XfaForm = mainForm
'Save the document
document.Save("XfaForm.pdf",PdfXfaType.Dynamic)
'close the document
document.Close()
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add a new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form
PdfXfaForm mainForm = new PdfXfaForm("subform1", xfaPage, xfaPage.GetClientSize().Width);
//Create a rectangle field and add the properties
PdfXfaRectangleField rectangle = new PdfXfaRectangleField("rect1", new SizeF(100, 50));
//Set the fill color
rectangle.Border.FillColor = new PdfXfaSolidBrush(Color.FromArgb(0,255,0,0));
//Add the rectangle field to the XFA form
mainForm.Fields.Add(rectangle);
//Add the XFA form to the document
document.XfaForm = mainForm;
MemoryStream stream = new MemoryStream();
document.Save(stream, PdfXfaType.Dynamic);
//Close the document
document.Close();
//Save the stream as PDF document file in local machine. Refer to PDF/UWP section for respected code samples
Save(stream, "XfaForm.pdf");
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add a new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form
PdfXfaForm mainForm = new PdfXfaForm("subform1", xfaPage, xfaPage.GetClientSize().Width);
//Create a rectangle field and add the properties
PdfXfaRectangleField rectangle = new PdfXfaRectangleField("rect1", new SizeF(100, 50));
//Set the fill color
rectangle.Border.FillColor = new PdfXfaSolidBrush(Color.FromArgb(0,255,0,0));
//Add the rectangle field to the XFA form
mainForm.Fields.Add(rectangle);
//Add the XFA form to the document
document.XfaForm = mainForm;
MemoryStream stream = new MemoryStream();
document.Save(stream, PdfXfaType.Dynamic);
//If the position is not set to '0' then the PDF will be empty.
stream.Position = 0;
//Close the document
document.Close();
//Defining the ContentType for pdf file
string contentType = "application/pdf";
//Define the file name
string fileName = "XfaForm.pdf";
//Creates a FileContentResult object by using the file contents, content type, and file name.
return File(stream, contentType, fileName);
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add a new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form
PdfXfaForm mainForm = new PdfXfaForm("subform1", xfaPage, xfaPage.GetClientSize().Width);
//Create a rectangle field and add the properties
PdfXfaRectangleField rectangle = new PdfXfaRectangleField("rect1", new SizeF(100, 50));
//Set the fill color
rectangle.Border.FillColor = new PdfXfaSolidBrush(Syncfusion.Drawing.Color.FromArgb(0,255,0,0));
//Add the rectangle field to the XFA form
mainForm.Fields.Add(rectangle);
//Add the XFA form to the document
document.XfaForm = mainForm;
MemoryStream stream = new MemoryStream();
document.Save(stream, PdfXfaType.Dynamic);
//If the position is not set to '0' then the PDF will be empty.
stream.Position = 0;
//Close the document
document.Close();
//Save the stream into XFDF file
//The operation in Save under Xamarin varies between Windows Phone, Android, and iOS platforms. Refer to the PDF/Xamarin section for respective code samples
if (Device.OS == TargetPlatform.WinPhone || Device.OS == TargetPlatform.Windows)
{
Xamarin.Forms.DependencyService.Get<ISaveWindowsPhone>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
else
{
Xamarin.Forms.DependencyService.Get<ISave>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
The below code snippet illustrates how to add the rectangle field to an existing PDF document.
//Load the existing XFA document
PdfLoadedXfaDocument loadedDocument = new PdfLoadedXfaDocument("XfaForm.pdf");
//Load the existing XFA form
PdfLoadedXfaForm loadedForm = loadedDocument.XfaForm;
//Create a rectangle field and add the properties
PdfXfaRectangleField rectangle = new PdfXfaRectangleField("rect1", new SizeF(100, 50));
//Set the fill color
rectangle.Border.FillColor = new PdfXfaSolidBrush(Color.Red);
//Add the rectangle to the existing XFA form.
loadedForm.Fields.Add(rectangle);
//Save the document
loadedDocument.Save("XfaForm.pdf");
//Close the document
loadedDocument.Close();
'Load the existing XFA document
Dim loadedDocument As New PdfLoadedXfaDocument("XfaForm.pdf")
'Load the existing XFA form
Dim loadedForm As PdfLoadedXfaForm = loadedDocument.XfaForm
'Create a rectangle field and add the properties
Dim rectangle As New PdfXfaRectangleField("rect1", New SizeF(100, 50))
'Set the fill color
rectangle.Border.FillColor = New PdfXfaSolidBrush(Color.Red)
'Add the rectangle to the existing XFA form
loadedForm.Fields.Add(rectangle)
'Save the document
loadedDocument.Save("XfaForm.pdf")
'Close the document
loadedDocument.Close()
//Load the PDF document as stream
Stream docStream = typeof(MainPage).GetTypeInfo().Assembly.GetManifestResourceStream("Sample.Assets.Data.XfaForm.pdf");
//Load the existing XFA document
PdfLoadedXfaDocument loadedDocument = new PdfLoadedXfaDocument(docStream);
//Load the existing XFA form
PdfLoadedXfaForm loadedForm = loadedDocument.XfaForm;
//Create a rectangle field and add the properties
PdfXfaRectangleField rectangle = new PdfXfaRectangleField("rect1", new SizeF(100, 50));
//Set the fill color
rectangle.Border.FillColor = new PdfXfaSolidBrush(Color.FromArgb(0,255,0,0));
//Add the rectangle to the existing XFA form
loadedForm.Fields.Add(rectangle);
MemoryStream stream = new MemoryStream();
loadedDocument.Save(stream);
//Close the document
loadedDocument.Close();
//Save the stream as PDF document file in local machine. Refer to PDF/UWP section for respected code samples
Save(stream, "XfaForm.pdf");
//Load the PDF document
FileStream docStream = new FileStream(fileName, FileMode.Open, FileAccess.Read);
//Load the existing XFA document
PdfLoadedXfaDocument loadedDocument = new PdfLoadedXfaDocument(docStream);
//Load the existing XFA form
PdfLoadedXfaForm loadedForm = loadedDocument.XfaForm;
//Create a rectangle field and add the properties
PdfXfaRectangleField rectangle = new PdfXfaRectangleField("rect1", new SizeF(100, 50));
//Set the fill color
rectangle.Border.FillColor = new PdfXfaSolidBrush(Color.FromArgb(0,255,0,0));
//Add the rectangle to the existing XFA form
loadedForm.Fields.Add(rectangle);
MemoryStream stream = new MemoryStream();
loadedDocument.Save(stream);
//If the position is not set to '0' then the PDF will be empty
stream.Position = 0;
//Close the document
loadedDocument.Close();
//Defining the ContentType for pdf file
string contentType = "application/pdf";
//Define the file name
string fileName = "XfaForm.pdf";
//Creates a FileContentResult object by using the file contents, content type, and file name
return File(stream, contentType, fileName);
//Load the PDF document
Stream docStream = typeof(App).GetTypeInfo().Assembly.GetManifestResourceStream("Sample.Assets.input.pdf");
//Load the existing XFA document
PdfLoadedXfaDocument loadedDocument = new PdfLoadedXfaDocument(docStream);
//Load the existing XFA form
PdfLoadedXfaForm loadedForm = loadedDocument.XfaForm;
//Create a rectangle field and add the properties
PdfXfaRectangleField rectangle = new PdfXfaRectangleField("rect1", new SizeF(100, 50));
//Set the fill color
rectangle.Border.FillColor = new PdfXfaSolidBrush(Syncfusion.Drawing.Color.FromArgb(0,255,0,0));
//Add the rectangle to the existing XFA form
loadedForm.Fields.Add(rectangle);
MemoryStream stream = new MemoryStream();
loadedDocument.Save(stream);
//If the position is not set to '0' then the PDF will be empty
stream.Position = 0;
//Close the document
loadedDocument.Close();
//Save the stream into XFDF file
//The operation in Save under Xamarin varies between Windows Phone, Android, and iOS platforms. Refer to the PDF/Xamarin section for respective code samples
if (Device.OS == TargetPlatform.WinPhone || Device.OS == TargetPlatform.Windows)
{
Xamarin.Forms.DependencyService.Get<ISaveWindowsPhone>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
else
{
Xamarin.Forms.DependencyService.Get<ISave>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
Adding the XFA circle field
The below code snippet illustrates how to add the circle field to a new PDF document using PdfXfaCircleField class.
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add a new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form
PdfXfaForm mainForm = new PdfXfaForm("subform1",xfaPage,xfaPage.GetClientSize ().Width);
//Create a circle field and add the properties
PdfXfaCircleField circle = new PdfXfaCircleField("circle", new SizeF(100, 100));
//Set the fill color
circle.Border.FillColor = new PdfXfaSolidBrush(Color.Red);
//Add the text element to the XFA form
mainForm.Fields.Add(circle);
//Add the XFA form to the document
document.XfaForm = mainForm;
//Save the document
document.Save("XfaForm.pdf",PdfXfaType.Dynamic);
//close the document
document.Close();
'Create a new PDF XFA document
Dim document As New PdfXfaDocument()
'Add a new XFA page
Dim xfaPage As PdfXfaPage = document.Pages.Add()
'Create a new PDF XFA form
Dim mainForm As New PdfXfaForm("subform1",xfaPage,xfaPage.GetClientSize().Width)
'Create a circle field and add the properties
Dim circle As New PdfXfaCircleField("circle", New SizeF(100, 100))
'Set the fill color
circle.Border.FillColor = New PdfXfaSolidBrush(Color.Red)
'Add the text element to the XFA form
mainForm.Fields.Add(circle)
'Add the XFA form to the document
document.XfaForm = mainForm
'Save the document
document.Save("XfaForm.pdf",PdfXfaType.Dynamic)
'close the document
document.Close()
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add a new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form
PdfXfaForm mainForm = new PdfXfaForm("subform1", xfaPage, xfaPage.GetClientSize().Width);
//Create a circle field and add the properties
PdfXfaCircleField circle = new PdfXfaCircleField("circle", new SizeF(100, 100));
//Set the fill color
circle.Border.FillColor = new PdfXfaSolidBrush(Color.FromArgb(0,255,0,0));
//Add the text element to the XFA form
mainForm.Fields.Add(circle);
//Add the XFA form to the document
document.XfaForm = mainForm;
MemoryStream stream = new MemoryStream();
document.Save(stream, PdfXfaType.Dynamic);
//Close the document
document.Close();
//Save the stream as PDF document file in local machine. Refer to PDF/UWP section for respected code samples
Save(stream, "XfaForm.pdf");
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add a new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form
PdfXfaForm mainForm = new PdfXfaForm("subform1", xfaPage, xfaPage.GetClientSize().Width);
//Create a circle field and add the properties
PdfXfaCircleField circle = new PdfXfaCircleField("circle", new SizeF(100, 100));
//Set the fill color
circle.Border.FillColor = new PdfXfaSolidBrush(Color.FromArgb(0,255,0,0));
//Add the text element to the XFA form
mainForm.Fields.Add(circle);
//Add the XFA form to the document
document.XfaForm = mainForm;
MemoryStream stream = new MemoryStream();
document.Save(stream, PdfXfaType.Dynamic);
//If the position is not set to '0' then the PDF will be empty.
stream.Position = 0;
//Close the document
document.Close();
//Defining the ContentType for pdf file
string contentType = "application/pdf";
//Define the file name
string fileName = "XfaForm.pdf";
//Creates a FileContentResult object by using the file contents, content type, and file name
return File(stream, contentType, fileName);
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add a new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form
PdfXfaForm mainForm = new PdfXfaForm("subform1", xfaPage, xfaPage.GetClientSize().Width);
//Create a circle field and add the properties
PdfXfaCircleField circle = new PdfXfaCircleField("circle", new SizeF(100, 100));
//Set the fill color
circle.Border.FillColor = new PdfXfaSolidBrush(Syncfusion.Drawing.Color.FromArgb(0,255,0,0));
//Add the text element to the XFA form
mainForm.Fields.Add(circle);
//Add the XFA form to the document
document.XfaForm = mainForm;
MemoryStream stream = new MemoryStream();
document.Save(stream, PdfXfaType.Dynamic);
//If the position is not set to '0' then the PDF will be empty.
stream.Position = 0;
//Close the document
document.Close();
//Save the stream into XFDF file
//The operation in Save under Xamarin varies between Windows Phone, Android, and iOS platforms. Refer to the PDF/Xamarin section for respective code samples
if (Device.OS == TargetPlatform.WinPhone || Device.OS == TargetPlatform.Windows)
{
Xamarin.Forms.DependencyService.Get<ISaveWindowsPhone>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
else
{
Xamarin.Forms.DependencyService.Get<ISave>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
The below code snippet illustrates how to add the circle field to an existing PDF document.
//Load the existing XFA document
PdfLoadedXfaDocument loadedDocument = new PdfLoadedXfaDocument("XfaForm.pdf");
//Load the existing XFA form
PdfLoadedXfaForm loadedForm = loadedDocument.XfaForm;
//Create a circle field and add the properties
PdfXfaCircleField circle = new PdfXfaCircleField("circle", new SizeF(100, 100));
//Set the fill color
circle.Border.FillColor = new PdfXfaSolidBrush(Color.Red);
//Add the circle to the existing XFA form
loadedForm.Fields.Add(circle);
//Save the document
loadedDocument.Save("XfaForm.pdf");
//Close the document
loadedDocument.Close();
'Load the existing XFA document
Dim loadedDocument As New PdfLoadedXfaDocument("XfaForm.pdf")
'Load the existing XFA form
Dim loadedForm As PdfLoadedXfaForm = loadedDocument.XfaForm
'Create a circle field and add the properties
Dim circle As New PdfXfaCircleField("circle", New SizeF(100, 100))
'Set the fill color
circle.Border.FillColor = New PdfXfaSolidBrush(Color.Red)
'Add the circle to the existing XFA form
loadedForm.Fields.Add(circle)
'Save the document
loadedDocument.Save("XfaForm.pdf")
'Close the document
loadedDocument.Close()
//Load the PDF document as stream
Stream docStream = typeof(MainPage).GetTypeInfo().Assembly.GetManifestResourceStream("Sample.Assets.Data.XfaForm.pdf");
//Load the existing XFA document
PdfLoadedXfaDocument loadedDocument = new PdfLoadedXfaDocument(docStream);
//Load the existing XFA form
PdfLoadedXfaForm loadedForm = loadedDocument.XfaForm;
//Create a circle field and add the properties
PdfXfaCircleField circle = new PdfXfaCircleField("circle", new SizeF(100, 100));
//Set the fill color
circle.Border.FillColor = new PdfXfaSolidBrush(Color.FromArgb(0,255,0,0));
//Add the circle to the existing XFA form
loadedForm.Fields.Add(circle);
MemoryStream stream = new MemoryStream();
loadedDocument.Save(stream);
//Close the document
loadedDocument.Close();
//Save the stream as PDF document file in local machine. Refer to PDF/UWP section for respected code samples
Save(stream, "XfaForm.pdf");
//Load the PDF document
FileStream docStream = new FileStream(fileName, FileMode.Open, FileAccess.Read);
//Load the existing XFA document
PdfLoadedXfaDocument loadedDocument = new PdfLoadedXfaDocument(docStream);
//Load the existing XFA form
PdfLoadedXfaForm loadedForm = loadedDocument.XfaForm;
//Create a circle field and add the properties
PdfXfaCircleField circle = new PdfXfaCircleField("circle", new SizeF(100, 100));
//Set the fill color
circle.Border.FillColor = new PdfXfaSolidBrush(Color.FromArgb(0,255,0,0));
//Add the circle to the existing XFA form
loadedForm.Fields.Add(circle);
MemoryStream stream = new MemoryStream();
loadedDocument.Save(stream);
//If the position is not set to '0' then the PDF will be empty
stream.Position = 0;
//Close the document
loadedDocument.Close();
//Defining the ContentType for pdf file
string contentType = "application/pdf";
//Define the file name
string fileName = "XfaForm.pdf";
//Creates a FileContentResult object by using the file contents, content type, and file name
return File(stream, contentType, fileName);
//Load the PDF document
Stream docStream = typeof(App).GetTypeInfo().Assembly.GetManifestResourceStream("Sample.Assets.input.pdf");
//Load the existing XFA document
PdfLoadedXfaDocument loadedDocument = new PdfLoadedXfaDocument(docStream);
//Load the existing XFA form
PdfLoadedXfaForm loadedForm = loadedDocument.XfaForm;
//Create a circle field and add the properties
PdfXfaCircleField circle = new PdfXfaCircleField("circle", new SizeF(100, 100));
//Set the fill color
circle.Border.FillColor = new PdfXfaSolidBrush(Syncfusion.Drawing.Color.FromArgb(0,255,0,0));
//Add the circle to the existing XFA form
loadedForm.Fields.Add(circle);
MemoryStream stream = new MemoryStream();
loadedDocument.Save(stream);
//If the position is not set to '0' then the PDF will be empty
stream.Position = 0;
//Close the document
loadedDocument.Close();
//Save the stream into XFDF file
//The operation in Save under Xamarin varies between Windows Phone, Android, and iOS platforms. Refer to the PDF/Xamarin section for respective code samples
if (Device.OS == TargetPlatform.WinPhone || Device.OS == TargetPlatform.Windows)
{
Xamarin.Forms.DependencyService.Get<ISaveWindowsPhone>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
else
{
Xamarin.Forms.DependencyService.Get<ISave>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
Adding the XFA line
The below code snippet illustrates how to add a line to a new PDF document using PdfXfaLine class.
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add a new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form
PdfXfaForm mainForm = new PdfXfaForm("subform1",xfaPage,xfaPage.GetClientSize ().Width);
//Create a line and add the properties
PdfXfaLine line = new PdfXfaLine(new PointF(0,0),new PointF (200,0),3);
//Set the line color
line.Color = new PdfColor(Color.Red);
//Add the text line to the XFA form
mainForm.Fields.Add(line);
//Add the XFA form to the document
document.XfaForm = mainForm;
//Save the document
document.Save("XfaForm.pdf",PdfXfaType.Dynamic);
//close the document
document.Close();
'Create a new PDF XFA document
Dim document As New PdfXfaDocument()
'Add a new XFA page
Dim xfaPage As PdfXfaPage = document.Pages.Add()
'Create a new PDF XFA form
Dim mainForm As New PdfXfaForm("subform1",xfaPage,xfaPage.GetClientSize().Width)
'Create a line and add the properties
Dim line As New PdfXfaLine(New PointF(0,0),New PointF(200,0),3)
'Set the line color
line.Color = New PdfColor(Color.Red)
'Add the text line to the XFA form
mainForm.Fields.Add(line)
'Add the XFA form to the document
document.XfaForm = mainForm
'Save the document
document.Save("XfaForm.pdf",PdfXfaType.Dynamic)
'close the document
document.Close()
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add a new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form
PdfXfaForm mainForm = new PdfXfaForm("subform1", xfaPage, xfaPage.GetClientSize().Width);
//Create a line and add the properties
PdfXfaLine line = new PdfXfaLine(new PointF(0, 0), new PointF(200, 0), 3);
//Set the line color
line.Color = new PdfColor(Color.FromArgb(0,255,0,0));
//Add the text line to the XFA form
mainForm.Fields.Add(line);
//Add the XFA form to the document
document.XfaForm = mainForm;
MemoryStream stream = new MemoryStream();
document.Save(stream, PdfXfaType.Dynamic);
//Close the document
document.Close();
//Save the stream as PDF document file in local machine. Refer to PDF/UWP section for respected code samples
Save(stream, "XfaForm.pdf");
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add a new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form
PdfXfaForm mainForm = new PdfXfaForm("subform1", xfaPage, xfaPage.GetClientSize().Width);
//Create a line and add the properties
PdfXfaLine line = new PdfXfaLine(new PointF(0, 0), new PointF(200, 0), 3);
//Set the line color
line.Color = new PdfColor(Color.FromArgb(0,255,0,0));
//Add the text line to the XFA form
mainForm.Fields.Add(line);
//Add the XFA form to the document
document.XfaForm = mainForm;
MemoryStream stream = new MemoryStream();
document.Save(stream, PdfXfaType.Dynamic);
//If the position is not set to '0' then the PDF will be empty
stream.Position = 0;
//Close the document
document.Close();
//Defining the ContentType for pdf file
string contentType = "application/pdf";
//Define the file name
string fileName = "XfaForm.pdf";
//Creates a FileContentResult object by using the file contents, content type, and file name
return File(stream, contentType, fileName);
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add a new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form
PdfXfaForm mainForm = new PdfXfaForm("subform1", xfaPage, xfaPage.GetClientSize().Width);
//Create a line and add the properties
PdfXfaLine line = new PdfXfaLine(new PointF(0, 0), new PointF(200, 0), 3);
//Set the line color
line.Color = new PdfColor(Syncfusion.Drawing.Color.FromArgb(0,255,0,0));
//Add the text line to the XFA form
mainForm.Fields.Add(line);
//Add the XFA form to the document
document.XfaForm = mainForm;
MemoryStream stream = new MemoryStream();
document.Save(stream, PdfXfaType.Dynamic);
//If the position is not set to '0' then the PDF will be empty
stream.Position = 0;
//Close the document
document.Close();
//Save the stream into XFDF file
//The operation in Save under Xamarin varies between Windows Phone, Android, and iOS platforms. Refer to the PDF/Xamarin section for respective code samples
if (Device.OS == TargetPlatform.WinPhone || Device.OS == TargetPlatform.Windows)
{
Xamarin.Forms.DependencyService.Get<ISaveWindowsPhone>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
else
{
Xamarin.Forms.DependencyService.Get<ISave>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
The below code snippet illustrates how to add a line to an existing PDF document.
//Load the existing XFA document
PdfLoadedXfaDocument loadedDocument = new PdfLoadedXfaDocument("XfaForm.pdf");
//Load the existing XFA form
PdfLoadedXfaForm loadedForm = loadedDocument.XfaForm;
//Create a line and add the properties
PdfXfaLine line = new PdfXfaLine(new PointF(0, 0), new PointF(200, 0), 3);
//Set the line color
line.Color = new PdfColor(Color.Red);
//Add the line to the existing XFA form
loadedForm.Fields.Add(line);
//Save the document
loadedDocument.Save("XfaForm.pdf");
//Close the document
loadedDocument.Close();
'Load the existing XFA document
Dim loadedDocument As New PdfLoadedXfaDocument("XfaForm.pdf")
'Load the existing XFA form
Dim loadedForm As PdfLoadedXfaForm = loadedDocument.XfaForm
'Create a line and add the properties
Dim line As New PdfXfaLine(New PointF(0, 0), New PointF(200, 0), 3)
'Set the line color
line.Color = New PdfColor(Color.Red)
'Add the line to the existing XFA form
loadedForm.Fields.Add(line)
'Save the document
loadedDocument.Save("XfaForm.pdf")
'Close the document
loadedDocument.Close()
//Load the PDF document as stream
Stream docStream = typeof(MainPage).GetTypeInfo().Assembly.GetManifestResourceStream("Sample.Assets.Data.XfaForm.pdf");
//Load the existing XFA document
PdfLoadedXfaDocument loadedDocument = new PdfLoadedXfaDocument(docStream);
//Load the existing XFA form
PdfLoadedXfaForm loadedForm = loadedDocument.XfaForm;
//Create a line and add the properties
PdfXfaLine line = new PdfXfaLine(new PointF(0, 0), new PointF(200, 0), 3);
//Set the line color
line.Color = new PdfColor(Color.FromArgb(0,255,0,0));
//Add the line to the existing XFA form
loadedForm.Fields.Add(line);
MemoryStream stream = new MemoryStream();
loadedDocument.Save(stream);
//Close the document
loadedDocument.Close();
//Save the stream as PDF document file in local machine. Refer to PDF/UWP section for respected code samples
Save(stream, "XfaForm.pdf");
//Load the PDF document
FileStream docStream = new FileStream(fileName, FileMode.Open, FileAccess.Read);
//Load the existing XFA document
PdfLoadedXfaDocument loadedDocument = new PdfLoadedXfaDocument(docStream);
//Load the existing XFA form
PdfLoadedXfaForm loadedForm = loadedDocument.XfaForm;
//Create a line and add the properties
PdfXfaLine line = new PdfXfaLine(new PointF(0, 0), new PointF(200, 0), 3);
//Set the line color
line.Color = new PdfColor(Color.FromArgb(0,255,0,0));
//Add the line to the existing XFA form
loadedForm.Fields.Add(line);
MemoryStream stream = new MemoryStream();
loadedDocument.Save(stream);
//If the position is not set to '0' then the PDF will be empty
stream.Position = 0;
//Close the document
loadedDocument.Close();
//Defining the ContentType for pdf file
string contentType = "application/pdf";
//Define the file name
string fileName = "XfaForm.pdf";
//Creates a FileContentResult object by using the file contents, content type, and file name
return File(stream, contentType, fileName);
//Load the PDF document
Stream docStream = typeof(App).GetTypeInfo().Assembly.GetManifestResourceStream("Sample.Assets.input.pdf");
//Load the existing XFA document
PdfLoadedXfaDocument loadedDocument = new PdfLoadedXfaDocument(docStream);
//Load the existing XFA form
PdfLoadedXfaForm loadedForm = loadedDocument.XfaForm;
//Create a line and add the properties
PdfXfaLine line = new PdfXfaLine(new PointF(0, 0), new PointF(200, 0), 3);
//Set the line color
line.Color = new PdfColor(Syncfusion.Drawing.Color.FromArgb(0,255,0,0));
//Add the line to the existing XFA form
loadedForm.Fields.Add(line);
MemoryStream stream = new MemoryStream();
loadedDocument.Save(stream);
//If the position is not set to '0' then the PDF will be empty
stream.Position = 0;
//Close the document
loadedDocument.Close();
//Save the stream into XFDF file
//The operation in Save under Xamarin varies between Windows Phone, Android, and iOS platforms. Refer to the PDF/Xamarin section for respective code samples
if (Device.OS == TargetPlatform.WinPhone || Device.OS == TargetPlatform.Windows)
{
Xamarin.Forms.DependencyService.Get<ISaveWindowsPhone>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
else
{
Xamarin.Forms.DependencyService.Get<ISave>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
Adding the XFA image
The below code snippet illustrates how to add an image to a new PDF document using PdfXfaImage class.
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add a new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form
PdfXfaForm mainForm = new PdfXfaForm("subform1",xfaPage,xfaPage.GetClientSize ().Width);
//Create a image and add the properties
PdfXfaImage image = new PdfXfaImage("image1", "image.jpg");
//Add the image to the XFA form
mainForm.Fields.Add(image);
//Add the XFA form to the document
document.XfaForm = mainForm;
//Save the document
document.Save("XfaForm.pdf",PdfXfaType.Dynamic);
//close the document
document.Close();
'Create a new PDF XFA document
Dim document As New PdfXfaDocument()
'Add a new XFA page
Dim xfaPage As PdfXfaPage = document.Pages.Add()
'Create a new PDF XFA form
Dim mainForm As New PdfXfaForm("subform1",xfaPage,xfaPage.GetClientSize().Width)
'Create a image and add the properties
Dim image As New PdfXfaImage("image1", "image.jpg")
'Add the image to the XFA form
mainForm.Fields.Add(image)
'Add the XFA form to the document
document.XfaForm = mainForm
'Save the document
document.Save("XfaForm.pdf",PdfXfaType.Dynamic)
'close the document
document.Close()
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add a new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form
PdfXfaForm mainForm = new PdfXfaForm("subform1", xfaPage, xfaPage.GetClientSize().Width);
//Load the image as stream
Stream imageStream = typeof(MainPage).GetTypeInfo().Assembly.GetManifestResourceStream("Sample.Assets.Data.image.jpg");
//Create a image and add the properties
PdfXfaImage image = new PdfXfaImage("image1", imageStream);
//Add the image to the XFA form
mainForm.Fields.Add(image);
//Add the XFA form to the document
document.XfaForm = mainForm;
MemoryStream stream = new MemoryStream();
document.Save(stream, PdfXfaType.Dynamic);
//Close the document
document.Close();
//Save the stream as PDF document file in local machine. Refer to PDF/UWP section for respected code samples
Save(stream, "XfaForm.pdf");
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add a new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form
PdfXfaForm mainForm = new PdfXfaForm("subform1", xfaPage, xfaPage.GetClientSize().Width);
//Load the image as stream
MemoryStream imageStream = new MemoryStream(File.ReadAllBytes(imageFileName));
//Create a image and add the properties
PdfXfaImage image = new PdfXfaImage("image1", imageStream);
//Add the image to the XFA form
mainForm.Fields.Add(image);
//Add the XFA form to the document
document.XfaForm = mainForm;
MemoryStream stream = new MemoryStream();
document.Save(stream, PdfXfaType.Dynamic);
//If the position is not set to '0' then the PDF will be empty
stream.Position = 0;
//Close the document
document.Close();
//Defining the ContentType for pdf file
string contentType = "application/pdf";
//Define the file name
string fileName = "XfaForm.pdf";
//Creates a FileContentResult object by using the file contents, content type, and file name
return File(stream, contentType, fileName);
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add a new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form
PdfXfaForm mainForm = new PdfXfaForm("subform1", xfaPage, xfaPage.GetClientSize().Width);
//Load the image as stream
Stream imageStream = typeof(App).GetTypeInfo().Assembly.GetManifestResourceStream("Sample.Assets.image.jpg");
//Create a image and add the properties
PdfXfaImage image = new PdfXfaImage("image1", imageStream);
//Add the image to the XFA form
mainForm.Fields.Add(image);
//Add the XFA form to the document
document.XfaForm = mainForm;
MemoryStream stream = new MemoryStream();
document.Save(stream, PdfXfaType.Dynamic);
//If the position is not set to '0' then the PDF will be empty
stream.Position = 0;
//Close the document
document.Close();
//Save the stream into XFDF file
//The operation in Save under Xamarin varies between Windows Phone, Android, and iOS platforms. Refer to the PDF/Xamarin section for respective code samples
if (Device.OS == TargetPlatform.WinPhone || Device.OS == TargetPlatform.Windows)
{
Xamarin.Forms.DependencyService.Get<ISaveWindowsPhone>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
else
{
Xamarin.Forms.DependencyService.Get<ISave>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
The below code snippet illustrates how to add an image to an existing PDF document.
//Load the existing XFA document
PdfLoadedXfaDocument loadedDocument = new PdfLoadedXfaDocument("XfaForm1.pdf");
//Load the existing XFA form
PdfLoadedXfaForm loadedForm = loadedDocument.XfaForm;
//Create a image and add the properties
PdfXfaImage image = new PdfXfaImage("imgage1", "image.jpg");
//Add the image to the existing XFA form
loadedForm.Fields.Add(image);
//Save the document
loadedDocument.Save("XfaForm.pdf");
//Close the document
loadedDocument.Close();
'Load the existing XFA document
Dim loadedDocument As New PdfLoadedXfaDocument("XfaForm1.pdf")
'Load the existing XFA form
Dim loadedForm As PdfLoadedXfaForm = loadedDocument.XfaForm
'Create a image and add the properties
Dim image As New PdfXfaImage("imgage1", "image.jpg")
'Add the image to the existing XFA form
loadedForm.Fields.Add(image)
'Save the document
loadedDocument.Save("XfaForm.pdf")
'Close the document
loadedDocument.Close()
//Load the PDF document as stream
Stream docStream = typeof(MainPage).GetTypeInfo().Assembly.GetManifestResourceStream("Sample.Assets.Data.XfaForm.pdf");
//Load the existing XFA document
PdfLoadedXfaDocument loadedDocument = new PdfLoadedXfaDocument(docStream);
//Load the existing XFA form
PdfLoadedXfaForm loadedForm = loadedDocument.XfaForm;
//Load the image as stream
Stream imageStream = typeof(MainPage).GetTypeInfo().Assembly.GetManifestResourceStream("Sample.Assets.Data.image.jpg");
//Create a image and add the properties
PdfXfaImage image = new PdfXfaImage("imgage1", imageStream);
//Add the image to the existing XFA form
loadedForm.Fields.Add(image);
MemoryStream stream = new MemoryStream();
loadedDocument.Save(stream);
//Close the document
loadedDocument.Close();
//Save the stream as PDF document file in local machine. Refer to PDF/UWP section for respected code samples
Save(stream, "XfaForm.pdf");
//Load the PDF document
FileStream docStream = new FileStream(fileName, FileMode.Open, FileAccess.Read);
//Load the existing XFA document
PdfLoadedXfaDocument loadedDocument = new PdfLoadedXfaDocument(docStream);
//Load the existing XFA form
PdfLoadedXfaForm loadedForm = loadedDocument.XfaForm;
//Load the image as stream
MemoryStream imageStream = new MemoryStream(File.ReadAllBytes(imageFileName));
//Create a image and add the properties
PdfXfaImage image = new PdfXfaImage("imgage1", imageStream);
//Add the image to the existing XFA form
loadedForm.Fields.Add(image);
MemoryStream stream = new MemoryStream();
loadedDocument.Save(stream);
//If the position is not set to '0' then the PDF will be empty
stream.Position = 0;
//Close the document
loadedDocument.Close();
//Defining the ContentType for pdf file
string contentType = "application/pdf";
//Define the file name
string fileName = "XfaForm.pdf";
//Creates a FileContentResult object by using the file contents, content type, and file name
return File(stream, contentType, fileName);
//Load the PDF document
Stream docStream = typeof(App).GetTypeInfo().Assembly.GetManifestResourceStream("Sample.Assets.input.pdf");
//Load the existing XFA document
PdfLoadedXfaDocument loadedDocument = new PdfLoadedXfaDocument(docStream);
//Load the existing XFA form
PdfLoadedXfaForm loadedForm = loadedDocument.XfaForm;
//Load the image as stream
Stream imageStream = typeof(App).GetTypeInfo().Assembly.GetManifestResourceStream("Sample.Assets.image.jpg");
//Create a image and add the properties
PdfXfaImage image = new PdfXfaImage("imgage1", imageStream);
//Add the image to the existing XFA form
loadedForm.Fields.Add(image);
MemoryStream stream = new MemoryStream();
loadedDocument.Save(stream);
//If the position is not set to '0' then the PDF will be empty
stream.Position = 0;
//Close the document
loadedDocument.Close();
//Save the stream into XFDF file
//The operation in Save under Xamarin varies between Windows Phone, Android, and iOS platforms. Refer to the PDF/Xamarin section for respective code samples
if (Device.OS == TargetPlatform.WinPhone || Device.OS == TargetPlatform.Windows)
{
Xamarin.Forms.DependencyService.Get<ISaveWindowsPhone>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
else
{
Xamarin.Forms.DependencyService.Get<ISave>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
Working with XFA form flow directions
There are two types of flow directions available in XFA forms.
- Horizontal
- Vertical
Horizontal flow direction
You can set the flow direction to an XFA form while creating, using PdfXfaFlowDirection Enum. The below sample illustrate how to set the horizontal flow direction in XFA forms.
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form with horizontal flow direction
PdfXfaForm mainForm = new PdfXfaForm(xfaPage,PdfXfaFlowDirection.Horizontal, xfaPage.GetClientSize ().Width);
//Create a textbox field and add the properties
PdfXfaTextBoxField textBoxField = new PdfXfaTextBoxField("FirstName", new SizeF(200, 20));
//Set the caption text
textBoxField.Caption.Text = "First Name";
//Set the tool tip
textBoxField.ToolTip = "First Name";
//Add the field to the XFA form
mainForm.Fields.Add(textBoxField);
PdfXfaTextBoxField textBoxField1 = new PdfXfaTextBoxField("LastName", new SizeF(200, 20));
//Set the caption text
textBoxField1.Caption.Text = "Last Name";
mainForm.Fields.Add(textBoxField1);
//Add the XFA form to the document
document.XfaForm = mainForm;
//Save the document
document.Save("XfaForm.pdf", PdfXfaType.Dynamic);
//close the document
document.Close();
'Create a new PDF XFA document
Dim document As New PdfXfaDocument()
'Add new XFA page
Dim xfaPage As PdfXfaPage = document.Pages.Add()
'Create a new PDF XFA form with horizontal flow direction
Dim mainForm As New PdfXfaForm(xfaPage,PdfXfaFlowDirection.Horizontal, xfaPage.GetClientSize().Width)
'Create a textbox field and add the properties
Dim textBoxField As New PdfXfaTextBoxField("FirstName", New SizeF(200, 20))
'Set the caption text
textBoxField.Caption.Text = "First Name"
'Set the tool tip
textBoxField.ToolTip = "First Name"
'Add the field to the XFA form
mainForm.Fields.Add(textBoxField)
Dim textBoxField1 As New PdfXfaTextBoxField("LastName", New SizeF(200, 20))
'Set the caption text
textBoxField1.Caption.Text = "Last Name"
mainForm.Fields.Add(textBoxField1)
'Add the XFA form to the document
document.XfaForm = mainForm
'Save the document
document.Save("XfaForm.pdf", PdfXfaType.Dynamic)
'close the document
document.Close()
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form with horizontal flow direction
PdfXfaForm mainForm = new PdfXfaForm(xfaPage, PdfXfaFlowDirection.Horizontal, xfaPage.GetClientSize().Width);
//Create a textbox field and add the properties
PdfXfaTextBoxField textBoxField = new PdfXfaTextBoxField("FirstName", new SizeF(200, 20));
//Set the caption text
textBoxField.Caption.Text = "First Name";
//Set the tool tip
textBoxField.ToolTip = "First Name";
//Add the field to the XFA form
mainForm.Fields.Add(textBoxField);
PdfXfaTextBoxField textBoxField1 = new PdfXfaTextBoxField("LastName", new SizeF(200, 20));
//Set the caption text
textBoxField1.Caption.Text = "Last Name";
mainForm.Fields.Add(textBoxField1);
//Add the XFA form to the document
document.XfaForm = mainForm;
MemoryStream stream = new MemoryStream();
document.Save(stream,PdfXfaType.Dynamic);
//Close the document
document.Close();
//Save the stream as PDF document file in local machine. Refer to PDF/UWP section for respected code samples
Save(stream, "XfaForm.pdf");
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form with horizontal flow direction
PdfXfaForm mainForm = new PdfXfaForm(xfaPage, PdfXfaFlowDirection.Horizontal, xfaPage.GetClientSize().Width);
//Create a textbox field and add the properties
PdfXfaTextBoxField textBoxField = new PdfXfaTextBoxField("FirstName", new SizeF(200, 20));
//Set the caption text
textBoxField.Caption.Text = "First Name";
//Set the tool tip
textBoxField.ToolTip = "First Name";
//Add the field to the XFA form
mainForm.Fields.Add(textBoxField);
PdfXfaTextBoxField textBoxField1 = new PdfXfaTextBoxField("LastName", new SizeF(200, 20));
//Set the caption text
textBoxField1.Caption.Text = "Last Name";
mainForm.Fields.Add(textBoxField1);
//Add the XFA form to the document
document.XfaForm = mainForm;
MemoryStream stream = new MemoryStream();
document.Save(stream,PdfXfaType.Dynamic);
//If the position is not set to '0' then the PDF will be empty
stream.Position = 0;
//Close the document
document.Close();
//Defining the ContentType for pdf file
string contentType = "application/pdf";
//Define the file name
string fileName = "XfaForm.pdf";
//Creates a FileContentResult object by using the file contents, content type, and file name
return File(stream, contentType, fileName);
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form with horizontal flow direction
PdfXfaForm mainForm = new PdfXfaForm(xfaPage, PdfXfaFlowDirection.Horizontal, xfaPage.GetClientSize().Width);
//Create a textbox field and add the properties
PdfXfaTextBoxField textBoxField = new PdfXfaTextBoxField("FirstName", new SizeF(200, 20));
//Set the caption text
textBoxField.Caption.Text = "First Name";
//Set the tool tip
textBoxField.ToolTip = "First Name";
//Add the field to the XFA form
mainForm.Fields.Add(textBoxField);
PdfXfaTextBoxField textBoxField1 = new PdfXfaTextBoxField("LastName", new SizeF(200, 20));
//Set the caption text
textBoxField1.Caption.Text = "Last Name";
mainForm.Fields.Add(textBoxField1);
//Add the XFA form to the document
document.XfaForm = mainForm;
MemoryStream stream = new MemoryStream();
document.Save(stream,PdfXfaType.Dynamic);
//If the position is not set to '0' then the PDF will be empty
stream.Position = 0;
//Close the document
document.Close();
//Save the stream into XFDF file
//The operation in Save under Xamarin varies between Windows Phone, Android, and iOS platforms. Refer to the PDF/Xamarin section for respective code samples
if (Device.OS == TargetPlatform.WinPhone || Device.OS == TargetPlatform.Windows)
{
Xamarin.Forms.DependencyService.Get<ISaveWindowsPhone>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
else
{
Xamarin.Forms.DependencyService.Get<ISave>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
Vertical flow direction
You can set the flow direction to an XFA form while creating, using PdfXfaFlowDirection Enum. The below sample illustrate how to set the vertical flow direction in XFA forms.
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form with vertical flow direction
PdfXfaForm mainForm = new PdfXfaForm(xfaPage,PdfXfaFlowDirection.Vertical, xfaPage.GetClientSize ().Width);
//Create a textbox field and add the properties
PdfXfaTextBoxField textBoxField = new PdfXfaTextBoxField("FirstName", new SizeF(200, 20));
//Set the caption text
textBoxField.Caption.Text = "First Name";
//Set the tool tip
textBoxField.ToolTip = "First Name";
//Add the field to the XFA form
mainForm.Fields.Add(textBoxField);
PdfXfaTextBoxField textBoxField1 = new PdfXfaTextBoxField("LastName", new SizeF(200, 20));
//Set the caption text
textBoxField1.Caption.Text = "Last Name";
mainForm.Fields.Add(textBoxField1);
//Add the XFA form to the document
document.XfaForm = mainForm;
//Save the document
document.Save("XfaForm.pdf", PdfXfaType.Dynamic);
//close the document
document.Close();
'Create a new PDF XFA document
Dim document As New PdfXfaDocument()
'Add new XFA page
Dim xfaPage As PdfXfaPage = document.Pages.Add()
'Create a new PDF XFA form with vertical flow direction
Dim mainForm As New PdfXfaForm(xfaPage,PdfXfaFlowDirection.Vertical, xfaPage.GetClientSize().Width)
'Create a textbox field and add the properties
Dim textBoxField As New PdfXfaTextBoxField("FirstName", New SizeF(200, 20))
'Set the caption text
textBoxField.Caption.Text = "First Name"
'Set the tool tip
textBoxField.ToolTip = "First Name"
'Add the field to the XFA form
mainForm.Fields.Add(textBoxField)
Dim textBoxField1 As New PdfXfaTextBoxField("LastName", New SizeF(200, 20))
'Set the caption text
textBoxField1.Caption.Text = "Last Name"
mainForm.Fields.Add(textBoxField1)
'Add the XFA form to the document
document.XfaForm = mainForm
'Save the document
document.Save("XfaForm.pdf", PdfXfaType.Dynamic)
'close the document
document.Close()
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form with vertical flow direction
PdfXfaForm mainForm = new PdfXfaForm(xfaPage, PdfXfaFlowDirection.Vertical, xfaPage.GetClientSize().Width);
//Create a textbox field and add the properties
PdfXfaTextBoxField textBoxField = new PdfXfaTextBoxField("FirstName", new SizeF(200, 20));
//Set the caption text
textBoxField.Caption.Text = "First Name";
//Set the tool tip
textBoxField.ToolTip = "First Name";
//Add the field to the XFA form
mainForm.Fields.Add(textBoxField);
PdfXfaTextBoxField textBoxField1 = new PdfXfaTextBoxField("LastName", new SizeF(200, 20));
//Set the caption text
textBoxField1.Caption.Text = "Last Name";
mainForm.Fields.Add(textBoxField1);
//Add the XFA form to the document
document.XfaForm = mainForm;
MemoryStream stream = new MemoryStream();
document.Save(stream,PdfXfaType.Dynamic);
//Close the document
document.Close();
//Save the stream as PDF document file in local machine. Refer to PDF/UWP section for respected code samples
Save(stream, "XfaForm.pdf");
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form with vertical flow direction
PdfXfaForm mainForm = new PdfXfaForm(xfaPage, PdfXfaFlowDirection.Vertical, xfaPage.GetClientSize().Width);
//Create a textbox field and add the properties
PdfXfaTextBoxField textBoxField = new PdfXfaTextBoxField("FirstName", new SizeF(200, 20));
//Set the caption text
textBoxField.Caption.Text = "First Name";
//Set the tool tip
textBoxField.ToolTip = "First Name";
//Add the field to the XFA form
mainForm.Fields.Add(textBoxField);
PdfXfaTextBoxField textBoxField1 = new PdfXfaTextBoxField("LastName", new SizeF(200, 20));
//Set the caption text
textBoxField1.Caption.Text = "Last Name";
mainForm.Fields.Add(textBoxField1);
//Add the XFA form to the document
document.XfaForm = mainForm;
MemoryStream stream = new MemoryStream();
document.Save(stream,PdfXfaType.Dynamic);
//If the position is not set to '0' then the PDF will be empty
stream.Position = 0;
//Close the document
document.Close();
//Defining the ContentType for pdf file
string contentType = "application/pdf";
//Define the file name
string fileName = "XfaForm.pdf";
//Creates a FileContentResult object by using the file contents, content type, and file name
return File(stream, contentType, fileName);
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form with vertical flow direction
PdfXfaForm mainForm = new PdfXfaForm(xfaPage, PdfXfaFlowDirection.Vertical, xfaPage.GetClientSize().Width);
//Create a textbox field and add the properties
PdfXfaTextBoxField textBoxField = new PdfXfaTextBoxField("FirstName", new SizeF(200, 20));
//Set the caption text
textBoxField.Caption.Text = "First Name";
//Set the tool tip
textBoxField.ToolTip = "First Name";
//Add the field to the XFA form
mainForm.Fields.Add(textBoxField);
PdfXfaTextBoxField textBoxField1 = new PdfXfaTextBoxField("LastName", new SizeF(200, 20));
//Set the caption text
textBoxField1.Caption.Text = "Last Name";
mainForm.Fields.Add(textBoxField1);
//Add the XFA form to the document
document.XfaForm = mainForm;
MemoryStream stream = new MemoryStream();
document.Save(stream,PdfXfaType.Dynamic);
//If the position is not set to '0' then the PDF will be empty
stream.Position = 0;
//Close the document
document.Close();
//Save the stream into XFDF file
//The operation in Save under Xamarin varies between Windows Phone, Android, and iOS platforms. Refer to the PDF/Xamarin section for respective code samples
if (Device.OS == TargetPlatform.WinPhone || Device.OS == TargetPlatform.Windows)
{
Xamarin.Forms.DependencyService.Get<ISaveWindowsPhone>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
else
{
Xamarin.Forms.DependencyService.Get<ISave>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
Rotating XFA form fields
You can rotate a form field in XFA document, using PdfXfaRotateAngle Enum. The following code snippet explains this.
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form with horizontal flow direction
PdfXfaForm mainForm = new PdfXfaForm(xfaPage,PdfXfaFlowDirection.Horizontal, xfaPage.GetClientSize ().Width);
//Create a textbox field and add the properties
PdfXfaTextBoxField textBoxField = new PdfXfaTextBoxField("FirstName", new SizeF(200, 20));
//Set the caption text
textBoxField.Caption.Text = "First Name";
//Set the tool tip
textBoxField.ToolTip = "First Name";
//Set the fields rotation
textBoxField.Rotate = PdfXfaRotateAngle.RotateAngle90;
//Add the field to the XFA form
mainForm.Fields.Add(textBoxField);
//Add the XFA form to the document
document.XfaForm = mainForm;
//Save the document
document.Save("XfaForm.pdf", PdfXfaType.Dynamic);
//close the document
document.Close();
'Create a new PDF XFA document
Dim document As New PdfXfaDocument()
'Add new XFA page
Dim xfaPage As PdfXfaPage = document.Pages.Add()
'Create a new PDF XFA form with horizontal flow direction
Dim mainForm As New PdfXfaForm(xfaPage,PdfXfaFlowDirection.Horizontal, xfaPage.GetClientSize().Width)
'Create a textbox field and add the properties
Dim textBoxField As New PdfXfaTextBoxField("FirstName", New SizeF(200, 20))
'Set the caption text
textBoxField.Caption.Text = "First Name"
'Set the tool tip
textBoxField.ToolTip = "First Name"
'Set the fields rotation
textBoxField.Rotate = PdfXfaRotateAngle.RotateAngle90
'Add the field to the XFA form
mainForm.Fields.Add(textBoxField)
'Add the XFA form to the document
document.XfaForm = mainForm
'Save the document
document.Save("XfaForm.pdf", PdfXfaType.Dynamic)
'close the document
document.Close()
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form with horizontal flow direction
PdfXfaForm mainForm = new PdfXfaForm(xfaPage, PdfXfaFlowDirection.Horizontal, xfaPage.GetClientSize().Width);
//Create a textbox field and add the properties
PdfXfaTextBoxField textBoxField = new PdfXfaTextBoxField("FirstName", new SizeF(200, 20));
//Set the caption text
textBoxField.Caption.Text = "First Name";
//Set the tool tip
textBoxField.ToolTip = "First Name";
//Set the fields rotation
textBoxField.Rotate = PdfXfaRotateAngle.RotateAngle90;
//Add the field to the XFA form
mainForm.Fields.Add(textBoxField);
//Add the XFA form to the document
document.XfaForm = mainForm;
MemoryStream stream = new MemoryStream();
document.Save(stream,PdfXfaType.Dynamic);
//Close the document
document.Close();
//Save the stream as PDF document file in local machine. Refer to PDF/UWP section for respected code samples
Save(stream, "XfaForm.pdf");
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form with horizontal flow direction
PdfXfaForm mainForm = new PdfXfaForm(xfaPage, PdfXfaFlowDirection.Horizontal, xfaPage.GetClientSize().Width);
//Create a textbox field and add the properties
PdfXfaTextBoxField textBoxField = new PdfXfaTextBoxField("FirstName", new SizeF(200, 20));
//Set the caption text
textBoxField.Caption.Text = "First Name";
//Set the tool tip
textBoxField.ToolTip = "First Name";
//Set the fields rotation
textBoxField.Rotate = PdfXfaRotateAngle.RotateAngle90;
//Add the field to the XFA form
mainForm.Fields.Add(textBoxField);
//Add the XFA form to the document
document.XfaForm = mainForm;
MemoryStream stream = new MemoryStream();
document.Save(stream,PdfXfaType.Dynamic);
//If the position is not set to '0' then the PDF will be empty
stream.Position = 0;
//Close the document
document.Close();
//Defining the ContentType for pdf file
string contentType = "application/pdf";
//Define the file name
string fileName = "XfaForm.pdf";
//Creates a FileContentResult object by using the file contents, content type, and file name
return File(stream, contentType, fileName);
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form with horizontal flow direction
PdfXfaForm mainForm = new PdfXfaForm(xfaPage, PdfXfaFlowDirection.Horizontal, xfaPage.GetClientSize().Width);
//Create a textbox field and add the properties
PdfXfaTextBoxField textBoxField = new PdfXfaTextBoxField("FirstName", new SizeF(200, 20));
//Set the caption text
textBoxField.Caption.Text = "First Name";
//Set the tool tip
textBoxField.ToolTip = "First Name";
//Set the fields rotation
textBoxField.Rotate = PdfXfaRotateAngle.RotateAngle90;
//Add the field to the XFA form
mainForm.Fields.Add(textBoxField);
//Add the XFA form to the document
document.XfaForm = mainForm;
MemoryStream stream = new MemoryStream();
document.Save(stream,PdfXfaType.Dynamic);
//If the position is not set to '0' then the PDF will be empty
stream.Position = 0;
//Close the document
document.Close();
//Save the stream into XFDF file
//The operation in Save under Xamarin varies between Windows Phone, Android, and iOS platforms. Refer to the PDF/Xamarin section for respective code samples
if (Device.OS == TargetPlatform.WinPhone || Device.OS == TargetPlatform.Windows)
{
Xamarin.Forms.DependencyService.Get<ISaveWindowsPhone>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
else
{
Xamarin.Forms.DependencyService.Get<ISave>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
Validating the date time field
You can validate the date time fields of the input text by enabling the RequireValidation property of PdfXfaDateTimeField. The following code snippet illustrates this.
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form with horizontal flow direction
PdfXfaForm mainForm = new PdfXfaForm(xfaPage,PdfXfaFlowDirection.Horizontal, xfaPage.GetClientSize ().Width);
//Create a date time field and add the properties
PdfXfaDateTimeField dateTimeField = new PdfXfaDateTimeField("dateTimeField", new SizeF(200, 20));
//Set the caption text
dateTimeField.Caption.Text = "Date of Birth";
//Set the date pattern
dateTimeField.DatePattern = PdfXfaDatePattern.DDMMMMYYYY;
//Enable the validation
dateTimeField.RequireValidation = true;
//Add the field to the XFA form
mainForm.Fields.Add(dateTimeField);
//Add the XFA form to the document
document.XfaForm = mainForm;
//Save the document
document.Save("XfaForm.pdf", PdfXfaType.Dynamic);
//close the document
document.Close();
'Create a new PDF XFA document
Dim document As New PdfXfaDocument()
'Add new XFA page
Dim xfaPage As PdfXfaPage = document.Pages.Add()
'Create a new PDF XFA form with horizontal flow direction
Dim mainForm As New PdfXfaForm(xfaPage,PdfXfaFlowDirection.Horizontal, xfaPage.GetClientSize().Width)
'Create a date time field and add the properties
Dim dateTimeField As New PdfXfaDateTimeField("dateTimeField", New SizeF(200, 20))
'Set the caption text
dateTimeField.Caption.Text = "Date of Birth"
'Set the date pattern
dateTimeField.DatePattern = PdfXfaDatePattern.DDMMMMYYYY
'Enable the validation
dateTimeField.RequireValidation = True
'Add the field to the XFA form
mainForm.Fields.Add(dateTimeField)
'Add the XFA form to the document
document.XfaForm = mainForm
'Save the document
document.Save("XfaForm.pdf", PdfXfaType.Dynamic)
'close the document
document.Close()
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form with horizontal flow direction
PdfXfaForm mainForm = new PdfXfaForm(xfaPage, PdfXfaFlowDirection.Horizontal, xfaPage.GetClientSize().Width);
//Create a date time field and add the properties
PdfXfaDateTimeField dateTimeField = new PdfXfaDateTimeField("dateTimeField", new SizeF(200, 20));
//Set the caption text
dateTimeField.Caption.Text = "Date of Birth";
//Set the date pattern
dateTimeField.DatePattern = PdfXfaDatePattern.DDMMMMYYYY;
//Enable the validation
dateTimeField.RequireValidation = true;
//Add the field to the XFA form
mainForm.Fields.Add(dateTimeField);
//Add the XFA form to the document
document.XfaForm = mainForm;
MemoryStream stream = new MemoryStream();
document.Save(stream,PdfXfaType.Dynamic);
//Close the document
document.Close();
//Save the stream as PDF document file in local machine. Refer to PDF/UWP section for respected code samples
Save(stream, "XfaForm.pdf");
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form with horizontal flow direction
PdfXfaForm mainForm = new PdfXfaForm(xfaPage, PdfXfaFlowDirection.Horizontal, xfaPage.GetClientSize().Width);
//Create a date time field and add the properties
PdfXfaDateTimeField dateTimeField = new PdfXfaDateTimeField("dateTimeField", new SizeF(200, 20));
//Set the caption text
dateTimeField.Caption.Text = "Date of Birth";
//Set the date pattern
dateTimeField.DatePattern = PdfXfaDatePattern.DDMMMMYYYY;
//Enable the validation
dateTimeField.RequireValidation = true;
//Add the field to the XFA form
mainForm.Fields.Add(dateTimeField);
//Add the XFA form to the document
document.XfaForm = mainForm;
MemoryStream stream = new MemoryStream();
document.Save(stream,PdfXfaType.Dynamic);
//If the position is not set to '0' then the PDF will be empty
stream.Position = 0;
//Close the document
document.Close();
//Defining the ContentType for pdf file
string contentType = "application/pdf";
//Define the file name
string fileName = "XfaForm.pdf";
//Creates a FileContentResult object by using the file contents, content type, and file name
return File(stream, contentType, fileName);
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form with horizontal flow direction
PdfXfaForm mainForm = new PdfXfaForm(xfaPage, PdfXfaFlowDirection.Horizontal, xfaPage.GetClientSize().Width);
//Create a date time field and add the properties
PdfXfaDateTimeField dateTimeField = new PdfXfaDateTimeField("dateTimeField", new SizeF(200, 20));
//Set the caption text
dateTimeField.Caption.Text = "Date of Birth";
//Set the date pattern
dateTimeField.DatePattern = PdfXfaDatePattern.DDMMMMYYYY;
//Enable the validation
dateTimeField.RequireValidation = true;
//Add the field to the XFA form
mainForm.Fields.Add(dateTimeField);
//Add the XFA form to the document
document.XfaForm = mainForm;
MemoryStream stream = new MemoryStream();
document.Save(stream,PdfXfaType.Dynamic);
//If the position is not set to '0' then the PDF will be empty
stream.Position = 0;
//Close the document
document.Close();
//Save the stream into XFDF file
//The operation in Save under Xamarin varies between Windows Phone, Android, and iOS platforms. Refer to the PDF/Xamarin section for respective code samples
if (Device.OS == TargetPlatform.WinPhone || Device.OS == TargetPlatform.Windows)
{
Xamarin.Forms.DependencyService.Get<ISaveWindowsPhone>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
else
{
Xamarin.Forms.DependencyService.Get<ISave>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
Customizing the numeric field value
You can customize the numeric field input value to the specific pattern through PatternString property of PdfXfaNumericField class. The following code snippet explains this.
Please refer the below link for numeric pattern format in detail,
http://help.adobe.com/en_US/livecycle/10.0/DesignerHelp/WS92d06802c76abadb-56c02439129b8b00ebc-7ecf.html
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form with horizontal flow direction
PdfXfaForm mainForm = new PdfXfaForm(xfaPage,PdfXfaFlowDirection.Horizontal, xfaPage.GetClientSize ().Width);
//Create a numeric field and add the properties
PdfXfaNumericField numericField = new PdfXfaNumericField("numericField", new SizeF(200, 20));
//Set the caption text
numericField.Caption.Text = "Numeric Field";
//Set the pattern string
numericField.PatternString = "zzzzzzzzz9";
//Add the field to the XFA form
mainForm.Fields.Add(numericField);
//Add the XFA form to the document
document.XfaForm = mainForm;
//Save the document
document.Save("XfaForm.pdf", PdfXfaType.Dynamic);
//close the document
document.Close();
'Create a new PDF XFA document
Dim document As New PdfXfaDocument()
'Add new XFA page
Dim xfaPage As PdfXfaPage = document.Pages.Add()
'Create a new PDF XFA form with horizontal flow direction
Dim mainForm As New PdfXfaForm(xfaPage,PdfXfaFlowDirection.Horizontal, xfaPage.GetClientSize().Width)
'Create a numeric field and add the properties
Dim numericField As New PdfXfaNumericField("numericField", New SizeF(200, 20))
'Set the caption text
numericField.Caption.Text = "Numeric Field"
'Set the pattern string
numericField.PatternString = "zzzzzzzzz9"
'Add the field to the XFA form
mainForm.Fields.Add(numericField)
'Add the XFA form to the document
document.XfaForm = mainForm
'Save the document
document.Save("XfaForm.pdf", PdfXfaType.Dynamic)
'close the document
document.Close()
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form with horizontal flow direction
PdfXfaForm mainForm = new PdfXfaForm(xfaPage, PdfXfaFlowDirection.Horizontal, xfaPage.GetClientSize().Width);
//Create a numeric field and add the properties
PdfXfaNumericField numericField = new PdfXfaNumericField("numericField", new SizeF(200, 20));
//Set the caption text
numericField.Caption.Text = "Numeric Field";
//Set the pattern string
numericField.PatternString = "zzzzzzzzz9";
//Add the field to the XFA form
mainForm.Fields.Add(numericField);
//Add the XFA form to the document
document.XfaForm = mainForm;
MemoryStream stream = new MemoryStream();
document.Save(stream,PdfXfaType.Dynamic);
//Close the document
document.Close();
//Save the stream as PDF document file in local machine. Refer to PDF/UWP section for respected code samples
Save(stream, "XfaForm.pdf");
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form with horizontal flow direction
PdfXfaForm mainForm = new PdfXfaForm(xfaPage, PdfXfaFlowDirection.Horizontal, xfaPage.GetClientSize().Width);
//Create a numeric field and add the properties
PdfXfaNumericField numericField = new PdfXfaNumericField("numericField", new SizeF(200, 20));
//Set the caption text
numericField.Caption.Text = "Numeric Field";
//Set the pattern string
numericField.PatternString = "zzzzzzzzz9";
//Add the field to the XFA form
mainForm.Fields.Add(numericField);
//Add the XFA form to the document
document.XfaForm = mainForm;
MemoryStream stream = new MemoryStream();
document.Save(stream,PdfXfaType.Dynamic);
//If the position is not set to '0' then the PDF will be empty
stream.Position = 0;
//Close the document
document.Close();
//Defining the ContentType for pdf file
string contentType = "application/pdf";
//Define the file name
string fileName = "XfaForm.pdf";
//Creates a FileContentResult object by using the file contents, content type, and file name
return File(stream, contentType, fileName);
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form with horizontal flow direction
PdfXfaForm mainForm = new PdfXfaForm(xfaPage, PdfXfaFlowDirection.Horizontal, xfaPage.GetClientSize().Width);
//Create a numeric field and add the properties
PdfXfaNumericField numericField = new PdfXfaNumericField("numericField", new SizeF(200, 20));
//Set the caption text
numericField.Caption.Text = "Numeric Field";
//Set the pattern string
numericField.PatternString = "zzzzzzzzz9";
//Add the field to the XFA form
mainForm.Fields.Add(numericField);
//Add the XFA form to the document
document.XfaForm = mainForm;
MemoryStream stream = new MemoryStream();
document.Save(stream,PdfXfaType.Dynamic);
//If the position is not set to '0' then the PDF will be empty
stream.Position = 0;
//Close the document
document.Close();
//Save the stream into XFDF file
//The operation in Save under Xamarin varies between Windows Phone, Android, and iOS platforms. Refer to the PDF/Xamarin section for respective code samples
if (Device.OS == TargetPlatform.WinPhone || Device.OS == TargetPlatform.Windows)
{
Xamarin.Forms.DependencyService.Get<ISaveWindowsPhone>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
else
{
Xamarin.Forms.DependencyService.Get<ISave>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
Adding nested sub forms
You can add the nested sub forms by using the following code snippet.
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a font
PdfFont font = new PdfStandardFont(xfaPage,PdfFontFamily.Helvetica, 12, PdfFontStyle.Bold);
//Create a new PDF XFA form with horizontal flow direction
PdfXfaForm mainForm = new PdfXfaForm(PdfXfaFlowDirection.Horizontal, xfaPage.GetClientSize ().Width);
//Create a text element
PdfXfaTextElement element = new PdfXfaTextElement("Main Form", font, 400, 20);
//Add the field to the XFA form
mainForm.Fields.Add(element);
//Create a form
PdfXfaForm form1 = new PdfXfaForm(PdfXfaFlowDirection.Vertical, 400);
PdfXfaTextElement element1 = new PdfXfaTextElement("First Form", font, 400, 20);
form1.Fields.Add(element1);
PdfXfaForm form2 = new PdfXfaForm(PdfXfaFlowDirection.Horizontal, 400);
PdfXfaTextElement element2 = new PdfXfaTextElement ("Second Form", font,400,20);
form2.Fields.Add(element2);
form1.Fields.Add(form2);
mainForm.Fields.Add(form1);
//Add the XFA form to the document
document.XfaForm = mainForm;
//Save the document
document.Save("XfaForm.pdf", PdfXfaType.Static);
//close the document
document.Close();
'Create a new PDF XFA document
Dim document As New PdfXfaDocument()
'Add new XFA page
Dim xfaPage As PdfXfaPage = document.Pages.Add()
'Create a font
Dim font As PdfFont = New PdfStandardFont(xfaPage,PdfFontFamily.Helvetica, 12, PdfFontStyle.Bold)
'Create a new PDF XFA form with horizontal flow direction
Dim mainForm As New PdfXfaForm(PdfXfaFlowDirection.Horizontal, xfaPage.GetClientSize().Width)
'Create a text element
Dim element As New PdfXfaTextElement("Main Form", font, 400, 20)
'Add the field to the XFA form
mainForm.Fields.Add(element)
'Create a form
Dim form1 As New PdfXfaForm(PdfXfaFlowDirection.Vertical, 400)
Dim element1 As New PdfXfaTextElement("First Form", font, 400, 20)
form1.Fields.Add(element1)
Dim form2 As New PdfXfaForm(PdfXfaFlowDirection.Horizontal, 400)
Dim element2 As New PdfXfaTextElement("Second Form", font,400,20)
form2.Fields.Add(element2)
form1.Fields.Add(form2)
mainForm.Fields.Add(form1)
'Add the XFA form to the document
document.XfaForm = mainForm
'Save the document
document.Save("XfaForm.pdf", PdfXfaType.Static)
'close the document
document.Close()
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a font
PdfFont font = new PdfStandardFont(PdfFontFamily.Helvetica, 12, PdfFontStyle.Bold);
//Create a new PDF XFA form with horizontal flow direction
PdfXfaForm mainForm = new PdfXfaForm(PdfXfaFlowDirection.Horizontal, xfaPage.GetClientSize().Width);
//Create a text element
PdfXfaTextElement element = new PdfXfaTextElement("Main Form", font, 400, 20);
//Add the field to the XFA form
mainForm.Fields.Add(element);
//Create a form
PdfXfaForm form1 = new PdfXfaForm(PdfXfaFlowDirection.Vertical, 400);
PdfXfaTextElement element1 = new PdfXfaTextElement("First Form", font, 400, 20);
form1.Fields.Add(element1);
PdfXfaForm form2 = new PdfXfaForm(PdfXfaFlowDirection.Horizontal, 400);
PdfXfaTextElement element2 = new PdfXfaTextElement("Second Form", font, 400, 20);
form2.Fields.Add(element2);
form1.Fields.Add(form2);
mainForm.Fields.Add(form1);
//Add the XFA form to the document
document.XfaForm = mainForm;
MemoryStream stream = new MemoryStream();
document.Save(stream,PdfXfaType.Dynamic);
//Close the document
document.Close();
//Save the stream as PDF document file in local machine. Refer to PDF/UWP section for respected code samples
Save(stream, "XfaForm.pdf");
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a font
PdfFont font = new PdfStandardFont(PdfFontFamily.Helvetica, 12, PdfFontStyle.Bold);
//Create a new PDF XFA form with horizontal flow direction
PdfXfaForm mainForm = new PdfXfaForm(PdfXfaFlowDirection.Horizontal, xfaPage.GetClientSize().Width);
//Create a text element
PdfXfaTextElement element = new PdfXfaTextElement("Main Form", font, 400, 20);
//Add the field to the XFA form
mainForm.Fields.Add(element);
//Create a form
PdfXfaForm form1 = new PdfXfaForm(PdfXfaFlowDirection.Vertical, 400);
PdfXfaTextElement element1 = new PdfXfaTextElement("First Form", font, 400, 20);
form1.Fields.Add(element1);
PdfXfaForm form2 = new PdfXfaForm(PdfXfaFlowDirection.Horizontal, 400);
PdfXfaTextElement element2 = new PdfXfaTextElement("Second Form", font, 400, 20);
form2.Fields.Add(element2);
form1.Fields.Add(form2);
mainForm.Fields.Add(form1);
//Add the XFA form to the document
document.XfaForm = mainForm;
MemoryStream stream = new MemoryStream();
document.Save(stream,PdfXfaType.Dynamic);
//If the position is not set to '0' then the PDF will be empty
stream.Position = 0;
//Close the document
document.Close();
//Defining the ContentType for pdf file
string contentType = "application/pdf";
//Define the file name
string fileName = "XfaForm.pdf";
//Creates a FileContentResult object by using the file contents, content type, and file name
return File(stream, contentType, fileName);
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a font
PdfFont font = new PdfStandardFont(PdfFontFamily.Helvetica, 12, PdfFontStyle.Bold);
//Create a new PDF XFA form with horizontal flow direction
PdfXfaForm mainForm = new PdfXfaForm(PdfXfaFlowDirection.Horizontal, xfaPage.GetClientSize().Width);
//Create a text element
PdfXfaTextElement element = new PdfXfaTextElement("Main Form", font, 400, 20);
//Add the field to the XFA form
mainForm.Fields.Add(element);
//Create a form
PdfXfaForm form1 = new PdfXfaForm(PdfXfaFlowDirection.Vertical, 400);
PdfXfaTextElement element1 = new PdfXfaTextElement("First Form", font, 400, 20);
form1.Fields.Add(element1);
PdfXfaForm form2 = new PdfXfaForm(PdfXfaFlowDirection.Horizontal, 400);
PdfXfaTextElement element2 = new PdfXfaTextElement("Second Form", font, 400, 20);
form2.Fields.Add(element2);
form1.Fields.Add(form2);
mainForm.Fields.Add(form1);
//Add the XFA form to the document
document.XfaForm = mainForm;
MemoryStream stream = new MemoryStream();
document.Save(stream,PdfXfaType.Dynamic);
//If the position is not set to '0' then the PDF will be empty
stream.Position = 0;
//Close the document
document.Close();
//Save the stream into XFDF file
//The operation in Save under Xamarin varies between Windows Phone, Android, and iOS platforms. Refer to the PDF/Xamarin section for respective code samples
if (Device.OS == TargetPlatform.WinPhone || Device.OS == TargetPlatform.Windows)
{
Xamarin.Forms.DependencyService.Get<ISaveWindowsPhone>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
else
{
Xamarin.Forms.DependencyService.Get<ISave>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
Formatting XFA form fields
Working with alignments
XFA support both the horizontal and vertical alignments.
Horizontal alignment
You can add the horizontal alignments in XFA form fields through HorizontalAlignment property by using PdfXfaHorizontalAlignment Enum. The below code snippet illustrates this.
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form with horizontal flow direction
PdfXfaForm mainForm = new PdfXfaForm(xfaPage,PdfXfaFlowDirection.Horizontal, xfaPage.GetClientSize ().Width);
//Create a text box field and add the properties
PdfXfaTextBoxField textBoxField = new PdfXfaTextBoxField("textBoxField", new SizeF(200, 20));
//Set the caption text
textBoxField.Caption.Text = "Fist Name";
//Set the horizontal alignment
textBoxField.HorizontalAlignment = PdfXfaHorizontalAlignment.Right;
//Add the field to the XFA form
mainForm.Fields.Add(textBoxField);
//Add the XFA form to the document
document.XfaForm = mainForm;
//Save the document
document.Save("XfaForm.pdf", PdfXfaType.Dynamic);
//close the document
document.Close();
'Create a new PDF XFA document
Dim document As New PdfXfaDocument()
'Add new XFA page
Dim xfaPage As PdfXfaPage = document.Pages.Add()
'Create a new PDF XFA form with horizontal flow direction
Dim mainForm As New PdfXfaForm(xfaPage,PdfXfaFlowDirection.Horizontal, xfaPage.GetClientSize().Width)
'Create a text box field and add the properties
Dim textBoxField As New PdfXfaTextBoxField("textBoxField", New SizeF(200, 20))
'Set the caption text
textBoxField.Caption.Text = "Fist Name"
'Set the horizontal alignment
textBoxField.HorizontalAlignment = PdfXfaHorizontalAlignment.Right
'Add the field to the XFA form
mainForm.Fields.Add(textBoxField)
'Add the XFA form to the document
document.XfaForm = mainForm
'Save the document
document.Save("XfaForm.pdf", PdfXfaType.Dynamic)
'close the document
document.Close()
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form with horizontal flow direction
PdfXfaForm mainForm = new PdfXfaForm(xfaPage, PdfXfaFlowDirection.Horizontal, xfaPage.GetClientSize().Width);
//Create a text box field and add the properties
PdfXfaTextBoxField textBoxField = new PdfXfaTextBoxField("textBoxField", new SizeF(200, 20));
//Set the caption text
textBoxField.Caption.Text = "Fist Name";
//Set the horizontal alignment
textBoxField.HorizontalAlignment = PdfXfaHorizontalAlignment.Right;
//Add the field to the XFA form
mainForm.Fields.Add(textBoxField);
//Add the XFA form to the document
document.XfaForm = mainForm;
MemoryStream stream = new MemoryStream();
document.Save(stream,PdfXfaType.Dynamic);
//Close the document
document.Close();
//Save the stream as PDF document file in local machine. Refer to PDF/UWP section for respected code samples
Save(stream, "XfaForm.pdf");
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form with horizontal flow direction
PdfXfaForm mainForm = new PdfXfaForm(xfaPage, PdfXfaFlowDirection.Horizontal, xfaPage.GetClientSize().Width);
//Create a text box field and add the properties
PdfXfaTextBoxField textBoxField = new PdfXfaTextBoxField("textBoxField", new SizeF(200, 20));
//Set the caption text
textBoxField.Caption.Text = "Fist Name";
//Set the horizontal alignment
textBoxField.HorizontalAlignment = PdfXfaHorizontalAlignment.Right;
//Add the field to the XFA form
mainForm.Fields.Add(textBoxField);
//Add the XFA form to the document
document.XfaForm = mainForm;
MemoryStream stream = new MemoryStream();
document.Save(stream,PdfXfaType.Dynamic);
//If the position is not set to '0' then the PDF will be empty
stream.Position = 0;
//Close the document
document.Close();
//Defining the ContentType for pdf file
string contentType = "application/pdf";
//Define the file name
string fileName = "XfaForm.pdf";
//Creates a FileContentResult object by using the file contents, content type, and file name
return File(stream, contentType, fileName);
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form with horizontal flow direction
PdfXfaForm mainForm = new PdfXfaForm(xfaPage, PdfXfaFlowDirection.Horizontal, xfaPage.GetClientSize().Width);
//Create a text box field and add the properties
PdfXfaTextBoxField textBoxField = new PdfXfaTextBoxField("textBoxField", new SizeF(200, 20));
//Set the caption text
textBoxField.Caption.Text = "Fist Name";
//Set the horizontal alignment
textBoxField.HorizontalAlignment = PdfXfaHorizontalAlignment.Right;
//Add the field to the XFA form
mainForm.Fields.Add(textBoxField);
//Add the XFA form to the document
document.XfaForm = mainForm;
MemoryStream stream = new MemoryStream();
document.Save(stream,PdfXfaType.Dynamic);
//If the position is not set to '0' then the PDF will be empty
stream.Position = 0;
//Close the document
document.Close();
//Save the stream into XFDF file
//The operation in Save under Xamarin varies between Windows Phone, Android, and iOS platforms. Refer to the PDF/Xamarin section for respective code samples
if (Device.OS == TargetPlatform.WinPhone || Device.OS == TargetPlatform.Windows)
{
Xamarin.Forms.DependencyService.Get<ISaveWindowsPhone>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
else
{
Xamarin.Forms.DependencyService.Get<ISave>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
Vertical alignment
You can add the vertical alignments in XFA form fields through VerticalAlignment property by using PdfXfaVerticalAlignment Enum. The below code snippet explains this.
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form with horizontal flow direction
PdfXfaForm mainForm = new PdfXfaForm(XfaPagePdfXfaFlowDirection.Horizontal, xfaPage.GetClientSize ().Width);
//Create a text box field and add the properties
PdfXfaTextBoxField textBoxField = new PdfXfaTextBoxField("textBoxField", new SizeF(200, 20));
//Set the caption text
textBoxField.Caption.Text = "Fist Name";
//Set the vertical alignment
textBoxField.VerticalAlignment = PdfXfaVerticalAlignment.Bottom;
//Add the field to the XFA form
mainForm.Fields.Add(textBoxField);
//Add the XFA form to the document
document.XfaForm = mainForm;
//Save the document
document.Save("XfaForm.pdf", PdfXfaType.Dynamic);
//close the document
document.Close();
'Create a new PDF XFA document
Dim document As New PdfXfaDocument()
'Add new XFA page
Dim xfaPage As PdfXfaPage = document.Pages.Add()
'Create a new PDF XFA form with horizontal flow direction
Dim mainForm As New PdfXfaForm(XfaPagePdfXfaFlowDirection.Horizontal, xfaPage.GetClientSize().Width)
'Create a text box field and add the properties
Dim textBoxField As New PdfXfaTextBoxField("textBoxField", New SizeF(200, 20))
'Set the caption text
textBoxField.Caption.Text = "Fist Name"
'Set the vertical alignment
textBoxField.VerticalAlignment = PdfXfaVerticalAlignment.Bottom
'Add the field to the XFA form
mainForm.Fields.Add(textBoxField)
'Add the XFA form to the document
document.XfaForm = mainForm
'Save the document
document.Save("XfaForm.pdf", PdfXfaType.Dynamic)
'close the document
document.Close()
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form with horizontal flow direction
PdfXfaForm mainForm = new PdfXfaForm(xfaPage, PdfXfaFlowDirection.Horizontal, xfaPage.GetClientSize().Width);
//Create a text box field and add the properties
PdfXfaTextBoxField textBoxField = new PdfXfaTextBoxField("textBoxField", new SizeF(200, 20));
//Set the caption text
textBoxField.Caption.Text = "Fist Name";
//Set the vertical alignment
textBoxField.VerticalAlignment = PdfXfaVerticalAlignment.Bottom;
//Add the field to the XFA form
mainForm.Fields.Add(textBoxField);
//Add the XFA form to the document
document.XfaForm = mainForm;
MemoryStream stream = new MemoryStream();
document.Save(stream,PdfXfaType.Dynamic);
//Close the document
document.Close();
//Save the stream as PDF document file in local machine. Refer to PDF/UWP section for respected code samples
Save(stream, "XfaForm.pdf");
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form with horizontal flow direction
PdfXfaForm mainForm = new PdfXfaForm(xfaPage, PdfXfaFlowDirection.Horizontal, xfaPage.GetClientSize().Width);
//Create a text box field and add the properties
PdfXfaTextBoxField textBoxField = new PdfXfaTextBoxField("textBoxField", new SizeF(200, 20));
//Set the caption text
textBoxField.Caption.Text = "Fist Name";
//Set the vertical alignment
textBoxField.VerticalAlignment = PdfXfaVerticalAlignment.Bottom;
//Add the field to the XFA form
mainForm.Fields.Add(textBoxField);
//Add the XFA form to the document
document.XfaForm = mainForm;
MemoryStream stream = new MemoryStream();
document.Save(stream,PdfXfaType.Dynamic);
//If the position is not set to '0' then the PDF will be empty
stream.Position = 0;
//Close the document
document.Close();
//Defining the ContentType for pdf file
string contentType = "application/pdf";
//Define the file name
string fileName = "XfaForm.pdf";
//Creates a FileContentResult object by using the file contents, content type, and file name
return File(stream, contentType, fileName);
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form with horizontal flow direction
PdfXfaForm mainForm = new PdfXfaForm(xfaPage, PdfXfaFlowDirection.Horizontal, xfaPage.GetClientSize().Width);
//Create a text box field and add the properties
PdfXfaTextBoxField textBoxField = new PdfXfaTextBoxField("textBoxField", new SizeF(200, 20));
//Set the caption text
textBoxField.Caption.Text = "Fist Name";
//Set the vertical alignment
textBoxField.VerticalAlignment = PdfXfaVerticalAlignment.Bottom;
//Add the field to the XFA form
mainForm.Fields.Add(textBoxField);
//Add the XFA form to the document
document.XfaForm = mainForm;
MemoryStream stream = new MemoryStream();
document.Save(stream,PdfXfaType.Dynamic);
//If the position is not set to '0' then the PDF will be empty
stream.Position = 0;
//Close the document
document.Close();
//Save the stream into XFDF file
//The operation in Save under Xamarin varies between Windows Phone, Android, and iOS platforms. Refer to the PDF/Xamarin section for respective code samples
if (Device.OS == TargetPlatform.WinPhone || Device.OS == TargetPlatform.Windows)
{
Xamarin.Forms.DependencyService.Get<ISaveWindowsPhone>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
else
{
Xamarin.Forms.DependencyService.Get<ISave>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
Adding margins to the XFA fields
You can add margin to the XFA form fields by using Margins property. The below code snippet explains this.
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form with horizontal flow direction
PdfXfaForm mainForm = new PdfXfaForm(xfaPage,PdfXfaFlowDirection.Horizontal, xfaPage.GetClientSize ().Width);
//Create a text box field and add the properties
PdfXfaTextBoxField textBoxField = new PdfXfaTextBoxField("textBoxField", new SizeF(200, 20));
//Set the caption text
textBoxField.Caption.Text = "Fist Name";
//Set the margins
textBoxField.Margins.Left = 10;
textBoxField.Margins.Right = 5;
//Add the field to the XFA form
mainForm.Fields.Add(textBoxField);
//Add the XFA form to the document
document.XfaForm = mainForm;
//Save the document
document.Save("XfaForm.pdf", PdfXfaType.Dynamic);
//close the document
document.Close();
'Create a new PDF XFA document
Dim document As New PdfXfaDocument()
'Add new XFA page
Dim xfaPage As PdfXfaPage = document.Pages.Add()
'Create a new PDF XFA form with horizontal flow direction
Dim mainForm As New PdfXfaForm(xfaPage,PdfXfaFlowDirection.Horizontal, xfaPage.GetClientSize().Width)
'Create a text box field and add the properties
Dim textBoxField As New PdfXfaTextBoxField("textBoxField", New SizeF(200, 20))
'Set the caption text
textBoxField.Caption.Text = "Fist Name"
'Set the margins
textBoxField.Margins.Left = 10
textBoxField.Margins.Right = 5
'Add the field to the XFA form
mainForm.Fields.Add(textBoxField)
'Add the XFA form to the document
document.XfaForm = mainForm
'Save the document
document.Save("XfaForm.pdf", PdfXfaType.Dynamic)
'close the document
document.Close()
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form with horizontal flow direction
PdfXfaForm mainForm = new PdfXfaForm(xfaPage, PdfXfaFlowDirection.Horizontal, xfaPage.GetClientSize().Width);
//Create a text box field and add the properties
PdfXfaTextBoxField textBoxField = new PdfXfaTextBoxField("textBoxField", new SizeF(200, 20));
//Set the caption text
textBoxField.Caption.Text = "Fist Name";
//Set the margins
textBoxField.Margins.Left = 10;
textBoxField.Margins.Right = 5;
//Add the field to the XFA form
mainForm.Fields.Add(textBoxField);
//Add the XFA form to the document
document.XfaForm = mainForm;
MemoryStream stream = new MemoryStream();
document.Save(stream,PdfXfaType.Dynamic);
//Close the document
document.Close();
//Save the stream as PDF document file in local machine. Refer to PDF/UWP section for respected code samples
Save(stream, "XfaForm.pdf");
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form with horizontal flow direction
PdfXfaForm mainForm = new PdfXfaForm(xfaPage, PdfXfaFlowDirection.Horizontal, xfaPage.GetClientSize().Width);
//Create a text box field and add the properties
PdfXfaTextBoxField textBoxField = new PdfXfaTextBoxField("textBoxField", new SizeF(200, 20));
//Set the caption text
textBoxField.Caption.Text = "Fist Name";
//Set the margins
textBoxField.Margins.Left = 10;
textBoxField.Margins.Right = 5;
//Add the field to the XFA form
mainForm.Fields.Add(textBoxField);
//Add the XFA form to the document
document.XfaForm = mainForm;
MemoryStream stream = new MemoryStream();
document.Save(stream,PdfXfaType.Dynamic);
//If the position is not set to '0' then the PDF will be empty
stream.Position = 0;
//Close the document
document.Close();
//Defining the ContentType for pdf file
string contentType = "application/pdf";
//Define the file name
string fileName = "XfaForm.pdf";
//Creates a FileContentResult object by using the file contents, content type, and file name
return File(stream, contentType, fileName);
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form with horizontal flow direction
PdfXfaForm mainForm = new PdfXfaForm(xfaPage, PdfXfaFlowDirection.Horizontal, xfaPage.GetClientSize().Width);
//Create a text box field and add the properties
PdfXfaTextBoxField textBoxField = new PdfXfaTextBoxField("textBoxField", new SizeF(200, 20));
//Set the caption text
textBoxField.Caption.Text = "Fist Name";
//Set the margins
textBoxField.Margins.Left = 10;
textBoxField.Margins.Right = 5;
//Add the field to the XFA form
mainForm.Fields.Add(textBoxField);
//Add the XFA form to the document
document.XfaForm = mainForm;
MemoryStream stream = new MemoryStream();
document.Save(stream,PdfXfaType.Dynamic);
//If the position is not set to '0' then the PDF will be empty
stream.Position = 0;
//Close the document
document.Close();
//Save the stream into XFDF file
//The operation in Save under Xamarin varies between Windows Phone, Android, and iOS platforms. Refer to the PDF/Xamarin section for respective code samples
if (Device.OS == TargetPlatform.WinPhone || Device.OS == TargetPlatform.Windows)
{
Xamarin.Forms.DependencyService.Get<ISaveWindowsPhone>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
else
{
Xamarin.Forms.DependencyService.Get<ISave>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
Adding padding to the XFA fields
You can add padding to the XFA form fields by using the below code snippet.
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form with horizontal flow direction
PdfXfaForm mainForm = new PdfXfaForm(xfaPage,PdfXfaFlowDirection.Horizontal, xfaPage.GetClientSize ().Width);
//Create a text box field and add the properties
PdfXfaTextBoxField textBoxField = new PdfXfaTextBoxField("textBoxField", new SizeF(200, 20));
//Set the caption text
textBoxField.Caption.Text = "Fist Name";
//Set the paddings
textBoxField.Padding.All = 2;
//Add the field to the XFA form
mainForm.Fields.Add(textBoxField);
//Add the XFA form to the document
document.XfaForm = mainForm;
//Save the document
document.Save("XfaForm.pdf", PdfXfaType.Dynamic);
//close the document
document.Close();
'Create a new PDF XFA document
Dim document As New PdfXfaDocument()
'Add new XFA page
Dim xfaPage As PdfXfaPage = document.Pages.Add()
'Create a new PDF XFA form with horizontal flow direction
Dim mainForm As New PdfXfaForm(xfaPage,PdfXfaFlowDirection.Horizontal, xfaPage.GetClientSize().Width)
'Create a text box field and add the properties
Dim textBoxField As New PdfXfaTextBoxField("textBoxField", New SizeF(200, 20))
'Set the caption text
textBoxField.Caption.Text = "Fist Name"
'Set the paddings
textBoxField.Padding.All = 2
'Add the field to the XFA form
mainForm.Fields.Add(textBoxField)
'Add the XFA form to the document
document.XfaForm = mainForm
'Save the document
document.Save("XfaForm.pdf", PdfXfaType.Dynamic)
'close the document
document.Close()
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form with horizontal flow direction
PdfXfaForm mainForm = new PdfXfaForm(xfaPage, PdfXfaFlowDirection.Horizontal, xfaPage.GetClientSize().Width);
//Create a text box field and add the properties
PdfXfaTextBoxField textBoxField = new PdfXfaTextBoxField("textBoxField", new SizeF(200, 20));
//Set the caption text
textBoxField.Caption.Text = "Fist Name";
//Set the paddings
textBoxField.Padding.All = 2;
//Add the field to the XFA form
mainForm.Fields.Add(textBoxField);
//Add the XFA form to the document
document.XfaForm = mainForm;
MemoryStream stream = new MemoryStream();
document.Save(stream,PdfXfaType.Dynamic);
//Close the document
document.Close();
//Save the stream as PDF document file in local machine. Refer to PDF/UWP section for respected code samples
Save(stream, "XfaForm.pdf");
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form with horizontal flow direction
PdfXfaForm mainForm = new PdfXfaForm(xfaPage, PdfXfaFlowDirection.Horizontal, xfaPage.GetClientSize().Width);
//Create a text box field and add the properties
PdfXfaTextBoxField textBoxField = new PdfXfaTextBoxField("textBoxField", new SizeF(200, 20));
//Set the caption text
textBoxField.Caption.Text = "Fist Name";
//Set the paddings
textBoxField.Padding.All = 2;
//Add the field to the XFA form
mainForm.Fields.Add(textBoxField);
//Add the XFA form to the document
document.XfaForm = mainForm;
MemoryStream stream = new MemoryStream();
document.Save(stream,PdfXfaType.Dynamic);
//If the position is not set to '0' then the PDF will be empty
stream.Position = 0;
//Close the document
document.Close();
//Defining the ContentType for pdf file
string contentType = "application/pdf";
//Define the file name
string fileName = "XfaForm.pdf";
//Creates a FileContentResult object by using the file contents, content type, and file name
return File(stream, contentType, fileName);
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form with horizontal flow direction
PdfXfaForm mainForm = new PdfXfaForm(xfaPage, PdfXfaFlowDirection.Horizontal, xfaPage.GetClientSize().Width);
//Create a text box field and add the properties
PdfXfaTextBoxField textBoxField = new PdfXfaTextBoxField("textBoxField", new SizeF(200, 20));
//Set the caption text
textBoxField.Caption.Text = "Fist Name";
//Set the paddings
textBoxField.Padding.All = 2;
//Add the field to the XFA form
mainForm.Fields.Add(textBoxField);
//Add the XFA form to the document
document.XfaForm = mainForm;
MemoryStream stream = new MemoryStream();
document.Save(stream,PdfXfaType.Dynamic);
//If the position is not set to '0' then the PDF will be empty
stream.Position = 0;
//Close the document
document.Close();
//Save the stream into XFDF file
//The operation in Save under Xamarin varies between Windows Phone, Android, and iOS platforms. Refer to the PDF/Xamarin section for respective code samples
if (Device.OS == TargetPlatform.WinPhone || Device.OS == TargetPlatform.Windows)
{
Xamarin.Forms.DependencyService.Get<ISaveWindowsPhone>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
else
{
Xamarin.Forms.DependencyService.Get<ISave>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
Adding border to the XFA fields
You can add the fields border by using the below code snippet.
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form with horizontal flow direction
PdfXfaForm mainForm = new PdfXfaForm(xfaPage,PdfXfaFlowDirection.Horizontal, xfaPage.GetClientSize ().Width);
//Create a text box field and add the properties
PdfXfaTextBoxField textBoxField = new PdfXfaTextBoxField("textBoxField", new SizeF(200, 20));
//Set the caption text
textBoxField.Caption.Text = "Fist Name";
//Set the border color and width
textBoxField.Border.Color = new PdfColor (200,123,0);
textBoxField.Border.Width = 2;
//Add the field to the XFA form
mainForm.Fields.Add(textBoxField);
//Add the XFA form to the document
document.XfaForm = mainForm;
//Save the document
document.Save("XfaForm.pdf", PdfXfaType.Dynamic);
//close the document
document.Close();
'Create a new PDF XFA document
Dim document As New PdfXfaDocument()
'Add new XFA page
Dim xfaPage As PdfXfaPage = document.Pages.Add()
'Create a new PDF XFA form with horizontal flow direction
Dim mainForm As New PdfXfaForm(xfaPage,PdfXfaFlowDirection.Horizontal, xfaPage.GetClientSize().Width)
'Create a text box field and add the properties
Dim textBoxField As New PdfXfaTextBoxField("textBoxField", New SizeF(200, 20))
'Set the caption text
textBoxField.Caption.Text = "Fist Name"
'Set the border color and width
textBoxField.Border.Color = New PdfColor(200,123,0)
textBoxField.Border.Width = 2
'Add the field to the XFA form
mainForm.Fields.Add(textBoxField)
'Add the XFA form to the document
document.XfaForm = mainForm
'Save the document
document.Save("XfaForm.pdf", PdfXfaType.Dynamic)
'close the document
document.Close()
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form with horizontal flow direction
PdfXfaForm mainForm = new PdfXfaForm(xfaPage, PdfXfaFlowDirection.Horizontal, xfaPage.GetClientSize().Width);
//Create a text box field and add the properties
PdfXfaTextBoxField textBoxField = new PdfXfaTextBoxField("textBoxField", new SizeF(200, 20));
//Set the caption text
textBoxField.Caption.Text = "Fist Name";
//Set the border color and width
textBoxField.Border.Color = new PdfColor(200, 123, 0);
textBoxField.Border.Width = 2;
//Add the field to the XFA form
mainForm.Fields.Add(textBoxField);
//Add the XFA form to the document
document.XfaForm = mainForm;
MemoryStream stream = new MemoryStream();
document.Save(stream,PdfXfaType.Dynamic);
//Close the document
document.Close();
//Save the stream as PDF document file in local machine. Refer to PDF/UWP section for respected code samples
Save(stream, "XfaForm.pdf");
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form with horizontal flow direction
PdfXfaForm mainForm = new PdfXfaForm(xfaPage, PdfXfaFlowDirection.Horizontal, xfaPage.GetClientSize().Width);
//Create a text box field and add the properties
PdfXfaTextBoxField textBoxField = new PdfXfaTextBoxField("textBoxField", new SizeF(200, 20));
//Set the caption text
textBoxField.Caption.Text = "Fist Name";
//Set the border color and width
textBoxField.Border.Color = new PdfColor(200, 123, 0);
textBoxField.Border.Width = 2;
//Add the field to the XFA form
mainForm.Fields.Add(textBoxField);
//Add the XFA form to the document
document.XfaForm = mainForm;
MemoryStream stream = new MemoryStream();
document.Save(stream,PdfXfaType.Dynamic);
//If the position is not set to '0' then the PDF will be empty
stream.Position = 0;
//Close the document
document.Close();
//Defining the ContentType for pdf file
string contentType = "application/pdf";
//Define the file name
string fileName = "output.pdf";
//Creates a FileContentResult object by using the file contents, content type, and file name
return File(stream, contentType, fileName);
//Create a new PDF XFA document
PdfXfaDocument document = new PdfXfaDocument();
//Add new XFA page
PdfXfaPage xfaPage = document.Pages.Add();
//Create a new PDF XFA form with horizontal flow direction
PdfXfaForm mainForm = new PdfXfaForm(xfaPage, PdfXfaFlowDirection.Horizontal, xfaPage.GetClientSize().Width);
//Create a text box field and add the properties
PdfXfaTextBoxField textBoxField = new PdfXfaTextBoxField("textBoxField", new SizeF(200, 20));
//Set the caption text
textBoxField.Caption.Text = "Fist Name";
//Set the border color and width
textBoxField.Border.Color = new PdfColor(200, 123, 0);
textBoxField.Border.Width = 2;
//Add the field to the XFA form
mainForm.Fields.Add(textBoxField);
//Add the XFA form to the document
document.XfaForm = mainForm;
MemoryStream stream = new MemoryStream();
document.Save(stream,PdfXfaType.Dynamic);
//If the position is not set to '0' then the PDF will be empty
stream.Position = 0;
//Close the document
document.Close();
//Save the stream into XFDF file
//The operation in Save under Xamarin varies between Windows Phone, Android, and iOS platforms. Refer to the PDF/Xamarin section for respective code samples
if (Device.OS == TargetPlatform.WinPhone || Device.OS == TargetPlatform.Windows)
{
Xamarin.Forms.DependencyService.Get<ISaveWindowsPhone>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
else
{
Xamarin.Forms.DependencyService.Get<ISave>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
Filling form fields in an existing XFA document
Essential PDF allows you to fill the XFA form fields using PdfLoadedXfaform class.
Filling the XFA text box field
Please refer the below sample for filling the XFA text box field using PdfLoadedXfaTextBoxField class.
//Load the existing PDF document
PdfLoadedXfaDocument loadedDocument = new PdfLoadedXfaDocument("input.pdf");
//Load the existing XFA form
PdfLoadedXfaForm loadedForm = loadedDocument.XfaForm;
//Get the loaded text box field
PdfLoadedXfaTextBoxField loadedTextBox = (loadedForm.Fields["subform1[0]"] as PdfLoadedXfaForm).Fields["text[0]"] as PdfLoadedXfaTextBoxField;
//fill the text box
loadedTextBox.Text = "First Name";
//Save the document
loadedDocument.Save("output.pdf");
//Close the document
loadedDocument.Close();
'Load the existing PDF document
Dim loadedDocument As New PdfLoadedXfaDocument("input.pdf")
'Load the existing XFA form
Dim loadedForm As PdfLoadedXfaForm = loadedDocument.XfaForm
'Get the loaded text box field
Dim loadedTextBox As PdfLoadedXfaTextBoxField = TryCast((TryCast(loadedForm.Fields("subform1[0]"), PdfLoadedXfaForm)).Fields("text[0]"), PdfLoadedXfaTextBoxField)
'fill the text box
loadedTextBox.Text = "First Name"
'Save the document
loadedDocument.Save("output.pdf")
'Close the document
loadedDocument.Close()
//Load the PDF document as stream
Stream docStream = typeof(MainPage).GetTypeInfo().Assembly.GetManifestResourceStream("Sample.Assets.Data.input.pdf");
//Load the existing XFA document
PdfLoadedXfaDocument loadedDocument = new PdfLoadedXfaDocument(docStream);
//Load the existing XFA form
PdfLoadedXfaForm loadedForm = loadedDocument.XfaForm;
//Get the loaded text box field
PdfLoadedXfaTextBoxField loadedTextBox = (loadedForm.Fields["subform1[0]"] as PdfLoadedXfaForm).Fields["text[0]"] as PdfLoadedXfaTextBoxField;
//fill the text box
loadedTextBox.Text = "First Name";
MemoryStream stream = new MemoryStream();
loadedDocument.Save(stream);
//Close the document
loadedDocument.Close();
//Save the stream as PDF document file in local machine. Refer to PDF/UWP section for respected code samples
Save(stream, "output.pdf");
//Load the PDF document
FileStream docStream = new FileStream(fileName, FileMode.Open, FileAccess.Read);
//Load the existing XFA document
PdfLoadedXfaDocument loadedDocument = new PdfLoadedXfaDocument(docStream);
//Load the existing XFA form
PdfLoadedXfaForm loadedForm = loadedDocument.XfaForm;
//Get the loaded text box field
PdfLoadedXfaTextBoxField loadedTextBox = (loadedForm.Fields["subform1[0]"] as PdfLoadedXfaForm).Fields["text[0]"] as PdfLoadedXfaTextBoxField;
//fill the text box
loadedTextBox.Text = "First Name";
MemoryStream stream = new MemoryStream();
loadedDocument.Save(stream);
//If the position is not set to '0' then the PDF will be empty
stream.Position = 0;
//Close the document
loadedDocument.Close();
//Defining the ContentType for pdf file
string contentType = "application/pdf";
//Define the file name
string fileName = "output.pdf";
//Creates a FileContentResult object by using the file contents, content type, and file name
return File(stream, contentType, fileName);
//Load the PDF document
Stream docStream = typeof(App).GetTypeInfo().Assembly.GetManifestResourceStream("Sample.Assets.input.pdf");
//Load the existing XFA document
PdfLoadedXfaDocument loadedDocument = new PdfLoadedXfaDocument(docStream);
//Load the existing XFA form
PdfLoadedXfaForm loadedForm = loadedDocument.XfaForm;
//Get the loaded text box field
PdfLoadedXfaTextBoxField loadedTextBox = (loadedForm.Fields["subform1[0]"] as PdfLoadedXfaForm).Fields["text[0]"] as PdfLoadedXfaTextBoxField;
//fill the text box
loadedTextBox.Text = "First Name";
MemoryStream stream = new MemoryStream();
loadedDocument.Save(stream);
//If the position is not set to '0' then the PDF will be empty
stream.Position = 0;
//Close the document
loadedDocument.Close();
//Save the stream into XFDF file
//The operation in Save under Xamarin varies between Windows Phone, Android, and iOS platforms. Refer to the PDF/Xamarin section for respective code samples
if (Device.OS == TargetPlatform.WinPhone || Device.OS == TargetPlatform.Windows)
{
Xamarin.Forms.DependencyService.Get<ISaveWindowsPhone>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
else
{
Xamarin.Forms.DependencyService.Get<ISave>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
Filling the XFA numeric field
You can fill the XFA numeric field by using PdfLoadedXfaNumericField class. The below code snippet illustrates this.
//Load the existing PDF document
PdfLoadedXfaDocument loadedDocument = new PdfLoadedXfaDocument("input.pdf");
//Load the existing XFA form
PdfLoadedXfaForm loadedForm = loadedDocument.XfaForm;
//Get the loaded numeric field
PdfLoadedXfaNumericField loadedNumericField = (loadedForm.Fields["subform1[0]"] as PdfLoadedXfaForm).Fields["numericField[0]"] as PdfLoadedXfaNumericField;
//fill the numeric field
loadedNumericField.NumericValue = 945322;
//Save the document
loadedDocument.Save("output.pdf");
//Close the document
loadedDocument.Close();
'Load the existing PDF document
Dim loadedDocument As New PdfLoadedXfaDocument("input.pdf")
'Load the existing XFA form
Dim loadedForm As PdfLoadedXfaForm = loadedDocument.XfaForm
'Get the loaded numeric field
Dim loadedNumericField As PdfLoadedXfaNumericField = TryCast((TryCast(loadedForm.Fields("subform1[0]"), PdfLoadedXfaForm)).Fields("numericField[0]"), PdfLoadedXfaNumericField)
'fill the numeric field
loadedNumericField.NumericValue = 945322
'Save the document
loadedDocument.Save("output.pdf")
'Close the document
loadedDocument.Close()
//Load the PDF document as stream
Stream docStream = typeof(MainPage).GetTypeInfo().Assembly.GetManifestResourceStream("Sample.Assets.Data.input.pdf");
//Load the existing XFA document
PdfLoadedXfaDocument loadedDocument = new PdfLoadedXfaDocument(docStream);
//Load the existing XFA form
PdfLoadedXfaForm loadedForm = loadedDocument.XfaForm;
//Get the loaded numeric field
PdfLoadedXfaNumericField loadedNumericField = (loadedForm.Fields["subform1[0]"] as PdfLoadedXfaForm).Fields["numericField[0]"] as PdfLoadedXfaNumericField;
//fill the numeric field
loadedNumericField.NumericValue = 945322;
MemoryStream stream = new MemoryStream();
loadedDocument.Save(stream);
//Close the document
loadedDocument.Close();
//Save the stream as PDF document file in local machine. Refer to PDF/UWP section for respected code samples
Save(stream, "output.pdf");
//Load the PDF document
FileStream docStream = new FileStream(fileName, FileMode.Open, FileAccess.Read);
//Load the existing XFA document
PdfLoadedXfaDocument loadedDocument = new PdfLoadedXfaDocument(docStream);
//Load the existing XFA form
PdfLoadedXfaForm loadedForm = loadedDocument.XfaForm;
//Get the loaded numeric field
PdfLoadedXfaNumericField loadedNumericField = (loadedForm.Fields["subform1[0]"] as PdfLoadedXfaForm).Fields["numericField[0]"] as PdfLoadedXfaNumericField;
//fill the numeric field
loadedNumericField.NumericValue = 945322;
MemoryStream stream = new MemoryStream();
loadedDocument.Save(stream);
//If the position is not set to '0' then the PDF will be empty
stream.Position = 0;
//Close the document.
loadedDocument.Close();
//Defining the ContentType for pdf file
string contentType = "application/pdf";
//Define the file name
string fileName = "output.pdf";
//Creates a FileContentResult object by using the file contents, content type, and file name
return File(stream, contentType, fileName);
//Load the PDF document
Stream docStream = typeof(App).GetTypeInfo().Assembly.GetManifestResourceStream("Sample.Assets.input.pdf");
//Load the existing XFA document
PdfLoadedXfaDocument loadedDocument = new PdfLoadedXfaDocument(docStream);
//Load the existing XFA form
PdfLoadedXfaForm loadedForm = loadedDocument.XfaForm;
//Get the loaded numeric field
PdfLoadedXfaNumericField loadedNumericField = (loadedForm.Fields["subform1[0]"] as PdfLoadedXfaForm).Fields["numericField[0]"] as PdfLoadedXfaNumericField;
//fill the numeric field
loadedNumericField.NumericValue = 945322;
MemoryStream stream = new MemoryStream();
loadedDocument.Save(stream);
//If the position is not set to '0' then the PDF will be empty
stream.Position = 0;
//Close the document.
loadedDocument.Close();
//Save the stream into XFDF file
//The operation in Save under Xamarin varies between Windows Phone, Android, and iOS platforms. Refer to the PDF/Xamarin section for respective code samples
if (Device.OS == TargetPlatform.WinPhone || Device.OS == TargetPlatform.Windows)
{
Xamarin.Forms.DependencyService.Get<ISaveWindowsPhone>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
else
{
Xamarin.Forms.DependencyService.Get<ISave>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
Filling the XFA combo box field
You can fill the XFA combo box field by using PdfLoadedXfaComboBoxField class. The below code snippet explains this.
//Load the existing PDF document
PdfLoadedXfaDocument loadedDocument = new PdfLoadedXfaDocument("input.pdf");
//Load the existing XFA form
PdfLoadedXfaForm loadedForm = loadedDocument.XfaForm;
//Get the loaded combo box field
PdfLoadedXfaComboBoxField loadedComboBoxField = (loadedForm.Fields["subform1[0]"] as PdfLoadedXfaForm).Fields["comboBoxField[0]"] as PdfLoadedXfaComboBoxField;
//Set the combo box selected index
loadedComboBoxField.SelectedIndex = 1;
//Save the document
loadedDocument.Save("output.pdf");
//Close the document
loadedDocument.Close();
'Load the existing PDF document
Dim loadedDocument As New PdfLoadedXfaDocument("input.pdf")
'Load the existing XFA form
Dim loadedForm As PdfLoadedXfaForm = loadedDocument.XfaForm
'Get the loaded combo box field
Dim loadedComboBoxField As PdfLoadedXfaComboBoxField = TryCast((TryCast(loadedForm.Fields("subform1[0]"), PdfLoadedXfaForm)).Fields("comboBoxField[0]"), PdfLoadedXfaComboBoxField)
'Set the combo box selected index
loadedComboBoxField.SelectedIndex = 1
'Save the document
loadedDocument.Save("output.pdf")
'Close the document
loadedDocument.Close()
//Load the PDF document as stream
Stream docStream = typeof(MainPage).GetTypeInfo().Assembly.GetManifestResourceStream("Sample.Assets.Data.input.pdf");
//Load the existing XFA document
PdfLoadedXfaDocument loadedDocument = new PdfLoadedXfaDocument(docStream);
//Load the existing XFA form
PdfLoadedXfaForm loadedForm = loadedDocument.XfaForm;
//Get the loaded combo box field
PdfLoadedXfaComboBoxField loadedComboBoxField = (loadedForm.Fields["subform1[0]"] as PdfLoadedXfaForm).Fields["comboBoxField[0]"] as PdfLoadedXfaComboBoxField;
//Set the combo box selected index
loadedComboBoxField.SelectedIndex = 1;
MemoryStream stream = new MemoryStream();
loadedDocument.Save(stream);
//Close the document
loadedDocument.Close();
//Save the stream as PDF document file in local machine. Refer to PDF/UWP section for respected code samples
Save(stream, "output.pdf");
//Load the PDF document
FileStream docStream = new FileStream(fileName, FileMode.Open, FileAccess.Read);
//Load the existing XFA document
PdfLoadedXfaDocument loadedDocument = new PdfLoadedXfaDocument(docStream);
//Load the existing XFA form
PdfLoadedXfaForm loadedForm = loadedDocument.XfaForm;
//Get the loaded combo box field.
PdfLoadedXfaComboBoxField loadedComboBoxField = (loadedForm.Fields["subform1[0]"] as PdfLoadedXfaForm).Fields["comboBoxField[0]"] as PdfLoadedXfaComboBoxField;
//Set the combo box selected index
loadedComboBoxField.SelectedIndex = 1;
MemoryStream stream = new MemoryStream();
loadedDocument.Save(stream);
//If the position is not set to '0' then the PDF will be empty
stream.Position = 0;
//Close the document
loadedDocument.Close();
//Defining the ContentType for pdf file
string contentType = "application/pdf";
//Define the file name
string fileName = "output.pdf";
//Creates a FileContentResult object by using the file contents, content type, and file name
return File(stream, contentType, fileName);
//Load the PDF document
Stream docStream = typeof(App).GetTypeInfo().Assembly.GetManifestResourceStream("Sample.Assets.input.pdf");
//Load the existing XFA document
PdfLoadedXfaDocument loadedDocument = new PdfLoadedXfaDocument(docStream);
//Load the existing XFA form
PdfLoadedXfaForm loadedForm = loadedDocument.XfaForm;
//Get the loaded combo box field.
PdfLoadedXfaComboBoxField loadedComboBoxField = (loadedForm.Fields["subform1[0]"] as PdfLoadedXfaForm).Fields["comboBoxField[0]"] as PdfLoadedXfaComboBoxField;
//Set the combo box selected index
loadedComboBoxField.SelectedIndex = 1;
MemoryStream stream = new MemoryStream();
loadedDocument.Save(stream);
//If the position is not set to '0' then the PDF will be empty
stream.Position = 0;
//Close the document
loadedDocument.Close();
//Save the stream into XFDF file
//The operation in Save under Xamarin varies between Windows Phone, Android, and iOS platforms. Refer to the PDF/Xamarin section for respective code samples
if (Device.OS == TargetPlatform.WinPhone || Device.OS == TargetPlatform.Windows)
{
Xamarin.Forms.DependencyService.Get<ISaveWindowsPhone>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
else
{
Xamarin.Forms.DependencyService.Get<ISave>().Save("XfaForm.pdf", "application/pdf", fdfStream);
}
You can fill and save hidden items in XFA combo box field by using the following code snippet.
//Load the existing PDF document
PdfLoadedXfaDocument loadedDocument = new PdfLoadedXfaDocument("Input.pdf");
//Load the existing XFA form
PdfLoadedXfaForm loadedForm = loadedDocument.XfaForm;
//Get the loaded combo box field
PdfLoadedXfaComboBoxField loadedComboBoxField = (loadedForm.Fields["subform1[0]"] as PdfLoadedXfaForm).Fields["comboBoxField[0]"] as PdfLoadedXfaComboBoxField;
//Set the combo box selected index using hidden items
loadedComboBoxField.SelectedValue = loadedComboBoxField.HiddenItems[0];
//Save the combo box field hidden values
List<string> hiddenValues = new List<string>();
hiddenValues = loadedComboBoxField.HiddenItems;
//Save the document
loadedDocument.Save("output.pdf");
//Close the document
loadedDocument.Close();
'Load the existing PDF document
Dim loadedDocument As New PdfLoadedXfaDocument("Input.pdf")
'Load the existing XFA form
Dim loadedForm As PdfLoadedXfaForm = loadedDocument.XfaForm
'Get the loaded combo box field
Dim loadedComboBoxField As PdfLoadedXfaComboBoxField = TryCast(TryCast(loadedForm.Fields("subform1[0]"), PdfLoadedXfaForm).Fields("comboBoxField[0]"), PdfLoadedXfaComboBoxField)
'Set the combo box selected index using hidden items
loadedComboBoxField.SelectedValue = loadedComboBoxField.HiddenItems(0)
'Save the combo box field hidden values
Dim hiddenValues As New List(Of String)()
hiddenValues = loadedComboBoxField.HiddenItems
'Save the document
loadedDocument.Save("output.pdf")
'Close the document
loadedDocument.Close()
//Load the PDF document as stream
Stream docStream = typeof(MainPage).GetTypeInfo().Assembly.GetManifestResourceStream("Sample.Assets.Data.input.pdf");
//Load the existing XFA document
PdfLoadedXfaDocument loadedDocument = new PdfLoadedXfaDocument(docStream);
//Load the existing XFA form
PdfLoadedXfaForm loadedForm = loadedDocument.XfaForm;
//Get the loaded combo box field
PdfLoadedXfaComboBoxField loadedComboBoxField = (loadedForm.Fields["subform1[0]"] as PdfLoadedXfaForm).Fields["comboBoxField[0]"] as PdfLoadedXfaComboBoxField;
//Set the combo box selected index using hidden items
loadedComboBoxField.SelectedValue = loadedComboBoxField.HiddenItems[0];
//Save the combo box field hidden values
List<string> hiddenValues = new List<string>();
hiddenValues = loadedComboBoxField.HiddenItems;
MemoryStream stream = new MemoryStream();
loadedDocument.Save(stream);
//Close the document
loadedDocument.Close();
//Save the stream as PDF document file in local machine. Refer to PDF/UWP section for respected code samples
Save(stream, "output.pdf");
//Load the PDF document
FileStream docStream = new FileStream(fileName, FileMode.Open, FileAccess.Read);
//Load the existing XFA document
PdfLoadedXfaDocument loadedDocument = new PdfLoadedXfaDocument(docStream);
//Load the existing XFA form
PdfLoadedXfaForm loadedForm = loadedDocument.XfaForm;
//Get the loaded combo box field
PdfLoadedXfaComboBoxField loadedComboBoxField = (loadedForm.Fields["subform1[0]"] as PdfLoadedXfaForm).Fields["comboBoxField[0]"] as PdfLoadedXfaComboBoxField;
//Set the combo box selected index using hidden items
loadedComboBoxField.SelectedValue = loadedComboBoxField.HiddenItems[0];
//Save the combo box field hidden values
List<string> hiddenValues = new List<string>();
hiddenValues = loadedComboBoxField.HiddenItems;
MemoryStream stream = new MemoryStream();
loadedDocument.Save(stream);
//If the position is not set to '0' then the PDF will be empty
stream.Position = 0;
//Close the document
loadedDocument.Close();
//Defining the ContentType for pdf file
string contentType = "application/pdf";
//Define the file name
string fileName = "output.pdf";
//Creates a FileContentResult object by using the file contents, content type, and file name
return File(stream, contentType, fileName);
//Load the PDF document
Stream docStream = typeof(App).GetTypeInfo().Assembly.GetManifestResourceStream("Sample.Assets.input.pdf");
//Load the existing XFA document
PdfLoadedXfaDocument loadedDocument = new PdfLoadedXfaDocument(docStream);
//Load the existing XFA form
PdfLoadedXfaForm loadedForm = loadedDocument.XfaForm;
//Get the loaded combo box field
PdfLoadedXfaComboBoxField loadedComboBoxField = (loadedForm.Fields["subform1[0]"] as PdfLoadedXfaForm).Fields["comboBoxField[0]"] as PdfLoadedXfaComboBoxField;
//Set the combo box selected index using hidden items
loadedComboBoxField.SelectedValue = loadedComboBoxField.HiddenItems[0];
//Save the combo box field hidden values
List<string> hiddenValues = new List<string>();
hiddenValues = loadedComboBoxField.HiddenItems;
MemoryStream stream = new MemoryStream();
loadedDocument.Save(stream);
//If the position is not set to '0' then the PDF will be empty
stream.Position = 0;
//Close the document
loadedDocument.Close();
//Save the stream into XFDF file
//The operation in Save under Xamarin varies between Windows Phone, Android, and iOS platforms. Refer to the PDF/Xamarin section for respective code samples
if (Device.OS == TargetPlatform.WinPhone || Device.OS == TargetPlatform.Windows)
{
Xamarin.Forms.DependencyService.Get<ISaveWindowsPhone>().Save