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:

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)

See Also

ceTe.DynamicPDF.Xmp

In this topic