Foxit PDF Viewing
Opening, rendering and viewing PDF documents is the most important element of our PDF SDK. Due to the years of expertise we have in the industry, our technology is fast, accurate and robust. Using our PDF
What is PDF Viewing?
PDF documents are files that consist of everything needed to visualize the document. Things like fonts and graphics are stored separately inside the file alongside a technical description of how the page should look. All of these elements are combined together by the PDF software and, almost magically, transformed into a visual representation of each page.
This technical page description is vitally important as it allows any document to look exactly the same way on any device with a visual fidelity matching exactly the way the document author/designer meant it to look. This process of visualizing the PDF is known as rendering.
However, a PDF is not simply an electronic version of paper and the job of the PDF viewer isn’t only to display the page. There is a rich interactive layer that exists over the the pages, including hyperlinks, form fields, bookmarks, thumbnails and optional content groups. This UI layer allows the end user to interact with the document and it is in providing this interactivity where Foxit’s PDF viewing technologies shine.
Many document workflows are dynamic in nature. End users often need to fill forms, add annotations and make other changes to their documents. This editing process is fundamental to the PDF viewing experience.
ELEMENTS OF PDF Viewing

Built-in UI Extension for Fast Utilization

BOOKMARKS, THUMBNAILS, ETC

Embedded Fonts, Colors and Images

PDF Document Page Layers

Reflow and Mobile Viewing

High Quality and Accurate Rendering
Interactive Document Viewing in the palm of your hand
PDF documents are well suited to viewing on a multitude of devices, from desktop computers to mobile devices such as phones and tablets. Smaller screens provide certain challenges when a large amount of data needs to be presented in a limited amount of space. Foxit’s reflow technologies allow certain documents to be interpreted in a semantic way with the visual presentation adjusted to ensure optimum usage of the limited space available.
The user interface on mobile is quite different to that on desktop devices. In particular, users make use of multi-touch and gestures to navigate around a mobile document compared to using a keyboard and mouse. Foxit has dedicated a significant amount of effort to optimizing this mobile experience.
While mobile device capabilities have improved over the years there are still major limitations. One issue in particular is that many mobile devices have small amounts of memory. Many software vendors are forced to aim to the higher end of devices. In contrast, Foxit is a pioneer the field of Out Of Memory (OOM) handling.
During PDF rendering, the Foxit software continually monitors the memory used by the device and various strategies are employed to keep the memory usage as low as possible. Our customers can be confident that their PDF viewing solution will work across a wide variety of devices spanning the full range of low-end to high-end devices.
Why PDF Viewing?
Accurate Rendering of PDF Documents Every Time
Flexibility to Ensure that We Can Handle PDF Edge Cases
Long Term Preservation With PDF/A
PDF/A and Archiving
When archiving documents the fundamental issue is ensuring that the visual representation of the document stays constant over a long period of time. Technical specifications, such a PDF/A, introduce certain limitations to what is allowed in a PDF in addition to strict guidelines of the structure of the files themselves. The focus is on making the files completely self-contained without any reliance on any external data. This ensures that the same document will be rendered identically far into the future, preserving the content.
Edge Cases
Even the most modest of estimates place the number of PDF documents around the world into the trillions – and counting. There are countless vendors, each producing PDFs in slightly different ways. Unless a document has been validated according to a strict PDF specification there are countless ways for there to be subtle mistakes and ambiguities in the document. This is one more area where the superior rendering features in Foxit software comes to the fore. The software is designed from the ground up to completely fault tolerant. During PDF rendering and processing, any errors that are encountered are handled gracefully without crashing.
USE CASES

Viewing Autocad in Engineering

Advanced Workflows For Document Management

Digital Archiving Goals With Insurance
Sample Code
PDF Viewing
public void renderPage(int index) { PDFDoc doc = Common.loadPDFDoc(mContext, mPath, null); String outputFilePath = "test.jpg"; PDFPage pdfPage = Common.loadPage(mContext, doc, index, PDFPage.e_ParsePageNormal); // Create the bitmap and erase its background. Bitmap bitmap = Bitmap.createBitmap((int)pdfPage.getWidth(), (int)pdfPage.getHeight(), Bitmap.Config.ARGB_8888); bitmap.eraseColor(Color.WHITE); Matrix2D matrix = pdfPage.getDisplayMatrix(0, 0, (int)pdfPage.getWidth(), (int)pdfPage.getHeight(), Constants.e_Rotation0); Renderer renderer = new Renderer(bitmap, true); // Render the page to bitmap. Progressive progressive = renderer.startRender(pdfPage, matrix, null); int state = Progressive.e_ToBeContinued; while (state == Progressive.e_ToBeContinued) { state = progressive.resume(); } progressive.delete(); if (state == Progressive.e_Error) { // Error return; } // Save the render result to the jpeg image if (false == Common.SaveImageFile(bitmap, Bitmap.CompressFormat.JPEG, outputFilePath)) { // Failed to save return; } renderer.delete(); pdfPage.delete(); Common.releaseDoc(mContext, doc); } }