Difference between revisions of "Apitron PDF Kit"

From
Jump to: navigation, search
m
m (Features mapped to specification structure)
 
(57 intermediate revisions by the same user not shown)
Line 5: Line 5:
  
 
== Supported PDF versions and subtypes ==
 
== Supported PDF versions and subtypes ==
Documents saved using PDF versions starting from 1.4 until 2.0 can be opened, edited and saved, with PDF 2.0 being the latest version of the specification . Files can be normal, tagged, password-protected, signed, incrementally updated.
+
Documents saved using PDF versions starting from 1.4 until 2.0 can be opened, edited and saved, with PDF 2.0 being the latest version of the specification . Files can be normal, [[Document Interchange#Tagged PDF | tagged]], password-protected, signed, incrementally updated.
 
[[PDF#PDF.2FA|PDF/A]] is supported as well, namely PDF/A-1A, PDF/A-1B, PDF/A-2A, PDF/A-2B, PDF/A-2U (unicode).
 
[[PDF#PDF.2FA|PDF/A]] is supported as well, namely PDF/A-1A, PDF/A-1B, PDF/A-2A, PDF/A-2B, PDF/A-2U (unicode).
  
 
== Support for digital signatures ==
 
== Support for digital signatures ==
Digital signing of [[PDF]] documents is implemented with extensibility in mind. So in addition to providing the own implementation for the common standards, the product supports 3d party signing implementations that makes it suitable for using hardware certificate storages like Suisse ID, Bank ID and others issued by governments, affiliated parties or large corporations which integrate with target OS using custom Crypto API drivers or tokend implementations. OCSP responses and CRLs combined with timestamps from 3d party servers can be embedded as well.
+
The [[Digital signatures in PDF|digital signing of PDF documents]] is implemented with extensibility in mind. So in addition to providing the own implementation for the common standards, the product supports [[Digital signatures in PDF#Signing using smart cards and cryptographic tokens|third party signing implementations]] that makes it suitable for using hardware certificate storages like Suisse ID, Bank ID and others issued by governments, affiliated parties or large corporations which integrate with target OS using custom Crypto API drivers or tokend implementations. OCSP responses and CRLs combined with timestamps from third party servers can be embedded as well.
  
 
== Platforms ==
 
== Platforms ==
Line 26: Line 26:
 
== Features from functional perspective ==
 
== Features from functional perspective ==
 
* Extract, modify and add graphics (text, images, drawings)
 
* Extract, modify and add graphics (text, images, drawings)
* Split or merge PDF documents
+
* [[FixedDocument#Copy pages from one PDF document to another|Split or merge PDF documents]]
* Fill or create PDF forms, FDF support
+
* [[Interactive Features#Forms code samples|Fill or create PDF forms, FDF support]]
* Create multi-layer PDF documents with optional content groups ( OCG )
+
* [[Graphics System in PDF#Optional content|Create multi-layer PDF documents with optional content groups ( OCG )]]
* Add or remove document fields
+
* [[Interactive Features#Forms code samples|Add or remove document fields]]
* Use bidirectional or right-to-left text to create page content
+
* [[Text in PDF#Right to left and bidirectional text|Use bidirectional or right-to-left text to create page content]]
 
* Examine resources within a document - fonts, embedded files
 
* Examine resources within a document - fonts, embedded files
* Digitally sign and validate existing signatures on PDF documents
+
* [[Digital signatures in PDF#Sign PDF document with a digital certificate|Digitally sign]] PDF documents and [[Digital signatures in PDF#Validate digital signatures in PDF document|validate existing signatures]] in PDF documents
 
* Search text in PDF documents and extract intelligently formatted text
 
* Search text in PDF documents and extract intelligently formatted text
 
* [[Content protection and encryption in PDF|Protect document with passwords, digital certificates or custom implementation of security settings]]
 
* [[Content protection and encryption in PDF|Protect document with passwords, digital certificates or custom implementation of security settings]]
* Work with navigation objects, e.g. create bookmarks or links
+
* [[Interactive Features#Destinations|Work with navigation objects, e.g. create bookmarks or links]]
* Annotate PDF documents using all available annotation types
+
* [[Interactive Features#Annotations|Annotate PDF documents using all available annotation types]]
* Add all available PDF actions, e.g. Javascript, GoTo, URI, Launch, Named etc.
+
* [[Interactive Features#Actions|Add all available PDF actions, e.g. Javascript, GoTo, URI, Launch, Named etc.]]
* Use all font formats defined by specification: TrueType, OpenType,Type3, Type1, Type0
+
* Use all font formats defined by specification: [[Text in PDF#TrueType fonts|TrueType]], [[Text in PDF#TrueType fonts|OpenType]], [[Text in PDF#Type 3 fonts|Type3]], [[Text in PDF#Type 1 fonts|Type1]], [[Text in PDF#Type 0 fonts|Type0]]
* Use custom fonts and automatically create and embed font subsets
+
* Use custom fonts and [[Text in PDF#Embedded fonts|automatically create and embed font subsets]]
 
* Use the following colorspaces for drawing: Device (RGB, CMYK, GRAY); CIE-based (CalRGB, CalGRAY, Lab, ICCBased - via ICC color profile); Special (Pattern, DeviceN, Indexed, Separation)
 
* Use the following colorspaces for drawing: Device (RGB, CMYK, GRAY); CIE-based (CalRGB, CalGRAY, Lab, ICCBased - via ICC color profile); Special (Pattern, DeviceN, Indexed, Separation)
* Quickly create PDF documents from a list of images or scans
+
* [[Images in PDF#Create PDF document from a set of images|Quickly create PDF documents from a list of images or scans]]
* Implement custom html-like markup to PDF conversion
+
* [[Flow layout API#Markup parsing|Implement custom html-like markup to PDF conversion]]
* Generate PDF files using external xml templates
+
* Generate PDF files using external [[Flow layout API#XML templates|xml templates]]
* Save document to other “subtypes” of PDF – Linearized or PDF/A
+
* Save document to other “subtypes” of PDF – Linearized or [[PDF#PDF.2FA|PDF/A]]
* Use external signer implementations based on Hardware Secure Modules (HSM) or signing certificates stored on USB sticks or other removable media.
+
* [[Digital signatures in PDF#Signing using smart cards and cryptographic tokens|Use external signer implementations based on Hardware Secure Modules (HSM) or signing certificates stored on USB sticks or other removable media]]
 
* [[Portfolio PDF]]
 
* [[Portfolio PDF]]
* Unencrypted wrapper support
+
* [[Content protection and encryption in PDF#Unencrypted Wrapper | Unencrypted wrapper support]]
 
* Associated Files
 
* Associated Files
* Add attachments
+
* [[FixedDocument#How to manage attachments in PDF documents|Add and manage attachments]]
 
* Text extraction (Formatted, Tagged, HTML, Raw)
 
* Text extraction (Formatted, Tagged, HTML, Raw)
* Support custom annotations/fields appearance
+
* Add [[Interactive Features#Annotations|annotations]], and define [[Interactive Features#Appearance streams|fields appearance]]
* Auth event handler support
 
 
* Resources replacement support
 
* Resources replacement support
* [[Content protection and encryption in PDF|Password-security handler, public key security handler, custom security handlers and encryption options support]]
+
* [[Content protection and encryption in PDF#Custom Encryption | Password-security handler, public key security handler, custom security handlers and encryption options support]]
 +
* [[FixedDocument#Incrementally update PDF documents|Perform incremental updates]]
  
 
== Features mapped to specification structure ==
 
== Features mapped to specification structure ==
Line 86: Line 86:
 
<ol>
 
<ol>
 
<li>Extract, modify and add graphic objects (Paths, Text, XObjects, Inline images, Shading objects)</li>
 
<li>Extract, modify and add graphic objects (Paths, Text, XObjects, Inline images, Shading objects)</li>
<li>[[Graphics System in PDF#Coordinate space|Coordinate Systems]]
+
<li>[[Graphics System in PDF#Overview|Overview]]
 
<ol>
 
<ol>
<li>Native PDF coordinate system</li>
+
<li>[[Graphics System in PDF#Coordinate spaces|Native PDF Coordinate systems]]</li>
<li>Device and User coordinate spaces</li>
+
<li>[[Graphics System in PDF#Device and User coordinate spaces|Device and User coordinate spaces]]</li>
 
</ol>
 
</ol>
 
</li>
 
</li>
Line 101: Line 101:
 
<li>[[Graphics System in PDF#ColorSpaces|Colorspaces]]
 
<li>[[Graphics System in PDF#ColorSpaces|Colorspaces]]
 
<ol>
 
<ol>
<li>Device (RGB, CMYK, GRAY)</li>
+
<li>[[Graphics System in PDF#Device colorspaces|Device (RGB, CMYK, GRAY)]]</li>
 
<li>CIE-based (CalRGB, CalGRAY, Lab, ICCBased - via ICC color profile)</li>
 
<li>CIE-based (CalRGB, CalGRAY, Lab, ICCBased - via ICC color profile)</li>
 
<li>Special ([[Patterns in PDF#Pattern Colorspace|Pattern]], DeviceN, Indexed, Separation)</li>
 
<li>Special ([[Patterns in PDF#Pattern Colorspace|Pattern]], DeviceN, Indexed, Separation)</li>
Line 125: Line 125:
 
</ol>
 
</ol>
 
<li>[[Form XObjects]]</li>
 
<li>[[Form XObjects]]</li>
<li>Optional content ( OCG )</li>
+
<li>[[Graphics System in PDF#Optional content|Optional content (layers)]]</li>
 
</ol>
 
</ol>
 
</li>
 
</li>
Line 131: Line 131:
 
<li>[[Text in PDF|Text]]
 
<li>[[Text in PDF|Text]]
 
<ol>
 
<ol>
<li>[[Text in PDF#Text operators|Text State parameters and operators]]
+
<li>[[Text in PDF#Text state parameters and operators|Text state parameters and operators]]
 
<ol>
 
<ol>
<li>General (Text font size, Text font)</li>
+
<li>[[Text in PDF#Font resource and font size|General (text font and size)]]</li>
<li>Character spacing</li>
+
<li>[[Text in PDF#Character spacing|Character spacing]]</li>
<li>Word spacing</li>
+
<li>[[Text in PDF#Word spacing|Word spacing]]</li>
<li>Horizontal scaling</li>
+
<li>[[Text in PDF#Horizontal scaling|Horizontal scaling]]</li>
<li>Leading</li>
+
<li>[[Text in PDF#Leading|Leading]]</li>
<li>Text Rendering Mode</li>
+
<li>[[Text in PDF#Text rendering mode|Text rendering mode]]</li>
<li>Text Rise</li>
+
<li>[[Text in PDF#Text rise|Text rise]]</li>
<li>Text Knockout</li>
 
 
</ol>
 
</ol>
 
</li>
 
</li>
<li>[[Text in PDF#Text operators|Text Objects]]
+
<li>[[Text in PDF#Text objects|Text Objects]]
 
<ol>
 
<ol>
<li>Text-Positioning Operators</li>
+
<li>[[Text in PDF#Text positioning operators|Text positioning operators]]</li>
<li>Text-Showing Operators</li>
+
<li>[[Text in PDF#Text showing operators|Text showing operators]]</li>
 
</ol>
 
</ol>
 
</li>
 
</li>
<li>[[Text in PDF#Fonts in PDF|Simple Fonts]]
+
<li>[[Text in PDF#Simple fonts|Simple fonts]]
 
<ol>
 
<ol>
<li>[[Text in PDF#Standard fonts|Standard Fonts]]</li>
+
<li>[[Text in PDF#Standard fonts|Standard fonts]]</li>
<li>Type1 Fonts</li>
+
<li>[[Text in PDF#Type 1 fonts|Type 1 fonts]]</li>
<li>TrueType Fonts</li>
+
<li>[[Text in PDF#TrueType fonts|TrueType fonts]]</li>
<li>Font Subsets</li>
+
<li>[[Text in PDF#Type 3 fonts|Type 3 fonts]]</li>
<li>Type 3 Fonts</li>
 
<li>Character encodings (Type1, Type3, TrueType)</li>
 
 
</ol>
 
</ol>
 
</li>
 
</li>
<li>Composite Fonts
+
<li>[[Text in PDF#Composite fonts|Composite fonts]]
 
<ol>
 
<ol>
<li>CIDFonts</li>
+
<li>[[Text in PDF#Type 0 fonts|Type 0 fonts]]</li>
<li>CMaps</li>
 
<li>Type0 Font Dictionaries</li>
 
 
</ol>
 
</ol>
 
</li>
 
</li>
<li>[[Text in PDF#Embedded fonts|Embedded Font Programs (fonts)]]</li>
+
<li>[[Text in PDF#Embedded font programs|Embedded font programs (fonts)]]</li>
<li>Extraction of Text Content</li>
+
<li>[[FixedDocument#Enumerate document pages and extract text|Extraction of Text Content]]</li>
 
</ol>
 
</ol>
 
</li>
 
</li>
Line 178: Line 173:
 
</ol>
 
</ol>
 
</li>
 
</li>
<li>Interactive Features
+
<li>[[Interactive Features]]
 
<ol>
 
<ol>
<li>Viewer Preferences</li>
+
<li>[[Interactive Features#Viewer preferences|Viewer preferences]]</li>
<li>Document-Level Navigation
+
<li>[[Interactive Features#Document-level navigation|Document-level navigation]]
 
<ol>
 
<ol>
<li>Destinations
+
<li>[[Interactive Features#Destinations|Destinations]]
 
<ol>
 
<ol>
<li>Explicit Destinations</li>
+
<li>[[Interactive Features#Explicit destinations|Explicit destinations]]</li>
<li>Named Destinations</li>
+
<li>[[Interactive Features#Named destinations|Named destinations]]</li>
 
</ol>
 
</ol>
 
</li>
 
</li>
<li>Document Outline (bookmarks)</li>
+
<li>[[Interactive Features#Document outline (bookmarks)|Document outline]]</li>
<li>Thumbnail Images</li>
+
<li>[[Interactive Features#Collections|Collections(attachments management)]]</li>
<li>Collections</li>
 
 
</ol>
 
</ol>
 
</li>
 
</li>
<li>Page-Level Navigation
+
<li>[[Interactive Features#Page-level navigation|Page-Level navigation]]
 
<ol>
 
<ol>
<li>Page Labels</li>
+
<li>[[Interactive Features#Page labels|Page labels]]</li>
<li>Articles</li>
+
<li>[[Interactive Features#Articles|Articles]]</li>
<li>Presentations</li>
 
 
</ol>
 
</ol>
 
</li>
 
</li>
<li>Annotations
+
<li>[[Interactive Features#Annotations|Annotations]]
 
<ol>
 
<ol>
<li>Appearance Streams</li>
+
<li>[[Interactive Features#Appearance streams|Appearance streams]]</li>
<li>Annotations of type: Markup, Text ,Link, Free Text, Line, Square and Circle, Polygon and Polyline, Text Markup, Caret, Rubber Stamp, Ink, Pop-up, File Attachment, Sound, Movie, Screen, Widget, Printer's mark, Trap Network, Watermark, Redaction</li>
+
<li>[[Interactive Features#Annotation types|Annotation types (FreeText, Markup, RubberStamp etc.)]]</li>
 
</ol>
 
</ol>
 
</li>
 
</li>
<li>Actions
+
<li>[[Interactive Features#Actions|Actions]]
 
<ol>
 
<ol>
<li>Trigger Events</li>
+
<li>[[Interactive Features#Trigger events|Trigger events]]</li>
<li>Go-To, Remote Go-To, Embedded Go-To, Launch, Thread, URI, Sound, Movie, Hide, Named, Set-OCG-State, Rendition, Transition, Go-To-3D-View, JavaScript actions</li>
+
<li>[[Interactive Features#Action types|Action types (GoTo, JavaScript, URI etc..)]]</li>
 
</ol>
 
</ol>
 
</li>
 
</li>
<li>Interactive Forms
+
<li>[[Interactive Features#Interactive forms|Interactive forms]]
 
<ol>
 
<ol>
<li>Fields</li>
+
<li>[[Interactive Features#Fields|Fields]]</li>
<li>Form Actions</li>
+
<li>[[Interactive Features#Form actions|Form actions]]</li>
<li>Named Pages</li>
+
<li>[[Interactive Features#Named pages|Named pages]]</li>
<li>XFA Forms</li>
+
<li>[[Interactive Features#Non interactive forms|Non interactive forms]]</li>
 +
<li>[[Interactive Features#Forms code samples|Code samples]]</li>
 
</ol>
 
</ol>
 
</li>
 
</li>
<li>Digital Signatures</li>
+
<li>[[Digital signatures in PDF|Digital signatures]]
 +
<ol>
 +
<li>[[Digital signatures in PDF#LTV signatures|Long term validation of signatures]]</li>
 +
<li>[[Digital signatures in PDF#CAdES signatures|CAdES signatures as used in PDF]]</li>
 +
<li>[[Digital signatures in PDF#Code samples|Code samples]]</li>
 +
</ol>
 +
</li>
 +
</ol>
 +
</li>
 +
<li>[[Content protection and encryption in PDF|Encryption]]
 +
<ol>
 +
<li>[[Content protection and encryption in PDF#Standard Encryption|Standard encryption]]
 +
<li>[[Content protection and encryption in PDF#Certificate Encryption|Certificate encryption]]</li>
 +
<li>[[Content protection and encryption in PDF#Custom Encryption|Custom Encryption]]</li>
 +
<li>[[Content protection and encryption in PDF#Standard encryption|Unecrypted Wrapper]]</li>
 
</ol>
 
</ol>
 
</li>
 
</li>
<li>Document Interchange
+
<li>[[Document Interchange]]
 
<ol>
 
<ol>
<li> Marked Content</li>
+
<li>[[Document Interchange#Metadata | Metadata]]
<li>Logical Structure </li>
+
<li>[[Document Interchange#Marked content | Marked content]]</li>
<li>Tagged PDF</li>
+
<li>[[Document Interchange#Logical structure | Logical structure]]</li>
 +
<li>[[Document Interchange#Tagged PDF | Tagged PDF]]</li>
 
</ol>
 
</ol>
 
</li>
 
</li>
Line 241: Line 250:
  
 
=== FlowLayout API ===  
 
=== FlowLayout API ===  
This part is built around the [[FlowDocument]] class and provides innovative and flexible approach for generating [[PDF]] documents using styles-based, html- and css- like document model. Developers can use it when they need automatic layout rules applied to the content blocks. The developer doesn't set the explicit position of content elements on page, but rather control the layout behavior using built-in styling mechanism similar to how the CSS is used with HTML. Content for the document has to be built using predefined content elements, e.g. [[Textblock]], [[Image]], [[Grid]] etc. while the flow layout engine performs automatic pagination or splitting if necessary. See the article [[Flow layout API]] for the details.
+
This part is built around the [[FlowDocument]] class and provides innovative and flexible approach for generating [[PDF]] documents using styles-based, html- and css- like document model. Developers can use it when they need automatic layout rules applied to the content blocks. The developer doesn't set the explicit position of content elements on page, but rather control the layout behavior using built-in styling mechanism similar to how the CSS is used with HTML. Content for the document has to be built using predefined content elements, e.g. [[Flow layout API#Textblock|TextBlock]], [[Flow layout API#Image|Image]], [[Flow layout API#Grid|Grid]] etc. while the flow layout engine performs automatic pagination or splitting if necessary. See the article [[Flow layout API]] for the details.
  
 
== Scalability and development process ==
 
== Scalability and development process ==

Latest revision as of 06:58, 10 July 2018

Overview

Apitron PDF Kit is a .NET component that provides API for creating, editing, digitally signing and manipulating the content of PDF documents. It supports adding text, images, drawings, annotations and basically all available content types defined by the PDF specification. The library contains 100% managed code and is available for any .NET framework version starting from 2.0. Xamarin/MONO, Silverlight and Windows Phone versions are provided in addition to the main builds.

For version history, purchasing or downloading visit the Apitron PDF Kit product page.

Supported PDF versions and subtypes

Documents saved using PDF versions starting from 1.4 until 2.0 can be opened, edited and saved, with PDF 2.0 being the latest version of the specification . Files can be normal, tagged, password-protected, signed, incrementally updated. PDF/A is supported as well, namely PDF/A-1A, PDF/A-1B, PDF/A-2A, PDF/A-2B, PDF/A-2U (unicode).

Support for digital signatures

The digital signing of PDF documents is implemented with extensibility in mind. So in addition to providing the own implementation for the common standards, the product supports third party signing implementations that makes it suitable for using hardware certificate storages like Suisse ID, Bank ID and others issued by governments, affiliated parties or large corporations which integrate with target OS using custom Crypto API drivers or tokend implementations. OCSP responses and CRLs combined with timestamps from third party servers can be embedded as well.

Platforms

The Apitron PDF Kit library can be used to create cross-platform desktop, mobile, web and cloud solutions. Using this component you'll be able to create or build applications and services for:

  • Windows desktop systems (Windows Forms, WPF, Silverlight, console apps, windows services)
  • Windows Phone 8.1\10, Windows Store and Windows Runtime, Windows 10 UWP
  • Xamarin.Android, Xamarin.iOS, OS X (using MONO or Xamarin)
  • Azure Web or Worker Roles, Azure Web Jobs
  • Any system where .NET, .NET Core or MONO implementation exists

using command line utilities or any suitable IDE e.g. Visual Studio, Visual Studio for Mac, Visual Studio Code, MonoDevelop etc.

See cross-platform development using Apitron PDF Kit article for more information.

Features from functional perspective

Features mapped to specification structure

  1. Graphics
    1. Extract, modify and add graphic objects (Paths, Text, XObjects, Inline images, Shading objects)
    2. Overview
      1. Native PDF Coordinate systems
      2. Device and User coordinate spaces
    3. Graphics State
      1. Graphics State Stack
      2. Graphics State operators and parameters
    4. Support for path construction, path-painting and clipping operators
    5. Colorspaces
      1. Device (RGB, CMYK, GRAY)
      2. CIE-based (CalRGB, CalGRAY, Lab, ICCBased - via ICC color profile)
      3. Special (Pattern, DeviceN, Indexed, Separation)
    6. Patterns
      1. Tiling patterns (colored, uncolored)
      2. Shading patterns (type1, type2, type3)
    7. Images
      1. Standard images in common formats
      2. Masked images
        1. Stencil masked
        2. Explicitly masked
        3. Color key masked
      3. Inline
    8. Form XObjects
    9. Optional content (layers)
  2. Text
    1. Text state parameters and operators
      1. General (text font and size)
      2. Character spacing
      3. Word spacing
      4. Horizontal scaling
      5. Leading
      6. Text rendering mode
      7. Text rise
    2. Text Objects
      1. Text positioning operators
      2. Text showing operators
    3. Simple fonts
      1. Standard fonts
      2. Type 1 fonts
      3. TrueType fonts
      4. Type 3 fonts
    4. Composite fonts
      1. Type 0 fonts
    5. Embedded font programs (fonts)
    6. Extraction of Text Content
  3. Transparency
    1. Blend modes
    2. Alpha
    3. Transparency groups
    4. Soft masks
  4. Interactive Features
    1. Viewer preferences
    2. Document-level navigation
      1. Destinations
        1. Explicit destinations
        2. Named destinations
      2. Document outline
      3. Collections(attachments management)
    3. Page-Level navigation
      1. Page labels
      2. Articles
    4. Annotations
      1. Appearance streams
      2. Annotation types (FreeText, Markup, RubberStamp etc.)
    5. Actions
      1. Trigger events
      2. Action types (GoTo, JavaScript, URI etc..)
    6. Interactive forms
      1. Fields
      2. Form actions
      3. Named pages
      4. Non interactive forms
      5. Code samples
    7. Digital signatures
      1. Long term validation of signatures
      2. CAdES signatures as used in PDF
      3. Code samples
  5. Encryption
    1. Standard encryption
    2. Certificate encryption
    3. Custom Encryption
    4. Unecrypted Wrapper
  6. Document Interchange
    1. Metadata
    2. Marked content
    3. Logical structure
    4. Tagged PDF

API highlights

The library can be divided into two large parts, demonstrating different approaches to PDF creation and manipulation. Being independent from each other they share several common objects and can be used together to achieve a complex result.

FixedLayout API

This part is built around the FixedDocument class and provides “classic” approach for PDF manipulation. It has 100% mapping to spec-defined entities and can be used for every task where the developer needs precise control over the things which are to be put on PDF page and the way it should be done. The developer can get access to all drawing commands and content of the page; everything in PDF document can be manipulated using this API. See the article Fixed layout API for the details.

FlowLayout API

This part is built around the FlowDocument class and provides innovative and flexible approach for generating PDF documents using styles-based, html- and css- like document model. Developers can use it when they need automatic layout rules applied to the content blocks. The developer doesn't set the explicit position of content elements on page, but rather control the layout behavior using built-in styling mechanism similar to how the CSS is used with HTML. Content for the document has to be built using predefined content elements, e.g. TextBlock, Image, Grid etc. while the flow layout engine performs automatic pagination or splitting if necessary. See the article Flow layout API for the details.

Scalability and development process

File processing and parsing is being done using all available processor cores, so applications are scaling well when you increase the processing power. It's especially important for server-side/cloud solutions. The build system use continuous integration including automated testing environment running thousands of test every day, and ensuring the component’s solidness and reliability. It helps the dev team to quickly track and fix possible problems before the new version is released. Customers' contribution is always welcome, so if you find any problems don't hesitate to contact us with your suggestions.

Licensing

All Apitron's software components employ the same licensing scheme described in details in a separate article.