PdfUASchema
This class used to create PDF/UA version 1 documents.
public class PdfUASchema : XmpSchema
Public Class PdfUASchema
Inherits XmpSchema
Inheritance: ObjectXmpSchemaPdfUASchema
Licensing Info
This class is a full DynamicPDF Core Suite feature. One of the following is required for non-evaluation usage:
- An active DynamicPDF Ultimate Subscription
- An active DynamicPDF Professional or Professional Plus Subscription with DynamicPDF Core Suite selected.
- A DynamicPDF Core Suite for .NET v12.X Developer License.
Examples
This example demonstrates the elements needed to specify a document as PDF/UA compatible.Imports System
Imports ceTe.DynamicPDF
Imports ceTe.DynamicPDF.PageElements
Imports ceTe.DynamicPDF.Xmp
Imports ceTe.DynamicPDF.Text
Module MyModule
Sub PdfUaSchemeExample(outputPath As String)
' Create a PDF Document
Dim MyDocument As Document = New Document
' Set the TagOptions to document
MyDocument.Tag = New TagOptions
' Create StructureElement objects and set Order etc.
Dim structureDocument As StructureElement = New StructureElement(TagType.Document)
Dim structureHeading As StructureElement = New StructureElement(TagType.Heading)
Dim structureForm As StructureElement = New StructureElement(TagType.Form)
structureForm.Order = 2
structureHeading.Parent = structureDocument
structureForm.Parent = structureDocument
' Create AttributeObject objects with tag order and parents.
Dim attrObjLayout As AttributeObject = New AttributeObject(AttributeOwner.Layout)
attrObjLayout.SetPlacement(Placement.Block)
structureForm.AttributeLists.Add(attrObjLayout)
Dim structureForm2 As StructureElement = New StructureElement(TagType.Form)
structureForm2.Order = 4
structureForm2.Parent = structureDocument
structureForm2.AttributeLists.Add(attrObjLayout)
Dim structureParagraph As StructureElement = New StructureElement(TagType.Paragraph)
structureParagraph.Order = 1
structureParagraph.Parent = structureDocument
Dim structureParagraph2 As StructureElement = New StructureElement(TagType.Paragraph)
structureParagraph2.Parent = structureDocument
structureParagraph2.Order = 3
' Set Document Language
MyDocument.Language = "en-us"
MyDocument.ViewerPreferences.DisplayDocTitle = True
' Create a Page
Dim MyPage As Page = New Page
' Create a Label and set Tag
Dim lblEnterName As ceTe.DynamicPDF.PageElements.Label = New ceTe.DynamicPDF.PageElements.Label("Name : ", 0, 100, 100, 50)
lblEnterName.Tag = structureParagraph
Dim lblAge As ceTe.DynamicPDF.PageElements.Label = New ceTe.DynamicPDF.PageElements.Label("Age : ", 0, 200, 100, 50)
lblAge.Tag = structureParagraph2
' Create a TextField and set Tag
Dim txtField1 As ceTe.DynamicPDF.PageElements.Forms.TextField = New ceTe.DynamicPDF.PageElements.Forms.TextField("txtFieldName1", 100, 100, 100, 50)
Dim txtField2 As ceTe.DynamicPDF.PageElements.Forms.TextField = New ceTe.DynamicPDF.PageElements.Forms.TextField("txtFieldName2", 100, 200, 100, 50)
txtField1.Tag = structureForm
txtField2.Tag = structureForm2
' Create an OpenTypeFont object with Embed option and ToolTip
Dim font As OpenTypeFont = New OpenTypeFont("times.ttf")
font.Embed = True
font.Subset = False
lblEnterName.Font = font
lblAge.Font = font
txtField1.Font = font
txtField1.ToolTip = "Name"
txtField2.Font = font
txtField2.ToolTip = "age"
' Add the Elements to the Page
MyPage.Elements.Add(lblEnterName)
MyPage.Elements.Add(txtField1)
MyPage.Elements.Add(lblAge)
MyPage.Elements.Add(txtField2)
' Add Page to the Document
MyDocument.Pages.Add(MyPage)
' Create an Xmp Metadata
Dim Xmp As XmpMetadata = New XmpMetadata()
' Create a PdfUASchema and add to XMP matadata
Dim customSchema As PdfUASchema = New PdfUASchema()
Xmp.AddSchema(customSchema)
' Create DublinCoreSchema and set properties
Dim dublinCoreSchema As DublinCoreSchema = Xmp.DublinCore
dublinCoreSchema.Title.AddLang("en-us", "XMP")
dublinCoreSchema.Title.DefaultText = "Title Text"
' Adding the XmpMatadata to the document
MyDocument.XmpMetadata = Xmp
' Save the PDF
MyDocument.Draw(outputPath)
End Sub
End Module
using System;
using ceTe.DynamicPDF;
using ceTe.DynamicPDF.xmp;
public class Example
{
static void PdfUaSchemeExample(string outputPath)
{
// Create a PDF Document
Document document = new Document();
// Set the TagOptions to document
document.Tag = new TagOptions();
// Create StructureElement objects and set Order etc.
StructureElement structureDocument = new StructureElement(TagType.Document);
StructureElement structureHeading = new StructureElement(TagType.Heading);
StructureElement structureForm = new StructureElement(TagType.Form);
structureForm.Order = 2;
structureHeading.Parent = structureDocument;
structureForm.Parent = structureDocument;
// Create AttributeObject objects with tag order and parents.
AttributeObject attrObjLayout = new AttributeObject(AttributeOwner.Layout);
attrObjLayout.SetPlacement(Placement.Block);
structureForm.AttributeLists.Add(attrObjLayout);
StructureElement structureForm2 = new StructureElement(TagType.Form);
structureForm2.Order = 4;
structureForm2.Parent = structureDocument;
structureForm2.AttributeLists.Add(attrObjLayout);
StructureElement structureParagraph = new StructureElement(TagType.Paragraph);
structureParagraph.Order = 1;
structureParagraph.Parent = structureDocument;
StructureElement structureParagraph2 = new StructureElement(TagType.Paragraph);
structureParagraph2.Parent = structureDocument;
structureParagraph2.Order = 3;
// Set Document Language
document.Language = "en-us";
document.ViewerPreferences.DisplayDocTitle = true;
// Create a Page
Page page = new Page();
// Create a Label and set Tag
ceTe.DynamicPDF.PageElements.Label lblEnterName = new ceTe.DynamicPDF.PageElements.Label("Name : ", 0, 100, 100, 50);
lblEnterName.Tag = structureParagraph;
ceTe.DynamicPDF.PageElements.Label lblAge = new ceTe.DynamicPDF.PageElements.Label("Age : ", 0, 200, 100, 50);
lblAge.Tag = structureParagraph2;
// Create a TextField and set Tag
ceTe.DynamicPDF.PageElements.Forms.TextField txtField1 = new ceTe.DynamicPDF.PageElements.Forms.TextField("txtFieldName1", 100, 100, 100, 50);
ceTe.DynamicPDF.PageElements.Forms.TextField txtField2 = new ceTe.DynamicPDF.PageElements.Forms.TextField("txtFieldName2", 100, 200, 100, 50);
txtField1.Tag = structureForm;
txtField2.Tag = structureForm2;
// Create an OpenTypeFont object with Embed option and ToolTip
OpenTypeFont font = new OpenTypeFont("times.ttf");
font.Embed = true;
font.Subset = false;
lblEnterName.Font = font;
lblAge.Font = font;
txtField1.Font = font;
txtField1.ToolTip = "Name";
txtField2.Font = font;
txtField2.ToolTip = "age";
// Add the Elements to the Page
page.Elements.Add(lblEnterName);
page.Elements.Add(txtField1);
page.Elements.Add(lblAge);
page.Elements.Add(txtField2);
// Add Page to the Document
document.Pages.Add(page);
// Create an Xmp Metadata
XmpMetadata xmp = new XmpMetadata();
// Create a PdfUASchema and add to XMP matadata
PdfUASchema customSchema = new PdfUASchema();
xmp.AddSchema(customSchema);
// Create DublinCoreSchema and set properties
DublinCoreSchema dublinCoreSchema = xmp.DublinCore;
dublinCoreSchema.Title.AddLang("en-us", "XMP");
dublinCoreSchema.Title.DefaultText = "Title Text";
// Adding the XmpMatadata to the document
document.XmpMetadata = xmp;
// Save the PDF
document.Draw(outputPath);
}
}
Constructors
PdfUASchema() | Creates new instance of the PDF/UA schema. |
Methods
Equals(Object) | Determines whether the specified Object is equal to the current Object . (Inherited from Object) |
GetHashCode() | Serves as a hash function for a particular type. (Inherited from Object) |
GetType() | Gets the Type of the current instance. (Inherited from Object) |
ToString() | Returns a String that represents the current Object . (Inherited from Object) |