PDFKit.NET 5.0 - detailed changes to the API

This article compares the builds that 4.0 and 5.0 have in common: net20, net40, net40-client and net40-wpf. PDFKit.NET 5.0 adds a netstandard1.5 build that is discussed separately.

The following is a fairly dry list of changes. Links to the API reference and related conceptual articles and code samples are provided.

Backwards compatible

All types and members that are available in 4.0 are also available in 5.0. So it is fully backwards compatible.

XFA

The new dynamic XFA API of PDFKit.NET 5.0 allows populating and consuming dynamic XFA documents. Read more.

  • Added enum TallComponents.PDF.XfaDocumentMode.
  • Added property TallComponents.PDF.XfaInfo.DocumentMode.
  • Added class TallComponents.PDF.Forms.Fields.DynamicXfaProcessor.
  • Added class TallComponents.PDF.Forms.Fields.XfaActionCollection.
  • Added many properties to class TallComponents.PDF.Forms.Fields.XfaInfo.
  • New event FieldCollection.Changed. This event signals new fields being added dynamically.

Tagging

PDFKit.NET 5.0 adds support for tagging. The API allows you to read existing tags and create new tags and associate these with content. Read more.

Central to the tagging API are types LogicalStructure, Tag, TagAttribute, RoleMap, ClassMap and interface ITaggable.

  • Added namespace TallComponents.PDF.Tags. Check the API reference for all the new types.
  • Added interface TallComponents.PDF.Tags.ITaggable (implemented by Fragment and ContentShape)

Layer

  • New enum TallComponents.PDF.LayerState
  • New property Layer.Exportable
  • New property Layer.Printable

OpenOptions

  • New class OpenOptions to control reading a PDF document. This class has properties AutoRepair, Password and JavaScriptBehavior.
  • New Document ctors that accept OpenOptions as one of their arguments.

Compress and reduce

  • New property WriteOptions.Compression to specifiy compression when a PDF document is written.
  • New enum TallComponents.PDF.ReduceOptions
  • New methods Document.Rewrite that allows rewriting of a document to reduce its size

Prepress

  • New namespace TallComponents.PDF.Prepress
  • New class TallComponents.PDF.Prepress.OutputIntent
  • New class TallComponents.PDF.Prepress.OutputIntentCollection
  • New enum TallComponents.PDF.Prepress.OutputIntentType

MatrixTransform

  • New enum TallComponents.PDF.Transforms.MatrixOrder to specify multiply order
  • New methods Rotate, Scale, Shear and Translate added to class TallComponents.PDF.Transforms.MatrixTransform