• Optimized for Enterprise and Cloud Apps
  • High Performance PDF Libraries
  • Robust and Proven PDF Technology
  • Complete – Everything in One PDF SDK
  • Multi-Platform PDF SDK

Foxit PDF SDK - Overview

Industry Leading PDF Technology Powering Many of Today's Leading Applications

Industry Best PDF Technology

The industry leading Foxit PDF SDK is targeted to application developers who's applications need to leverage powerful, standard-compliant PDF technology to securely display, edit, annotate, format, organize, and search PDF documents and to fill PDF forms. The PDF SDK provides a robust set of platform independent PDF libraries, allowing developers to "develop once, port many times" to quickly and cost effectively extend the reach of their software to multiple platforms. Optimized for enterprise class, cloud based, desktop, and mobile applications, this PDF SDK provides scalable, robust, and high performance PDF technology delivering outstanding PDF rendering and document/form modification. This allows applications to deliver content consistently to everyone - regardless of the platform.

Demos and sample code are provided to help developers get up to speed quickly.

Typical Applications

Typical uses of the Foxit PDF SDK are for enterprise class applications, cloud services, desktop applications, and mobile apps that have a requirement to interact with PDF documents and forms. Many times these applications span across multiple platforms. This is where the PDF SDK excels due to its multi-platform support, enabling developers to deliver a consistent user experience to all users regardless of the platform they are using. Typical PDF SDK applications are developed in either C or C++. Typical applications that use the Foxit PDF SDK are those that require:

  • Multi-platform support, either to run on different platforms or across multiple platforms, such as a Windows or Linux server based application with an Android and iOS app acting as a front end.
  • Fast viewing of large documents over a network and viewable by any PDF application – desktop or mobile. An example would be a web application.
  • Applications that need to integrate with Microsoft Rights Management Services (RMS) to encrypt and decrypt PDF documents.
  • Generation of secure PDFs with encryption/decryption or integrated with a customized Digital Rights Management (DRM) or Information Rights Management (IRM) security solution.
  • Creation of PDF documents from images (like scanned documents) or to convert PDF to images.
  • Barcodes to be applied to PDF forms and documents.
  • Document management and auto-edit functions, such as text editing, printing, text manipulation, extraction, flattening, adjust page dimensions, search, and search and replace.
  • New PDF document generation by combining/arranging specific pages from existing PDF files.
  • Stamps, watermarks, and other annotations to be applied to PDF files en masse.
  • Programmatic signing documents with a handwritten PSI signature.
  • PDF files to be optimized for rendering on mobile devices.
  • Programmatic modification of metadata and properties.

The Foxit PDF SDK provides these capabilities with high performance and accuracy through a programmatic interface.

The Best PDF SDK

The Foxit PDF SDK are PDF libraries that have been used in many of today's leading applications – therefore it provides proven, robust, and battle tested PDF technology that provides the quality, performance, and feature for the industry's largest applications.

  • Provides PDF in a box - everything application developers need to display PDF and have users interact with PDF documents and forms.
  • Robust implementation – not all PDF documents are well created, through broad usage of our PDF technology it has accounted for all the edge cases to provide quality PDF rendering.
  • Allows your developers to focus on your added value and not on PDF, allowing you to provide compelling differentiation to your customers.
    - Especially valuable to those application developer teams that lack PDF expertise, this would take up too much time and too many resources to learn and implement yourself.
  • Foxit owns all the technology, so you don't have to worry about IP infringement, lowering your risk.
  • Broad solution that supports multiple platforms. This limits the number of PDF venders you do business with by managing only one contract across multiple platforms.
  • Provide improves time to market and flexible delivery.

Multi-Platform SDK

The Foxit PDF SDK is available in the following platforms:

Render PDF

High performance PDF libraries to render PDF pages, page objects, annotations, and forms the way they were intended to be viewed: sharp, clear, accurate, and easy to read. Allows applications to view, zoom in, zoom out, and print PDF documents and forms. It also allows application to start, cancel, stop, and continue rendering files. Progressive processing allows developers to use idle system resources to improve the user experience. The PDF SDK is optimized to deliver superior PDF rendering speeds on devices with limited resources. The PDF engine is able to render large PDF documents in less time, which provides consumers with a better user experience.


PDF is a fixed-layout flat document format, it cannot automatically word wrap according to the width of a page. Reflow is a function that automatically rearranges page content when the page size changes. It is useful for applications that have output devices with difference sizes - for example, for both desktop and mobile devices. Reflow frees the applications from considering layout for different devices. This function provides APIs to create, render, release and access properties of reflow pages.

Asynchronous Support

Asynchronous is a method to access PDF pages without loading the whole document, so applications do not have to wait for the whole PDF file to be downloaded before accessing them. For example, readers can start reading the first page while the rest of the document is still loading. It's especially valuable for accessing PDF files over the Internet (web reading applications) and for accessing large documents. Applications can open any page when of the document when the data for that page is available.

Page Organization

Merge and combine specified page ranges from different PDF files into a single PDF. Split one PDF into separate PDFs based on page ranges. Developers can merge PDF files (partial or whole), extract any pages from a PDF to save as a new PDF, and delete specific pages from a PDF file.


Annotations are a very powerful feature within PDF. It enhances the interactivity between collaborating colleagues to share ideas and feedback. The PDF SDK provides APIs for annotation creation, properties access, and modification (appearance setting and drawing). It also provides APIs to export and import all annotations from and to PDF and FDF document. The APIs support the following annotation types: text (note), free text (typewriter), line, square, circle, polygon, polyline, highlight, underline, squiggly, strikeout, stamp, caret, and ink (pencil).


Watermark is a widely used PDF annotation that consists of a visible embedded overlay on a document, typically text, an image, or a copyright notice. The purpose of a watermark is to identify the work and discourage its unauthorized use. Foxit PDF SDK allows applications to create, insert, release, and remove watermarks.

PDF Layers

Users can selectively view and hide the contents in different layers (Optional Content Groups (OCGs)) of a multi-layered PDF document. Multi-layers are widely used in many application domains such as CAD drawings, maps, layered artwork, and multi-language documents.

Pressure Sensitive Ink (PSI)

PSI allows users to write and draw on PDF document just as they would on paper by providing precise control to capture ink subtleties. Users can more finely control the appearance of their annotations, such as custom thickness, color, opacity, and texture (for example, a brush texture).

Text Manipulation

Developers can implement text features in their application - to extract, select, search, and retrieve text in PDF documents. It also can be used on the server side to provide text to search index services. The text engine is much faster than other PDF engines.

Page Object Edit

A page object is a feature that empowers developers with the ability to easily manipulate text, path, image, and FormX objects. Developers can add and delete PDF objects in a page and set specific attributes. Using the page object edit API, users can programmatically create PDF pages from object contents. Other uses of page object are to add headers and footer, add images, and generate a template PDF on demand.

Lower Level PDF Objects

The Foxit PDF SDK provides access lower level PDF Object. It provides access to the catalog dictionary, the root to access lower level PDF objects. It also provides multiple methods to read, edit, and add onto lower level objects, such as array, dictionary, integer, string, etc. This allows developers to get and edit any information in PDF files - any functionality not available in the high-level APIs can be implemented using the lower-level APIs.

Forms and JavaScript

PDF forms are a powerful method to fill out forms and to gather data. Completed forms can then be saved and data can be saved to back end databases. The Foxit PDF SDK allow developers to:

  • View existing forms
  • Modify form fields
  • Add and remove form fields
  • Create new forms
  • Allow users to fill in forms
  • Perform form field JavaScript
  • Export and import form data by FDF(Forms Data Format) file
  • Access form data
  • Set or read form field values and properties


Many applications need to apply information rights management protections on files containing confidential information to govern who can read, print, annotate, and modify those files. Foxit PDF SDK provides a range of encryption and decryption functions to meet different levels of document security protection. It allows developers to implement password encryption and certificate-driven encryption or use their own security handler for custom security implementation. It provides support for Standard PDF security handler (40 and 128 bit RC4 encryption), support for 128 bit AES (Advanced Encryption Standard) encryption, support for custom security handlers, allows developers to set or modify security permissions associated with a document, and allows developers to remove encryption from existing PDF documents.

The SDK also provides APIs to integrate with Microsoft® Rights Management Services. These APIs allow developers to work with the Microsoft RMS SDK to both encrypt (protect) and decrypt (unprotect) PDF documents.

Document/Page Actions

Document and page actions determine specific actions to be performed when opening, closing, saving, and printing a document. For example, if a PDF form could have an action to submit the form upon closing the form. Developers can get and set the document/page level action information which is defined in the document.
Answered quickly and accurately.

Document Attachment

Document attachment allows developers to support document level attachments in their applications. Users can add, edit, remove, and view any documents to PDF files quickly and easily. It also allows applications to get information of the attachments asynchronously, such as checksum, description, file name, create and modified time, and file size.

Image Conversion

The ability to read, create, and convert various type of images, such as BMP, JPG, PNG, TIF, and JPX.


A barcode is an optical machine-readable representation of data relating to the object to which it is attached. Originally barcodes systematically represented data by varying the widths and spacing of parallel lines, and may be referred to as linear or one-dimensional (1D). Later they evolved into rectangles, dots, hexagons and other geometric patterns in two dimensions (2D). Although 2D systems use a variety of symbols, they are generally referred to as barcodes as well. Barcodes are widely used in many industries to improve data management and accessibility, strengthen access control systems, and increase productivity. This innovative technology is cost-effective and easy to implement. Plus, it allows companies of any size and in any industry to utilize barcodes for unlimited applications. It provides APIs to generate a barcode bitmap from a given string. Supported barcode types include 1D barcode (Code39, Code128, EAN8, UPCA, EAN13, and ITF) and 2D barcode (PDF417 and QR).


A wrapper provides a way for an application to save any binary data related to a PDF document. Usually the binary data will be a PDF file. For example, when opening an encrypted PDF document, users may get an error message explaining they do not have access to this document. In this case, users can still access wrapper data even they do not have permissions to the PDF content. Developers can generate wrapper PDF and also it provides methods to get the wrapper information from existing wrapped PDF files.

Content Margin

Usually every page has some areas without any visible content in the margins – top, bottom, left, and right. On embedded devices, this real estate is very precious for display and valuable to use this space more efficiently. Content margin provides a way to reduce the boarders of a page to the possible space. With this minimum border, applications can display a page as large as possible in a relatively small device screen, and this will obtain a better user experience under the same screen conditions. The Foxit PDF SDK supports two modes - analyzing bounding box of all page contents and detecting paths for background and images.

Marked Content

Marked content helps to organize the logical structure information in a PDF document and enables stylized tagged PDF. Tagged PDF has a standard structure types and attributes that allow page content to be extracted and reused for other purposes. In PDF document, a portion of content can be marked as marked content element. The Foxit PDF SDK provides APIs to add, edit, and remove marked content with a page object.



  • Render PDF to bitmap
  • Render PDF to Windows Device Context
  • Render PDF to Apple quartz context
  • Progressive processing


  • Access document bookmarks
  • Perform document JavaScript
  • Open password protected documents
  • Viewer preference
  • Get metadata/doc properties
  • Get all fonts in a document
  • Check whether a document contains form field
  • Get the document trailer dictionary
  • Get document level action info
  • Access document level attachment
  • Save document level attachment to file
  • Get page label
  • Get wrapper document
  • Check whether a PDF document is a portfolio PDF
  • Get font dictionary


  • Get page index
  • Get content margin of a page
  • Get page boundaries (media box, crop box...)
  • Get page dictionary
  • Get rotation
  • Perform page JavaScript
  • Get Page action
  • Check page transparency


  • Parse textual information
  • Text extraction
  • Search
  • Get layer's information of the searched result
  • Copy & select text
  • Extract URL formatted link
  • PDF to text


  • Check linearized
  • Index of first available page
  • Check document availability
  • Check page availability
  • Check form availability
  • Allows to render and display of pages before the entire document data is available

PDF Object

  • Access low level PDF Objects
  • Get catalog dictionary
  • Get encryption dictionary


  • Reflow text and images to fit the device screen size
  • Set the top margin

PDF Layers

  • Access all PDF layers
  • Traverse layer tree
  • Set the opposite visible state of every PDF layer


PDF Document

  • Save document
  • PDF document creation (not PDF conversion)
  • Add and edit bookmarks
  • Insert, edit, remove document level attachment
  • Set metadata and doc properties
  • Set viewer preference
  • Page organizer (PDF split & merge)
  • Wrapper files
  • Embed font to document
  • Set page label

PDF Page

  • Create new page
  • Delete a page
  • Flatten a page
  • Set/edit page action
  • Set page property such as media box, index, rotation
  • Set page index
  • Transform a page with a specified matrix

Access and Edit Page Object

  • Text
  • Check object transparency
  • Get and edit content mark
  • Extract page as Form XObject
  • Image
  • Form XObject
  • Path
  • Transform a page object with a specified matrix

PDF Layers

  • Set layer name

PDF Object

  • PDF object access and edit (array, dictionary, ...)
  • Get color space of image object

Image Conversion

Image Conversion

  • bmp conversion (BMP to PDF and PDF to BMP)
  • TIF conversion (TIF to PDF and PDF to TIF)
  • PNG conversion (PNG to PDF and PDF to PNG)
  • JPX conversion (JPX to PDF and PDF to JPX)
  • JPG conversion (JPG to PDF and PDF to JPG )
  • Image conversion between above image types (Not support to generate GIF file)
  • GIF conversion (GIF to PDF)



  • View existing forms
  • Modify form fields
  • Create and remove form fields from a page
  • Create new forms
  • Allow users to fill in forms
  • Perform form field JavaScript
  • Export and import form data by FDF(Forms Data Format) file
  • Access form data
  • Set or read form field values and properties



  • Get annotations
  • Create
  • FDF import and export
  • Get annotations by tab order
  • Import/export all annotations
  • Get an annotation's dictionary
  • Edit
  • Remove
  • Set status

Supported Annotation Types

  • Text (note)
  • Free text (typewriter)
  • Line
  • Square
  • Circle
  • Polygon
  • Polyline
  • Highlight
  • Underline
  • Squiggly
  • Strikeout
  • Stamp
  • Caret
  • Ink (pencil)
  • Popup
  • File attachment
  • Watermark


  • Create from image
  • Create from bitmap
  • Remove all watermarks from a page
  • Create from text
  • Create from page
  • Get/remove a specified watermark from a page


  • Import and export annotation data



  • Generate barcode bitmap

Microsoft RMS Integration

Microsoft RMS Integration

  • Protect (encrypt) file
  • Un-protect (decrypt) file



  • Certificate
  • Remove document permissions
  • Password
  • Set document permissions
  • Custom Encryption

Pressure Sensitive Ink


  • Generate PSI
  • Convert PSI bitmap to PDF Annotation

Request for Quotation

Thank you for your interest in Foxit PDF SDK, the only easy to use but powerful development solution to integrate high quality PDF rendering capabilities to your applications. Please fill out this online questionnaire, and we will get back to you with a quotation as soon as possible.

  • 1. The SDK quotation you received by email will be valid for 30 days. You may need to contact the Foxit sales team for an updated license quotation if you want to purchase the SDK more than 30 days after you receive the original SDK quotation.
  • 2. * are required fields

We will send quotation via email. Please double check your address.


Help Me Choose - Package Descriptions

Image Conversion
Pressure Sensitive Ink
Used internally within your company
Used externally to customers outside your company