Detailed Feature Breakdown

To see which OS versions are supported by which versions of PSPDFKit, check out this page.

PDF Viewing/Rasterization/Printing

  • Support for PDF 1.0–PDF 1.7 (PDF Revision 1.8, Acrobat 9) and ISO PDF (ISO 32000)
  • Support for all compression filters: JPEG/JPEG2000, JBIG2, CCITT Fax, and Flate/PNG
  • Rasterizing the whole page or subsets thereof
  • Printing using the Android printer framework (available from Android API 19 onward)
  • Full transparency support (transparency groups, soft masks, all supported blend modes)
  • Limited ability to work with corrupt PDF documents (e.g. broken cross references)

Document Editing

  • Splitting documents
  • Merging documents
  • Adding new pages (choose from various patterns or a blank page)
  • Removing pages
  • Moving/rearranging pages
  • Rotating pages

Content Extraction

  • Document text is parsed and can be extracted as Unicode.
  • Horizontal text can be selected, unless it’s an image or pure path vector data.

PDF Metadata

  • PDF metadata is exposed as a dictionary.
  • PDF outline/table of contents is exposed as a custom tree.
  • PDF page label data is exposed as strings.
  • PDF actions are exposed as action class clusters.
  • PDF annotations are exposed as regular objects.
  • PDF form elements are exposed as regular objects/trees.

All of these objects can be programmatically created or modified. PSPDFKit can save annotations back into the PDF (if that component is licensed) and fill out forms.


  • Support for Standard PDF security handler (40- and 128-bit RC4)
  • Support for AES-128 and AES-256 (Advanced Encryption Standard) encryption
  • Data providers for plugging in custom encryption handlers
  • Default UI for requesting passwords
  • Exposing document permission flags
  • Respecting document permissions (e.g. disable printing or text selection)

For additional security information, see our article on SDK security.