GroupDocs.Parser for .NET 23.12 Release Notes
This page contains release notes for GroupDocs.Parser for .NET 23.12
Full List of Issues Covering all Changes in this Release
Key | Summary | Category |
---|---|---|
PARSERNET-2210 | Implement the ability to serialize/deserialize templates | Feature |
Public API and Backward Incompatible Changes
Implement the ability to serialize/deserialize templates
Description
This feature allows to save Template object to XML file and restore Template object from XML file.
Public API changes
Point public class was updated with changes as follows:
Size public class was updated with changes as follows:
- Added Parse(string) static method
- Added TryParse(string, out Size) static method
- Added IsEmpty property
TemplateLinkedPositionEdges public class was updated with changes as follows:
- Added Parse(string) static method
- Added TryParse(string, out TemplateLinkedPositionEdges) static method
- Added ToString() method
Template public class was updated with changes as follows:
- Added Load(Stream) static method
- Added Load(string) static method
- Added Save(Stream) method
- Added Save(string) method
Usage
The following example shows how to save the template to the file:
// Create detector parameters for "Details" table
TemplateTableParameters detailsTableParameters = new TemplateTableParameters(new Rectangle(new Point(35, 320), new Size(530, 55)), null);
// Create detector parameters for "Summary" table
TemplateTableParameters summaryTableParameters = new TemplateTableParameters(new Rectangle(new Point(330, 385), new Size(220, 65)), null);
// Create a collection of template items
TemplateItem[] templateItems = new TemplateItem[]
{
new TemplateField(new TemplateFixedPosition(new Rectangle(new Point(35, 135), new Size(100, 10))), "FromCompany",null, false),
new TemplateField(new TemplateFixedPosition(new Rectangle(new Point(35, 150), new Size(100, 35))), "FromAddress",null, false),
new TemplateField(new TemplateFixedPosition(new Rectangle(new Point(35, 190), new Size(150, 2))), "FromEmail",null, false),
new TemplateField(new TemplateFixedPosition(new Rectangle(new Point(35, 250), new Size(100, 2))), "ToCompany",null, false),
new TemplateField(new TemplateFixedPosition(new Rectangle(new Point(35, 260), new Size(100, 15))), "ToAddress",null, false),
new TemplateField(new TemplateFixedPosition(new Rectangle(new Point(35, 290), new Size(150, 2))), "ToEmail",null, false),
new TemplateField(new TemplateRegexPosition("Invoice Number"), "InvoiceNumber",null, false),
new TemplateField(new TemplateLinkedPosition(
"InvoiceNumber",
new Size(200, 15),
new TemplateLinkedPositionEdges(false, false, true, false), false, false),
"InvoiceNumberValue",null, false),
new TemplateField(new TemplateRegexPosition("Order Number"), "InvoiceOrder",null, false),
new TemplateField(new TemplateLinkedPosition(
"InvoiceOrder",
new Size(200, 15),
new TemplateLinkedPositionEdges(false, false, true, false), false, false),
"InvoiceOrderValue",null, false),
new TemplateField(new TemplateRegexPosition("Invoice Date"), "InvoiceDate",null, false),
new TemplateField(new TemplateLinkedPosition(
"InvoiceDate",
new Size(200, 15),
new TemplateLinkedPositionEdges(false, false, true, false), false, false),
"InvoiceDateValue",null, false),
new TemplateField(new TemplateRegexPosition("Due Date"), "DueDate",null, false),
new TemplateField(new TemplateLinkedPosition(
"DueDate",
new Size(200, 15),
new TemplateLinkedPositionEdges(false, false, true, false)),
"DueDateValue",null, false),
new TemplateField(new TemplateRegexPosition("Total Due"), "TotalDue",null, false),
new TemplateField(new TemplateLinkedPosition(
"TotalDue",
new Size(200, 15),
new TemplateLinkedPositionEdges(false, false, true, false)),
"TotalDueValue",null, false),
new TemplateTable(detailsTableParameters, "details", null, false),
new TemplateTable(summaryTableParameters, "summary", null, false)
};
// Create a document template
Template template = new Template(templateItems);
// Save the document template to the file
template.Save("template.xml");
The following example shows how to load the template from the file:
// Load a document template from the file
Template template = Template.Load("template.xml");