Is this you? As a journalist, you can create a free Muck Rack account to customize your profile, list your contact preferences, and upload a portfolio of your best work.
Claim your profile
Articles by Roger C. Dunham
PCI DSS Compliance When Scanning Credit Cards with Scanbot SDK
Adding credit card scanning to an application can remove friction from checkout. Instead of manually typing a long card number, expiration date, and cardholder name, users can point their camera at a card and let the application capture the information. But once your application handles credit card data, security and PCI DSS compliance become important architectural considerations.
No Single Source of the Truth When Viewing Office Files
Introduction Copied to clipboard A common problem that businesses have is the need to convert Office files, whether they are DOCX, PPTX or XLSX, files into PDFs for archiving, and to create a non-editable version of the document. If you only have a small number of documents to convert, then it is practical to open them in Office, and either “print” them to PDF or export them to PDF using tools such as Adobe Acrobat. If you have thousands of documents, then manual export is not scalable.
Bates Numbering: Why Every Page Needs an Identity
Picture this: you're three weeks into litigation discovery, staring at a stack of 50,000 pages of documents pulled from a client's email servers, shared drives, and filing cabinets. Opposing counsel references "the email on page 12,483." Which document is that? Which page, in which folder, on which server? Without a consistent way to identify individual pages across a massive, fragmented document set, that question can turn into hours of searching.
Why Use Five Libraries When One Will Do?
Introduction Copied to clipboard It’s a common problem. When you started to develop your app, you used open-source libraries. Increasingly, you now have to spend time updating and resolving conflicts between them. Wouldn’t it be great if you could use a third-party tool now that you have a budget? That way you can let their developers deal with security issues, etc.
The Table Is Set… but What Counts?
Introduction Copied to clipboard People want to know which is the best tool for extracting data from PDFs, and all software vendors will tell them it is the one that they sell. But what if you wanted to come up with a fair and objective measurement? Sounds straightforward until you actually try to do it. Surely all that is needed is a selection of PDFs that have tables, and a “ground truth” which can be used to compare what the data extraction tool generates with what should be found.
How Apryse and LibreOffice Compare for Office-to-PDF Conversion at Scale
Copied to clipboard While Microsoft Office is often considered to be the “truth”, there are times when different versions of Office disagree on how the document should look, a problem which is particularly likely with older documents. The variation in the way that different tools render the same DOCX file is a major reason for converting them to PDF – increasing the consistency of appearance across a wide range of tools and platforms.
Showing Hidden Text in WebViewer
Copied to clipboard PDFs are great. They are an information dense document format that is intended to look the same regardless of the machine where it is read. Typically, PDFs are either “born digital”, with text content directly encoded within the PDF file structure, or they are created by scanning a physical document.
Beyond GoToR — Adding Highlights
Introduction Copied to clipboard Previously, in this series of articles we have seen how we can work with, and create, GoToR actions using Apryse WebViewer, then build on that functionality to use custom data to highlight a rectangle in the target document. In this article we will use custom data in a different way and create text highlight annotations to indicate specific blocks of text—something that is not available for desktop apps.
Using CoPilot to create a tool to extract tables from PDFs
So, here’s the problem. You have thousands of PDFs that contain tabular data, and you want to extract that data so that you can use it for subsequent processing. There are lots of ways that you could do that. At one extreme, you could do it manually, but it’s a long and tedious, and therefore error-prone, task Alternatively, you could upload each PDF to ChatGPT and get it to extract the tables. AI might do a great job of that, depending on what the table structure is like.
From Data to Destination: Making GoToR Links Smarter with WebViewer
Previously, in this series of articles, we have seen how we can work with and create GoToR links using Apryse WebViewer. We have seen how we can work around the “by-design” restriction of the browser to open arbitrary files, to create a more secure and flexible solution than is available for desktop apps such as Adobe Acrobat. We’ve also seen how we can create links using the UI in a simple intuitive way using two instances of WebViewer and a custom button.
From Paper to Patient Records: Turning Handwritten Forms into Structured Data
Introduction Copied to clipboard Despite decades of digital transformation in healthcare, handwritten patient intake forms are still everywhere. Clinics, hospitals, and specialist practices rely on paper for speed, familiarity, and compliance. Manually typing handwritten forms into databases is slow, error‑prone, and costly, and it delays access to data that clinicians and administrators need to act quickly.
Showing What is Hidden
Copied to clipboard To a reader, a PDF may look like a flat, simple document: words on a page, images, maybe a table or two. Under the hood, however, many PDFs have a layer that is not visible on screen. That’s a common scenario when dealing with scanned documents. Typically, the OCR process results in the recovered text being applied as a hidden layer, aligned with the part of the image that the text relates to.
AI Powered Redaction from Within Apryse WebViewer
Introduction Copied to clipboard Every day, organizations collect, share, and store documents containing personally identifiable information (PII) from invoices and contracts to medical records, insurance claims and legal filings. Within those documents lie names, addresses, account numbers, and other sensitive details that, if exposed, can cause real harm both to the people whose details have been shared, and also to your business.
GoToR Links Made Easy–Clicking is Easier Than Typing
Introduction Copied to clipboard This is the third article in a series about working with GoToR links in Apryse WebViewer. We have already seen how you can open those links either in a new tab, or even a separate instance of WebViewer. What’s more, since we control exactly which documents are opened and from where, we have a more flexible, and more secure, solution than is offered by desktop tools such as Adobe Acrobat.
Optimizing the WebViewer Files
Introduction Copied to clipboard Apryse WebViewer (also known as the Apryse Web SDK) is an enormously powerful toolkit built on top of the Apryse SDK, and with a configurable open-source UI, it provides a way for users to work with many different document types such as PDFs, DOCX files, Spreadsheets, or even CAD files and images.
Creating Redactions with Overlay Text
Introduction Copied to clipboard Redaction matters. Whether you are working in health care, insurance, or legal services, you are almost certainly handling documents that contain sensitive personal or confidential information. Names, addresses, medical details, financial data, and witness statements can all cause real harm if disclosed unintentionally.
“GoToR Links—Twice the WebViewer, Twice as Good!”
Introduction Copied to clipboard GoToR links are a great way of being able to jump quickly from one document to a specific page in another. That’s really useful if you have a complex collection of legal documents, notes relating to an insurance claim, or medical notes relating to a patient or any other scenario where you want to quickly move between files.
From Ink to Insight: Handwriting Recognition with the Apryse SDK
Introduction Copied to clipboard Handwritten content shows up everywhere: forms, notes, annotations, and even whiteboards. While it’s rich in meaning and often quick to create, it’s traditionally difficult to search, analyze, or integrate into digital workflows. Handwriting recognition, also known as Intelligent Character Recognition (ICR), changes that.
Using WebViewer with Vite 8
Introduction Copied to clipboard I’m a great fan of Vite. I find that it is a flexible and fast way to create React and other apps, and it is my go-to when it comes to creating sample code when I’m writing blogs. It’s remarkably easy to get started. All you need is to import WebViewer then add about 20 lines of code, dropped into a React app scaffolded by Vite: Figure 1: The typical result when using Getting Started type code with Vite 7.0.3. But just recently, I ran into a problem.
Using an MCP Server to Allow AI to Work with PDFs Using the Apryse SDK
Introduction Copied to clipboard This is the third in a series of articles about how to make the functionality that is available within the Apryse SDK available to your AI application. In the previous article we saw how we can create an MCP server that allows an AI application (such as Copilot Chat within VS Code) know about and use “tools” that you have created. So far, we have only created a very simple tool that adds two numbers together as a proof of concept.
Getting Copilot to Generate Code That Extracts Text from PDFs Using the Apryse SDK
Introduction Copied to clipboard Microsoft Copilot is awesome. You can give it a prompt, then it scours the internet for documentation and code samples and generates code for you. But it doesn’t always get it right. Sometimes it can’t find the information that it needs, so it makes things up that “seem sensible” - for example, it may assume that a function exists in one SDK, because the one from a different vendor does.
How to Add a Flyout to a Panel in WebViewer |Apryse
Introduction Copied to clipboard The Apryse WebViewer is an awesome tool. Offering the ability to view and edit PDFs, DOCX files, and Spreadsheets. It is also WCAG 2.1 AA compliant making it accessible, providing an inclusive user experience that meets regulatory requirements such as the European Accessibility Act. Furthermore, the UI is both open source and extremely customizable. In this article, we will see how we can use the modular UI to add a panel to a flyout. What Do We Mean by “Flyout”?
Search and Replace in PDFs
Introduction Copied to clipboard “Search and replace” is one of those deceptively simple tools that saves hours of tedious editing. Instead of hunting through a document line by line, you can instantly find words, phrases, or patterns and swap them out in seconds. Whether it’s updating a company name across hundreds of pages, fixing a recurring typo, or standardizing terminology, search and replace ensures consistency while cutting down on manual effort.
/blog/ webviewer-custom-modal-dialogs-docx
Summary: Modal dialogs can be useful, but too many warnings can disrupt a user’s workflow. In Apryse WebViewer, DOCX files can be opened and annotated without conversion, but any annotations are lost unless the file is saved as a PDF. This article shows how to detect when a DOCX file is opened in the default viewer, warn users about potential data loss, and implement custom modal dialogs to guide them more gracefully.
WebViewer File Type Detection: Edit PDFs, DOCX & Spreadsheets in Browser
Summary: Create a smart, browser-based document app with Apryse WebViewer that automatically detects file types—PDFs, DOCX, or spreadsheets—and opens them in the right editor. With client-side file detection, a WCAG 2.2 AA compliant UI, and no downloads or external dependencies, working with files has never been easier.
How to Configure WebViewer in View-Only Mode
Summary: Apryse WebViewer can be easily configured into a secure view-only mode, ideal for compliance-heavy environments, sensitive documents, or simplified user experiences. Using the WCAG 2.2 AA–compliant Modular UI, developers can hide ribbons, disable editing tools, and tightly control what users can access, all through a single config file or programmatic setup.
Build a Desktop PDF App with Electron and WebViewer
Summary: You can build a custom desktop PDF app using Apryse WebViewer inside Electron, letting you reuse powerful web-based PDF/DOCX/Spreadsheet tools in a native desktop environment. This setup enables viewing, annotating, and manipulating PDF pages (and much more, if desired) with minimal effort. The article shows how easy it is to get started, and you can extend the app further using Apryse’s documentation and examples.
AI-Driven Document Classification for Smart Data Extraction with SDK
Summary: Apryse SDK 11.8 adds AI-powered document classification to Smart Data Extraction, automatically identifying 19 document types with minimal code. This article shows how to set up the sample and test the feature using C# on Windows. Introduction Copied to clipboard Businesses today are drowning in documents: contracts, invoices, reports, emails and expense claims to name just a few.
Extract Embedded Images from PDFs with SDK
Summary: Developers can use the Apryse SDK to extract not just inline images but also embedded or attached image files from PDFs converted from .MSG emails. This approach is ideal for automating workflows like collecting user-submitted media, archiving attachments for eDiscovery, or processing visual data for ML training using simple, cross-language SDK methods in C#, Java, Python, or Node.js.
Extract Images from MSG Emails Using SDK
Summary: Learn how to extract and store images embedded in .MSG email files using the Apryse SDK. By converting MSG files to PDF via Outlook and the Apryse print driver, developers can automate workflows like pulling customer screenshots into support tickets, archiving images for eDiscovery, or building ML datasets from email attachments—all using simple C#/.NET code.
Automate FOIA Redactions with AI Using SDK
Summary: This blog explores how to use the Apryse SDK to automate redaction in response to FOIA requests. You'll learn how to detect and remove sensitive information like PII from PDFs using AI, sample code, and UI-based redaction tools—ensuring compliance while preserving transparency. Introduction Copied to clipboard Freedom of Information Act (FOIA) requests are designed to make government records accessible, but not every piece of information inside those records can, or should, be released.
Advanced File Format Support: CAD & DICOM in WebViewer
Summary: Apryse WebViewer enables developers to support advanced file types like CAD and DICOM directly in the browser. With WebViewer Server and the Advanced Imaging module, teams in engineering and healthcare can deliver high-fidelity viewing and collaboration on complex formats—without plugins or native apps.
How to Use Base64 Images in Dynamic Document Generation
Summary: This article explains how to use Base64 encoded images in dynamic document generation with Apryse. It covers the advantages of Base64 over file paths or URLs—especially in browser environments where security and CORS issues can arise—and provides a practical example using the Apryse SDK. Introduction Copied to clipboard Apryse Document Generation allows you to dynamically create documents using a DOCX (or PPTX or even XLSX) template and JSON.
Enhancing Spreadsheet Editor with Custom UI Interactions via API |Apryse
Summary: This article explores how to use the API to programmatically work with data in the Spreadsheet Editor. Learn how to enhance user workflows and add dynamic functionality—unlocking the full power of Apryse’s AI-ready, browser-based spreadsheet editing. Apryse released the first version of their web-based Spreadsheet Editor in April 2025. While initially view-only, the second release - just three months later – added a wealth of additional functionality.
How to View and Edit Spreadsheets in the Browser with Web SDK and React
Summary: Learn how to securely view and edit spreadsheets directly in the browser using the Apryse Web SDK. This guide covers integration with a React + Vite app, offering a lightweight, secure alternative to traditional spreadsheet tools—no Office license or external services needed. Introduction Copied to clipboard Spreadsheets are more than just a tool for accountants—they're a flexible, lightweight data platform used across virtually every industry.
How to View Excel file using Bun in WebViewer
Summary: This guide shows how to use the Apryse WebViewer with Bun to build a fast, modern web app that allows users to view Excel (.xlsx) and DOCX files directly in the browser. It covers setting up Bun as both a package manager and server runtime, and includes code examples for loading documents with minimal configuration.
Getting Started with Apryse SDK for PDF Processing in Python on Linux
Introduction Copied to clipboard If you're looking to build powerful PDF and document processing features into your Python applications, then the Apryse SDK (formerly PDFTron) offers a robust and flexible solution. In this blog, we’ll explore how to get up and running with the Apryse SDK on Linux (in particular Ubuntu) using Python—from installation to basic usage, and then on to more advance usage, leveraging the Barcode module to detect Barcodes in a PDF.
Getting Started with Apryse SDK in Python-PDF Annotation & Extraction
Introduction Copied to clipboard If you're looking to build powerful PDF and document processing features into your Python applications, then the Apryse SDK (formerly PDFTron) offers a robust and flexible solution. In this blog, we’ll explore how to get up and running with the Apryse SDK using Python—from installation to basic usage, and then on to more advance usage – leveraging the DataExtraction module to find key/value pairs in a document, then using the discovered data to annotate the PDF.
WebViewer Server
Summary: Apryse offers powerful tools for working with documents across web, server, and desktop environments. This article explains the differences between WebViewer (a versatile JavaScript SDK), WebViewer Server (a performance-boosting backend), and PDFViewCtrl (a desktop-focused viewer), helping you choose the right solution for your app development needs. Introduction Copied to clipboard Apryse is a company with an impressive pedigree – with a history dating back more than 25 years.
How to Translate a PDF While Preserving Layout Using XLIFF and SDK
Summary: This guide explores different methods for translating PDF documents, from basic text extraction to full-document translation with layout preservation. It focuses on using the Apryse SDK with XLIFF files for high-fidelity multilingual document creation, ensuring that translated PDFs maintain the same visual structure as the original. A step-by-step implementation in C# is included, along with insights into integrating external translation services.
How to build Docx-Editor with Tauri
Summary: This article explores how to build a cross-platform DOCX editor using the Apryse WebViewer within a Tauri-based desktop application. Tauri, a modern alternative to Electron, offers a lightweight and secure framework powered by Rust for the backend and web technologies for the frontend.
PDF-to-DOCX Conversion with Next.js 15 and SDK
Summary: In this article, we'll explore how to use the PDF SDK with Next.js 15 to create a seamless PDF-to-DOCX conversion workflow. Using Next.js Server Actions, we can efficiently handle the file conversion process server-side, reducing the need for client-side JavaScript. You'll learn how to upload a PDF, view it using WebViewer, convert it into a DOCX file on the server, and then load it into WebViewer's DOCX editor.
How to Build a PDF Editing App with Vite and WebViewer
Summary: Learn to scaffold React apps with Vite and WebViewer, enabling easy DOCX and PDF viewing and editing in the browser, while avoiding common development pitfalls. Introduction Copied to clipboard PDFs are a formidable document format, with a generally consistent appearance, and viewable in a wide range of readers. Similarly, JavaScript and React are ubiquitous within Web Development.
Automating Wet Signature Detection in PDFs with Intelligent Document Processing
Summary: Discover how Apryse’s Intelligent Document Processing (IDP) automates wet signature detection in PDFs, enhancing accuracy and efficiency while reducing human error.
Automating PDF Scrolling for Seamless Narration in WebViewer
Summary: Discover how to create a simple app using WebViewer, React, and JavaScript to automatically scroll PDFs while narrating videos. I write a lot of blog articles for Apryse, and from time to time I also create tutorial videos. When I’m narrating a video, I usually work from a script. But there’s a problem, when I get to the end of the page, I either need to stop, or else keep recording and edit the audio later to remove the delay that occurs when I scroll to the next page.
Using Apryse SDK and C# (Part 2)
The ability to be able to authenticate that a PDF originated with a particular person and that it has not been changed since it was created is essential when dealing with contracts, invoices, and a host of other document types that PDFs can be used for. This is one of a series of articles looking at how you can use the Apryse SDK to create a digital signature to a PDF that is backed by a digital certificate. This process adds a layer of trust to the document essential within a range of industries.
How to Use WebViewer with Firebase for PDFs
PDFs have taken the world by storm -offering a highly portable document type that is easy to share. While the format started as ‘read-only’ it has long since been possible to add comments and annotations, as well as more recently to be able to edit the content of the PDF with tools such as the Apryse SDK.
How to Digitally Sign PDFs with a Hardware Key-YubiKey
PDFs are a great and effective way of transferring information, whether that is the manual for a washing machine, an invoice, a contract, or any of a vast range of other uses. In the case of a washing machine manual, you might not be concerned if someone has edited the PDF after it was created or indeed who the person was that created it. In the case of an invoice or a contract though, knowing that you can trust the information is essential.
WebViewer and Firebase for Streamlined PDF Management
Summary: Explore the evolution of PDFs and discover an app that utilizes WebViewer and Firebase for seamless PDF document management including features like e-signature integration, collaborative document editing, and more. Introduction Copied to clipboard PDFs have taken the world by storm - offering a highly portable document type that is easy to share.
Custom Digital Signature Using Azure
PDFs are everywhere, used for documentation, invoices, contracts and many, many other things. Digital Signatures can be used to provide a secure, verifiable, and tamper-proof way to ensure the authenticity and integrity of documents. Combining the two together allows you to use PDF based contracts, and other documents, with confidence. In this article we will see how we can use the Apryse SDK to add a Digital Signature to a PDF using a certificate that is based on Azure.
Show More
loading
Actions
Is this you?
As a journalist, you can create a free Muck Rack account to customize your profile, list your contact preferences, and upload a portfolio of your best work.Get in touch with Roger C.
Contact Roger C., search articles and posts on X, monitor coverage, and track replies from one place.
Learn more about Muck Rack