Introducing PSPDFKit 5 for Android — featuring the new Redaction and Comparison components, many improvements to existing APIs, and full support for Android 9 Pie.
A recap of how we integrated drag-and-drop support into our Document Editor in iOS.
An overview of the experimental Kotlin Contracts API.
How to use a flexible path API to draw complex shapes with borders.
In this blog post, we’ll look at an example of how we can run multiple instances of a service with Docker Compose.
The benefits of using clang-tidy and how to get started setting it up in Jenkins.
If you're going to fall down a rabbit hole anyway, you might as well enjoy it!
How to add a PDF viewer to your Vue.js app by embedding PSPDFKit for Web.
How to improve Dynamic Type support in your app and bring it to the next level.
Introducing PSPDFKit 8 for iOS. Featuring new redaction and comparison components, an overhauled sharing UI, and full iOS 12 and Xcode 10 support.
In this blog post, we will look at some simple solutions that we use at PSPDFKit to make our modals more inclusive and accessible.
Explore the extensibility capabilities of LLDB, a debugger for Swift, C, C++, and Objective-C code.
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.
We cover how music can help you get in that all-important and elusive state of flow.
A complete step-by-step guide on how to install CocoaPods and integrate PSPDFKit.
We're exploring solutions to run native code in Electron and how WebAssembly can help us with this.
PSPDFKit for Web and Progressive Web Applications: an open source example and guide.
We show how a developer can use our PSPDFPageTemplate class to create custom PDF templates with iOS
With macOS Mojave, Apple is adding support to bring apps written in UIKit to macOS without the requirement of having to rewrite the UI in AppKit. This is not yet officially supported — this post will explore what we can expect in 2019 and how you can use Marzipan today.
How we handle changelogs at PSPDFKit and the tools we built to help us with this.
Is naming a variable so hard? According to Martin Fowler, it is. In this blog post, I'll try to shed some light on what naming entails and why it's a challenge.
An outline of some of the more advanced techniques you can apply to React Native UI components on Android.
We show how a developer can use Edge DevTools to debug a WebView in a UWP app.
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.
A short introduction to Immutable.js and how lazy operations improve performance and readability of your code.
How we added simple spelling and grammar checks to our website build process to catch some common mistakes.
On July 19, our CEO, Peter Steinberger, was interviewed by John Sundell on his Swift by Sundell podcast.
How to generate on-device PDF reports without using an internet connection.
Tutorial on how to set up a back-pressure queuing system in Elixir with sbroker.
Introducing PSPDFKit 7.7 for iOS — featuring a new document info screen, Document Editor enhancements, improved thumbnail filtering, image document export, and preliminary iOS 12 and Xcode 10 support.
Another take on writing your project's Gradle build files in pure Kotlin code.
A WebAssembly Benchmark for browser vendors to test a real-world production application.
We take a look at some of the things you should keep in mind when designing an Android library.
Introducing PSPDFKit 7.6 for iOS — featuring non-destructive image documents, page templates, and stamp UI improvements.
Reviewbot posts GitHub pull requests that are ready to be reviewed into Slack. How does it know when a pull request is ready? We have a special label in our repositories, named `READY TO REVIEW`.
Line annotations are one of the most frequently used annotation types, and they are ideal for things like drawing attention to important areas of your document, diagramming the process flow, and decoration.
We'll look at how a simple Swift script and PSPDFKit for macOS can be used to export image assets for your website or app from a vector PDF graphic, using an iOS app icon as an example.
An overview of how Auto Layout has changed in recent years and how to best use it.
How to create asynchronous stacktraces in Android Studio and IntelliJ.
We explain iOS 11's Smart Punctuation and discuss how it affects string handling in your app.
An explanation of what appearance streams actually are, along with their gotchas.
This blog post is a short introduction to Docker Compose and will explain how we use it to manage different system configurations that are built off the same base configuration.
In this article, we discuss our internal process for how we handle bugs that you report.
Debugging in real time with Android Studio.
We share some tips on how to navigate a new codebase.
A quick overview of how to use PDF.js, created by Mozilla, to show PDFs on your webpage.
In this article, we have look at using result types to model failable computations in the Djinni IDL.
We explain how to integrate Middleman and Webpack to boost your frontend productivity.
We look at SQLite’s FTS extension and how you can use it to add high performance search to your app.
In this blog post, we show how easy it is to deploy our standalone, WebAssembly-powered version of PSPDFKit for Web to ZEIT’s now.sh, a cloud provider.
`UICollectionView` is now at the heart of every document. This blog post talks about why and how we rewrote our view hierarchy.
Kotlin provides the ability to extend any class with new functionality, and we can use this to expand the PSPDFKit API.
Introducing Android support for our native UI component for showing PDFs in a React Native app with PSPDFKit.
How to handle rendering large amounts of bitmaps and maintain a slick UX while doing it.
Objective-C and Swift interoperability with PSPDFKitSwift
Introducing PSPDFKit 7.4 for iOS — featuring a new document features helper, text selection enhancements, and improved Swift interoperability.
Introducing a native UI component for showing PDFs in a React Native app with PSPDFKit.
Four simple yet effective solutions we currently employ in PSPDFKit for Web to reduce WebAssembly startup time.
We’re taking a look at how to run Elixir applications within a Docker container, and how that can simplify the setup of development and deployment environments.
We look at how easy it is to theme PSPDFKit for Web to fit your web app’s style.
We discuss a simple approach for doing a public survey.
The best shortcuts for Android Studio. The most famous and the most underrated.
ABI? Module stability? What does binary stability mean, and how will it affect you?
Why protecting PDF documents with a digital signature is important and how PSPDFKit signs and validates a document.
Useful tricks for beginners to start writing better code with Kotlin.
Introducing PSPDFKit 7.3 for iOS. Featuring image document support, text selection enhancements, and Digital Signature improvements.
Utilizing the new Drag and Drop feature in iOS 11, and how we integrated it to enhance the user experience.
Introducing PSPDFKit 7.1 for iOS. Featuring iPhone X compatibility, copying and pasting document pages, drawing performance improvements, and more.
Introducing PSPDFKit 7.0 for iOS. iOS 11 support. Drag and Drop. New View Hierarchy. Biometric Signatures. Checkpoints.
This week, we welcome Ben Kraus as a guest author on Inside PSPDFKit, explaining the...
Picking smart defaults with security in mind when playing videos on Android.
User breakpoints are a not very well known feature in Xcode but they are very powerful and can improve your debugging experience and show issues more prominent.
Another fascinating WWDC is behind us. This year we again witnessed a whole host of...
Low-level drawing and animation on Android using Canvas and powerful Shader classes.
Introducing PSPDFKit 6.7 for iOS. Page Grabber. File Coordination. Document Progress Indication. Privacy Access Denied UI.
Improving an app’s User Experience made easy by adding animations powered by Lottie.
Automating CSS testing and documentation with Hound and Webdriver
Introducing PSPDFKit 6.6 for iOS. Right-to-Left Documents. Annotation Drawing. Line Thickness. Various Bug-fixes.
What Right to Left Support Actually Means and How We Implemented It
Tips and tricks how to write readable, concise, and beautiful code using the Kotlin language and RxJava.
We implement a simple vector based free-hand drawing with React using SVG.
Introducing PSPDFKit 6.5 for iOS. Better Apple Pencil Support. 3D Touch. Forms. UI Enhancements. Even More Improvements.
This is a story about fixing a bug, even when all the tools go kaput.
Introducing PSPDFKit 6.4 for iOS. RTL Support. Image Editor. FTS 5. Swift Enhancements.
UITableView is a cornerstone of classical iOS development and one of the oldest classes. It's...
Introducing PSPDFKit 6.3 for iOS. PSPDF Instant Compatibility. More Languages. UI Improvements.
At PSPDFKit we're currently using 20 Mac minis to run our continuous integration. Manually setting...
Developers received a much higher level of integration in iOS 8 thanks to app extensions....
Announcing PSPDFKit 6.2 for iOS. Lock Annotations. Document Sharing. Customizations. Performance Improvements.
How to enable Android's demo mode using a quick setting tile
PSPDFKit 6.1 for iOS, featuring a whole new search interface overhaul, analytics integration and much more.
State restoration is an important part of the Android framework, but we might encounter problems with it when implementing MVP architecture.
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.
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.
React Native enables you to build native mobile apps using a consistent developer experience based...
When debugging an issue that is somewhere deep inside your code, you easily end up debugging a class that has lots of living instances. Sometimes, you are only interested in a very particular one. This can become very tedious work.
PSPDFKit 6 for iOS is fully optimized for Xcode 8 and iOS 10, comes with improved API for Swift 3, faster rendering, various fixes, and a visual refresh.
At PSPDFKit, we work every day to read through developers' bug reports. In fact, we forward many of them to the engineers at Apple. While this post is Apple-centric, many details can be applied to any sort of bug reporting.
At PSPDFKit, we likely spend just as much time polishing the UI as we do implementing PDF features or tweaking the performance. Here's a look at how one of our developers explored improving our status messages.
When books became digital, bookmarks became more complicated. Instead of stuffing a piece of paper in a book, you now had to store a digital marker, which is not always as simple as it looks.
Testing is very important at PSPDFKit. We're building an SDK. When you give your API...
It's easy to overlook some of our most basic developer actions, because we do them...
Pages on iOS 9 shows an activity view controller in a way we can’t reproduce, and...
With our PSPDFKit 2.4 for Android release we improved accessibility of our framework and also...
Few apps have the luxury to support only the most recent version of iOS. It's...
UIImage is one of the most important classes in UIKit. When compared to browsers, image...
Silently corrupting user data is commonly regarded as The Worst Thing You Can Do™ (TWTYCD)....
Here at PSPDFKit, we love testing. With the growing diversity of products on our roadmap,...
Objective-C originates from the early 1980s, and while the language has evolved a lot over...
PSPDFKit used to be an iOS-only framework and testing pull requests was easy. The Jenkins...
We at PSPDFKit are big believers in automated testing. Unit tests, UI automation tests, snapshot...
Working with a soft keyboard on Android can be confusing. While implementing free-text annotation editing...
You might think the UI for a PDF viewer/editor would be trivial, however it’s anything...
At PSPDFKit, we use Jazzy to generate our great-looking iOS API docs. Jazzy is an...
At PSPDFKit we offer native SDKs for iOS, Android and soon also for the browser....
Last week as we prepared to ship our new Document Editor, we discovered a blocker:...
tl;dr: Swift extensions on Objective-C classes still need to be prefixed. You can use @objc(prefix_name)...
iOS 8 introduced the UIPresentationController class to manage and customize view controller presentations in a...