PSPDFKit
Products
Solutions
Aviation
Streamline Your Flight Releases
Construction
Digitize PDF Forms and Drawings
Education
Move Your App to the Head of the Class
Legal
Handle and Review Documents in Real Time
Government
Serve Public Records Securely and Intuitively
Financial
Accelerate Your Digital Transformation
Documentation
Blog
Explore the Blog
Blog Overview
Development
Products
Tutorials
Customer Stories
Solutions
Company
Explore by Topic
Resources
Webinars
Live Demo
Technical Support
Pricing
Free Trial
Contact Sales
Contact Sales
Contact Sales
T
Archive
All
Android
Company
Customers
Design
Development
Instant
iOS
macOS
Products
Web
Windows
2022
DEVELOPMENT | Android • Tips
How to Load OBJ Files with MTL in Android
Loading .obj files with .mtl using Three.js in Android.
PRODUCTS | Android • Releases
PSPDFKit 8.2 for Android Adds Cloud Annotation Tool
PSPDFKit 8.2 for Android adds a dedicated tool to create cloud annotations, support for bleed and trim boxes, downloadable unstripped NDK symbols, and more.
BLOG | Android • Kotlin • Insights
Java-to-Kotlin Conversion Best Practices
This blog post provides a few handy tips for performing Java-to-Kotlin conversion.
TUTORIALS | Android • How To • Signing
How to Programmatically Stamp and Digitally Sign a Document on Android
This post shows how to use the PSPDFKit 8 for Android Electronic Signatures and Digital Signatures components to digitally stamp and sign a document.
TUTORIALS | Flutter • Android • iOS • How To
How to Download and Display a PDF Document in Flutter with PSPDFKit
A tutorial explaining how to download and display a PDF document in Flutter using PSPDFKit.
DEVELOPMENT | Android • Kotlin • Jetpack Compose • Insights
How We Expose Jetpack Compose APIs
A few lessons we learned about API design for modern Android.
2021
DEVELOPMENT | Android • Kotlin • Tips
Autosizing Fonts for Android EditTexts
Transfer Android's TextView autosizing capability to EditTexts
PRODUCTS | Android • Releases
PSPDFKit 8 for Android Adds Electronic Signatures and Jetpack Compose
Introducing PSPDFKit 8 for Android — with Electronic Signatures, support for Jetpack Compose apps, and many other improvements.
DEVELOPMENT | Android • Kotlin • Jetpack Compose • UI/UX
Introducing Jetpack Compose Support
The Android PDF SDK you know and love now supports Jetpack Compose!
DEVELOPMENT | Android • Productivity • git
Refactoring Git Branches with Interactive Rebase and Autosquash in Android Studio
A primer on using Git's interactive rebase feature, and how to use it within Android Studio to housekeep commits.
TUTORIALS | Android • Kotlin • How To • Jetpack Compose • PDF
Opening a PDF in a Jetpack Compose Application
How to open a PDF in a Jetpack Compose application.
PRODUCTS | Android • Releases
PSPDFKit 7 for Android Adds Real-Time Communication with Instant Comments
Introducing PSPDFKit 7 for Android — with Instant Comments and many other improvements.
TUTORIALS | Android • iOS • React Native • JavaScript • How To
How to Open a PDF in React Native Using the Document Picker
A video tutorial about how to open a PDF in React Native using the document browser.
TUTORIALS | Android • Kotlin • Java • How To
Creating and Filling Out Forms Programmatically on Android
This blog post shows how to create and fill out forms programmatically on Android.
DEVELOPMENT | Android • Kotlin
Avoiding Primitive Type Saturation in Kotlin
Enough of fun getString(string: String): String – let's make greater use of Kotlin's powerful type system.
DEVELOPMENT | Android • Web • Testing • UI/UX • Insights
Why Should You Care about Manual Testing?
How to approach manual testing pragmatically for quality products you can be proud of.
TUTORIALS | Android • Kotlin • PDF • How To • Annotations
Embedding Audio in PDFs: Sound Annotations in Depth
An introduction to PDF sound annotations.
TUTORIALS | Android • Flutter • Java • How To
How to Customize Our Flutter PDF SDK
How to fork and modify the PSPDFKit Flutter PDF SDK for your own application.
TUTORIALS | Android • Kotlin • How To
Converting an Image to PDF in Kotlin
Learn how to convert an image to PDF using PSPDFKit for Android and Kotlin.
PRODUCTS | Android • Releases
PSPDFKit 6.6 for Android
Introducing PSPDFKit 6.6 for Android — including support for bold and italic fonts, annotation selection UI customization, and many optimizations.
TUTORIALS | Android • Kotlin • Security • Signing • PDF • How To
Digital Signing on Android
How digital signing and contained signatures on Android work.
TUTORIALS | Android • Kotlin • How To
Performing OCR on Android
A post showing how to use PSPDFKit for Android to perform OCR on scanned documents.
2020
DEVELOPMENT | Android • Kotlin • Insights
How Updating to Kotlin 1.4 Broke Our Linter Rules
How the update to Android Gradle plugin 4.1 and Kotlin 1.4 can break custom linter rules, and how to fix it.
TUTORIALS | Android • Kotlin • How To • Redaction
How to Create Multiple Redactions with Search on Android
Learn how you can leverage the redaction functionality of PSPDFKit for Android to effectively remove text patterns from documents.
TUTORIALS | Android • How To • Kotlin
Adding a Persistent Annotation Sidebar
Learn how to put together all the components PSPDFKit provides to build a custom Annotation UI.
PRODUCTS | Android • iOS • Web • Java • .NET • Components
Optical Character Recognition in Scanned PDFs
An overview of how OCR can enhance scanned documents to speed up common operations. We explain what OCR is, why it's useful, and how it works.
PRODUCTS | Android • Releases
PSPDFKit 6.5 for Android: Android PDF Library
Introducing PSPDFKit 6.5 for Android — including our new OCR component, simplified integration, and open source examples.
PRODUCTS | Android • Releases
PSPDFKit 6.4 for Android
Introducing PSPDFKit 6.4 for Android — including our new Reader View component and Office Files support.
DEVELOPMENT | Android • Kotlin • Tips • Productivity
Think First, Code Later
A case study on how we design features and APIs for PSPDFKit for Android.
DEVELOPMENT | Android • Kotlin • Tips • Productivity • Testing
How to Reduce Flakiness in Automated UI Testing on Android
This blog post discusses tips and best practices on how to reduce flakiness in automated UI testing on Android.
PRODUCTS | Android • Releases
PSPDFKit 6.3 for Android
Introducing PSPDFKit 6.3 for Android — with several improvements for Kotlin users.
DEVELOPMENT | Android • Kotlin • Tips • UI/UX
Change Android Themes Instantly Using the Circular Reveal Animation
This blog post investigates how to achieve nice animations when changing themes.
PRODUCTS | Android • Releases
PSPDFKit 6.2 for Android
Introducing PSPDFKit 6.2 for Android — with HTML-to-PDF conversion and several improvements to code structure and documentation.
TUTORIALS | Android • Kotlin • PDF • How To
Inserting an Image into a PDF on Android
We provide a step-by-step explanation of how to insert an image into a PDF on Android.
DEVELOPMENT | Android • Java • Testing • Gradle
Filtering Tests in Android
A look at the android.support.test.filters library and what it provides you with.
2019
PRODUCTS | Android • Releases
PSPDFKit 6.1 for Android
Introducing PSPDFKit 6.1 for Android — with improvements to accessibility, availability of PDF page overlay views, support for custom document outlines, and more.
DEVELOPMENT | Android • Insights
Our Journey from Genymotion to the Android Emulator
How we migrated our Genymotion-based CI to an AVD.
TUTORIALS | Android • Kotlin • How To
Persisting the Tabs State on Android
A blog post describing how to persist the tabs state inside PdfActivity.
DEVELOPMENT | Android • Kotlin • Tips • Accessibility • Insights
How We Improved Keyboard Navigation Accessibility in Our Android SDK
A look at the steps we took to start improving the accessibility of our Android SDK.
TUTORIALS | Android • PDF • How To
Convert a PDF to an Image on Android
This article explains how to render your PDF files to images using both Android's built-in PDF libraries and PSPDFKit.
PRODUCTS | Android • Releases
PSPDFKit 6 for Android
PSPDFKit 6 for Android improves on performance and accessibility, auto-expands free text annotations, adds annotation z-index ordering and a new all-in-one fragment, and more.
DEVELOPMENT | Android • Tips
The Android Drag-and-Drop Framework in Practice
Using the Android drag-and-drop framework — from theory to implementation.
TUTORIALS | Android • Kotlin • PDF • How To
Add a Watermark to a PDF on Android
How to add a watermark to a PDF on Android.
DEVELOPMENT | Android • Java • Gradle • Insights
Understanding the Gradle Build System
In this article, we'll explore the Gradle build system, how it works, and why it is the new standard for building Android projects.
TUTORIALS | Android • Kotlin • PDF • How To
Merge PDF Documents on Android
We'll take a look at two ways to merge PDF documents on Android.
DEVELOPMENT | Android • iOS • macOS • Windows • C++ • Insights
Challenges of Using Emojis with C++
In this article, we discuss the challenges of implementing your own custom emoji support in a cross-platform way.
DEVELOPMENT | Android • Kotlin • Java • Insights
What Is an Intent?
An overview of intents, their uses, and pitfalls to consider.
DEVELOPMENT | Android • Tips
Dealing with Large Memory Requirements on Android
This article provides tips for optimizing memory usage of your apps.
DEVELOPMENT | Android • Debugging
NDK Debugging
A set of tips for debugging native NDK code in Android apps.
DEVELOPMENT | Android • Kotlin • Tips
How Do I Fix NetworkOnMainThreadException?
A post detailing what NetworkOnMainThreadException is and how to prevent it.
DEVELOPMENT | Android • iOS • Web • PDF
The Role of PSPDFKit as a PDF Processor
How we fit into the PDF landscape.
DEVELOPMENT | Android • Java • Tips
Performance Evaluation of Linked Lists
Today we'll delve into the performance evaluation of linked lists, a controversial topic among many experienced developers, and try to understand why they trigger a warning in the Error Prone report.
PRODUCTS | Android • Releases
PSPDFKit 5.5 for Android
Introducing PSPDFKit 5.5 for Android — including a floating thumbnail bar, RTL document support, image stamp rotation, better performance, and more.
DEVELOPMENT | Android • Tips
The Soft Keyboard on Android
Tips for working with the soft keyboard on Android.
TUTORIALS | Android • Kotlin • PDF • How To
Open a PDF in an Android App
This article presents existing free or open source libraries for opening PDF files in Android apps.
DEVELOPMENT | Android • Kotlin • Tips
Retaining Objects Using a Fragment
An overview of how to use a fragment to retain objects during a configuration change.
TUTORIALS | Android • How To
A Gentle Introduction to RxJS
A short introduction to RxJS, highlighting the differences between traditional event-based JavaScript and the use of Observables.
DEVELOPMENT | Android • Java • Tips • Insights
Problems with Nullability Annotations
A look at some issues with Android's nullability annotations and how to fix them.
TUTORIALS | Android • Dart • Flutter • How To
How to Open a PDF in Flutter using flutter_full_pdf_viewer
A tutorial on how to open a PDF in Flutter.
DEVELOPMENT | Android • Tips
Understanding Android Dimensions
A post about existing Android dimensions, their purpose, and common conversion rules.
PRODUCTS | Android • Releases
PSPDFKit 5.4 for Android
Introducing PSPDFKit 5.4 for Android — featuring sound annotations, cloudy borders, a new color picker, a magnifier widget, and much more.
DEVELOPMENT | Android • Gradle
Gradle Task Configuration Avoidance in Android Builds
An overview of Gradle's task configuration avoidance APIs and how they are used by the Android build system.
DEVELOPMENT | Android • Tips
How to Use Android App Bundles
This blog post explains what Android App Bundles are and how to upload them to Google Play.
DEVELOPMENT | Android • Kotlin • Insights
Kotlin Coroutines
A look at Kotlin coroutines and how they compare to other solutions for concurrency.
DEVELOPMENT | Android • Java
Java 8 in Android Apps
This article explains how to enable Java 8 features in an Android app and gives an overview of the available Java 8 features.
TUTORIALS | iOS • Android • Flutter • How To
Getting Started with PSPDFKit for Flutter
How to get started with PSPDFKit for Flutter.
DEVELOPMENT | Android • Java • Tips
Handling Nullability in Your Code
A brief excursion into the Java type system, nullability, and remedies for the billion-dollar mistake.
PRODUCTS | Android • Releases
PSPDFKit 5.3 for Android
Introducing PSPDFKit 5.3 for Android — featuring improved ink annotation tools, custom annotation data support, performance improvements, and much more.
DEVELOPMENT | Android • Kotlin • Tips • Jetpack Compose
Using ViewModels to Retain State on Android
How to use Android's ViewModel class to retain complex objects across configuration changes.
DEVELOPMENT | Android • Tips
What Are Configuration Changes?
An overview of configuration changes on Android.
DEVELOPMENT | Android • iOS • Windows • PDF • Tips • Insights
Incremental and Full Save in PDFs
This article goes into what's involved when incrementally or fully saving a PDF, and why it matters.
DEVELOPMENT | Android • Kotlin • JavaScript • React Native
Sharing Business Logic Using React Native
Not only can React Native be used to provide the UI for your application, but it is also a convenient way to share business logic.
DEVELOPMENT | Android • Debugging
Android Debug Bridge Tricks and Tips
An introduction to Android Debug Bridge (adb) and an overview of some tricks.
DEVELOPMENT | Android • Kotlin • Tips • Instant
How to Test REST API Clients in Android Apps
This article shows how we built simple and flexible integration tests for PSPDFKit Instant that are using a custom abstraction layer on top of an OkHttp mocked web server.
PRODUCTS | Android • Releases
PSPDFKit 5.2 for Android
Introducing PSPDFKit 5.2 for Android — featuring multithreaded rendering, new signature APIs, a smaller library size, and many more improvements.
DEVELOPMENT | Android • Java • Tips
Saving the Activity State
An overview of how to make sure your activity state is saved.
DEVELOPMENT | Android • Kotlin • Tips
Using the Bottom Navigation View in Android
An introduction to implementing bottom navigation in your app with a simple example that incorporates synced page switching as well.
DEVELOPMENT | Android • Tips • Debugging
Inspecting APK Files
This article discusses the basics of Android reverse engineering using the Apktool, smali, and Java decompilers.
2018
PRODUCTS | Android • Releases
PSPDFKit 5.1 for Android
Introducing PSPDFKit 5.1 for Android — featuring a new free-form redaction tool, AndroidX support, and many more improvements.
DEVELOPMENT | Android
External Storage Permissions on Android
An exploration of how permissions work, starting from a high level and working down to the lower lever managed by FUSE, the native Android module that interacts with the file system.
DEVELOPMENT | Android • Tips
How to Increase the Logcat Buffer Size
Don't lose your logs. Increase your logcat buffer!
DEVELOPMENT | Android • Testing
Rendering Tests Using Robolectric
Rendering tests using Robolectric with a custom bitmap shadow.
PRODUCTS | Android • Releases
PSPDFKit 5 for Android
Introducing PSPDFKit 5 for Android — featuring the new Redaction and Comparison components, many improvements to existing APIs, and full support for Android 9 Pie.
DEVELOPMENT | Android • Kotlin • Insights
What Are Kotlin Contracts and How Are They Useful?
An overview of the experimental Kotlin Contracts API.
DEVELOPMENT | Android • Tips
Using Paths to Draw Shapes with Borders
How to use a flexible path API to draw complex shapes with borders.
PRODUCTS | iOS • Android • Web • Tips
Examples for Using Our Frameworks
Here at PSPDFKit, we believe doing practical work is the best way to learn things, so we decided to create a few example apps to help customers explore our framework.
PRODUCTS | Android • Releases
PSPDFKit 4.8 for Android
Introducing PSPDFKit 4.8 for Android — with document tabs, a pop-up toolbar, custom free text fonts, a new Document Editor API, and more.
TUTORIALS | React Native • Android • How To
Advanced Techniques for React Native UI Components
An outline of some of the more advanced techniques you can apply to React Native UI components on Android.
DEVELOPMENT | Android • RxJava • Kotlin • Tips
RxJava for Multi-Level Data Retrieval
RxJava can be useful for many things, and in this post, we’ll have a look at how to use it to add offline support to your app.
DEVELOPMENT | Flutter • Android • iOS • Insights
How I Got Started with Flutter
A short review of Flutter from a mobile developer’s standpoint.
DEVELOPMENT | Android • Kotlin • Tips
Moving Your Gradle Build Scripts to Kotlin
Another take on writing your project's Gradle build files in pure Kotlin code.
PRODUCTS | Android • Releases
PSPDFKit 4.7 for Android
Introducing PSPDFKit 4.7 for Android — featuring JavaScript support, a document info view, free text callouts, and more.
DEVELOPMENT | Android • Tips
Tips for Designing an Android Library
We take a look at some of the things you should keep in mind when designing an Android library.
TUTORIALS | Android • Kotlin • How To • PDF
Ways to Create a PDF on Android
We look at the different ways of creating a PDF on Android.
TUTORIALS | iOS • Android • macOS • How To
How to Embed Files Using File Annotations
We're taking a look at how to embed files using file annotations.
PRODUCTS | Android • Releases
PSPDFKit 4.6 for Android
Introducing PSPDFKit 4.6 for Android — featuring annotation & page rotation, non-destructive image documents, system clipboard images, file annotations, custom page content and more.
DEVELOPMENT | Android • Insights
Rendering PDF Previews
An overview of how to render PDF previews.
DEVELOPMENT | Android • Java • Kotlin • Tips
Async Stacktraces in Android Studio
How to create asynchronous stacktraces in Android Studio and IntelliJ.
DEVELOPMENT | Android • RxJava • Kotlin • Insights
RxJava Is Async yet Blocking
An explanation of why RxJava is both asynchronous and blocking.
DEVELOPMENT | Android • Debugging • Productivity
The Subtle Art of Real-Time Debugging With Android Studio
Debugging in real time with Android Studio.
DEVELOPMENT | Android • Tips
Hints for Beginners Navigating Around New Code
We share some tips on how to navigate a new codebase.
DEVELOPMENT | iOS • Android • C++ • Objective-C
Failable Methods with Djinni
In this article, we have look at using result types to model failable computations in the Djinni IDL.
DEVELOPMENT | Android • Kotlin • Insights
Using Kotlin to Make the PSPDFKit API Even Better
Kotlin provides the ability to extend any class with new functionality, and we can use this to expand the PSPDFKit API.
PRODUCTS | Android • Releases
PSPDFKit 4.4 for Android
Today we're releasing PSPDFKit 4.4 for Android!
PRODUCTS | Android • React Native
React Native UI Component for Android
Introducing Android support for our native UI component for showing PDFs in a React Native app with PSPDFKit.
DEVELOPMENT | Android • Performance • UI/UX
Rendering PDFs on Android
How to handle rendering large amounts of bitmaps and maintain a slick UX while doing it.
PRODUCTS | Android • iOS
Localization at PSPDFKit
An overview of how localization is handled at PSPDFKit.
DEVELOPMENT | Android • Productivity • Tips
Android Studio Shortcuts: How to Boost Your Productivity
The best shortcuts for Android Studio. The most famous and the most underrated.
PRODUCTS | Android • Releases
PSPDFKit 4.3 for Android
Today we're releasing PSPDFKit 4.3 for Android!
DEVELOPMENT | Android • Kotlin • Insights
Simple Kotlin Tips for Beginners
Useful tricks for beginners to start writing better code with Kotlin.
2017
TUTORIALS | iOS • Android • How To
Use Vector Stamps Instead of Blurry Shapes
Tips and tricks for using vector-based stamp annotations.
PRODUCTS | Android • Releases
PSPDFKit 4.1 for Android
Today we're releasing PSPDFKit 4.1 for Android!
DEVELOPMENT | Android • RxJava • Open Source
Make Android Animations Reactive with VanGogh
Android view animations powered by RxJava 2.
PRODUCTS | Android • Releases
PSPDFKit 4.0 for Android
Today we're releasing PSPDFKit 4.0 for Android!
DEVELOPMENT | Android • Kotlin • Java • Security
Secure Media Playback on Android
Picking smart defaults with security in mind when playing videos on Android.
PRODUCTS | Android • Releases
PSPDFKit 3.3 for Android
Today we're releasing PSPDFKit 3.3 for Android!
PRODUCTS | Android • Releases
PSPDFKit 3.2 for Android
Today we're releasing PSPDFKit 3.2 for Android! With a new night mode and scrolling settings, improved search and video annotation support.
DEVELOPMENT | Android • Java • UI/UX
50 Shaders of Android: Drawing on Canvas
Low-level drawing and animation on Android using Canvas and powerful Shader classes.
PRODUCTS | Android • Releases
PSPDFKit 3.1 for Android
Today we're releasing PSPDFKit 3.1 for Android!
DEVELOPMENT | iOS • Android • Tips • UI/UX
Creating Better User Experiences with Animations and Lottie
Improving an app’s User Experience made easy by adding animations powered by Lottie.
PRODUCTS | Android • Releases
PSPDFKit 3.0 for Android
Today we're releasing PSPDFKit 3.0 for Android!
DEVELOPMENT | Android • Kotlin • RxJava • Tips
Writing Concise Code with Kotlin and RxJava
Tips and tricks how to write readable, concise, and beautiful code using the Kotlin language and RxJava.
DEVELOPMENT | Android • Tips • Debugging
How to Fix a Bug, Blindfolded.
This is a story about fixing a bug, even when all the tools go kaput.
PRODUCTS | Android • Releases
PSPDFKit 2.9 for Android
Today we're releasing PSPDFKit 2.9 for Android!
DEVELOPMENT | Android • iOS • Objective-C • C++
Super Fast Builds Using distcc
How to dramatically shorten your build times with distcc.
2016
PRODUCTS | Android • Releases
PSPDFKit 2.8 for Android
Today we're releasing PSPDFKit 2.8 for Android!
DEVELOPMENT | Android • Kotlin • Java • Tips
A clean status bar with Android System UI and QuickDemo
How to enable Android's demo mode using a quick setting tile
DEVELOPMENT | Android • Java • Kotlin
Restoring State in Android MVP Architecture
State restoration is an important part of the Android framework, but we might encounter problems with it when implementing MVP architecture.
PRODUCTS | Android • Releases
PSPDFKit 2.7 for Android
Another month, another version of PSPDFKit for Android. Say hello to 2.7!
DEVELOPMENT | iOS • Android • Testing
Running Tests with Clang's AddressSanitizer
Clang has powerful sanitizers that are incredibly useful, so we collected our experiences using them between iOS, Android, and our C++ core to help you through some gotchas.
DEVELOPMENT | Android • Kotlin • RxJava • Tips
Android animations powered by RxJava
The purpose of this post is to show you how to combine RxJava features with animations on Android to create a great user interface without a lot of nested code.
PRODUCTS | Android • Releases
PSPDFKit 2.6 for Android
PSPDFKit continues its saga on Android with the 2.6 release and a host of new features and improvements! Check out this post to learn about the updated features.
PRODUCTS | Android • Releases
PSPDFKit 2.5 for Android
The PSPDFKit Android team has been working hard to bring you the newest release 2.5 of PSPDFKit for Android! Check out this post to learn about the updated features.
TUTORIALS | Android • Java • How To
How to build a screen reader
PRODUCTS | Android • Releases
PSPDFKit 2.4 for Android
DEVELOPMENT | Android • Java • UI/UX • Tips
Keyboard Handling on Android
DEVELOPMENT | Android • Kotlin
Kotlin-Ready Online Guides
Our Guides received a large update – now with Kotlin usage examples.
PRODUCTS | Android • Releases
PSPDFKit 2.2 for Android
DEVELOPMENT | Android • Insights
The curious case of Android premultiplied alpha
PRODUCTS | Android • Releases
PSPDFKit 2.1 for Android
2015
PRODUCTS | Android • Releases
PSPDFKit 2 for Android
Create and edit, Highlight, Underline, StrikeOut, Squiggle, Ink, Note, and FreeText annotations with PSPDFKit 2.0 for Android.
PRODUCTS | Android • Releases
PSPDFKit 1.4 for Android
PRODUCTS | Android • Releases
PSPDFKit 1.3 for Android
PRODUCTS | Android • Releases
PSPDFKit 1.2 for Android