Technical FAQs

Question

What is the absolute bare minimum I need to use PrizmDoc Cloud?

Answer

This will allow you to load a document via a URL using PrizmDoc Cloud. Just include your PrizmDoc Cloud API key in the POST request headers.

Please note: This is purely intended as a proof-of-concept. You should never include your API key in your client-side Javascript.

<!DOCTYPE html>

<html lang="en">
<head>
    <!-- Metadata -->
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <meta name="description" content="" />

    <!-- Title -->
    <title>AccuSample</title>

    <!-- Libraries -->
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/8.0.0/normalize.min.css">

    <!-- PrizmDoc CSS -->
    <link rel="stylesheet" href="https://raw.githack.com/Accusoft/hello-prizmdoc-viewer-with-nodejs-and-html/master/public/viewer-assets/css/viewercontrol.css">
    <link rel="stylesheet" href="https://raw.githack.com/Accusoft/hello-prizmdoc-viewer-with-nodejs-and-html/master/public/viewer-assets/css/viewer.css">

    <!-- Inline Stylesheet -->
    <style></style>

</head>
<body>

    <!-- #viewer -->
    <div id="viewer" class="pccv pcc-full-screen"></div>

    <!-- Libraries -->
    <script src="https://raw.githack.com/Accusoft/hello-prizmdoc-viewer-with-nodejs-and-html/master/public/viewer-assets/js/jquery-3.4.1.min.js"></script>
    <script src="https://raw.githack.com/Accusoft/hello-prizmdoc-viewer-with-nodejs-and-html/master/public/viewer-assets/js/jquery.hotkeys.min.js"></script>
    <script src="https://raw.githack.com/Accusoft/hello-prizmdoc-viewer-with-nodejs-and-html/master/public/viewer-assets/js/underscore.min.js"></script>

    <!-- PrizmDoc JS -->
    <script src="https://raw.githack.com/Accusoft/hello-prizmdoc-viewer-with-nodejs-and-html/master/public/viewer-assets/js/viewercontrol.js"></script>
    <script src="https://raw.githack.com/Accusoft/hello-prizmdoc-viewer-with-nodejs-and-html/master/public/viewer-assets/js/viewer.js"></script>
    <script src="https://raw.githack.com/Accusoft/hello-prizmdoc-viewer-with-nodejs-and-html/master/public/viewer-assets/js/viewerCustomizations.js"></script>

    <!-- Inline Script -->
    <script>

        let viewingSessionId;
        let viewerControl;

        $(document).ready(function() {
            $.ajax({
                "type": "POST",
                "url": "https://api.accusoft.com/prizmdoc/ViewingSession",
                "headers": {
                    "acs-api-key": "4lTamQVZmrkqZhH8cZhdu7L0xyhUa3gorcaCFQpA_zmuowZs4zoF39V4IckpnVW_"
                },
                "data": JSON.stringify({
                    "source": {
                        "type": "url",
                        "url": "https://www.usability.gov/sites/default/files/creating-wireframes.pdf"
                    }
                })
            }).done(function(response) {
                PCCViewer.Ajax.setHeaders({
                    "acs-api-key": "4lTamQVZmrkqZhH8cZhdu7L0xyhUa3gorcaCFQpA_zmuowZs4zoF39V4IckpnVW_"
                });

                viewingSessionId = response["viewingSessionId"];

                // Initialize viewer
                viewerControl = $("#viewer").pccViewer({ 
                    "documentID": viewingSessionId,
                    "imageHandlerUrl": "https://api.accusoft.com/prizmdoc",
                    "language": viewerCustomizations.languages["en-US"],
                    "template": viewerCustomizations.template,
                    "icons": viewerCustomizations.icons,
                    "annotationsMode": "LayeredAnnotations"
                }).viewerControl;

                viewerControl.on("ViewerReady", function() {
                    console.log("Ready!");
                });
            });
        });

    </script>

</body>
</html>
Question

Do you have sample code available?

Answer
  • Yes, we have two samples available to get you started quickly:
  1. An HTML page that uses the viewer via a <script> tag and CDN URL to display a PDF
  2. A React app which uses the viewer to display a PDF.

top coding trends

The software development industry is changing more rapidly than ever before. With new technology hitting the market on a regular basis, software vendors need to become flexible enough to adapt to the top coding trends if they want to remain competitive.

After a tumultuous 2020, the industry has seen a number of key trends emerge in the first half of 2021. Here are some of the top coding trends worth watching in the second half of the year.

Top 5 Coding Trends of 2021 (So Far)

1. Open-Source Evolution

Developers have been turning to open-source solutions for some time now as a quick way to integrate new features into their applications. While there are a lot of great benefits to using open-source code, it’s not always the simple solution that it appears to be. Substantial work may need to be done to implement the specific features an application requires. More importantly, open-source solutions rarely offer much in the way of support or security updates, and there can also be complicated intellectual property issues to consider when incorporating open source code into a proprietary application.

That’s why many innovative developers are using stable open-source solutions as a foundation for creating more feature-rich software SDKs. For teams building new applications, it’s often much easier to implement one of these integrations because it will require far less configurations and additional coding to get up and running. They can also get the benefits of dedicated support and not have to worry about whether their new integration will create any legal issues down the road.

2. UX Design

With the proliferation of Software as a Service (SaaS) platforms and the widespread use of open source development resources, it’s becoming easier for organizations to find the applications that suit their business needs. What they can’t always find, however, is a solution that’s easy for their employees and customers to use. That’s why the quality of an application’s user experience (UX) is quickly becoming a key differentiator in the software market.

Rather than implementing UX features at a later stage of the coding process, developers need to consider how users will interact with their solution from the very beginning. Software needs to be intuitive and easy to implement out-of-the-box. This applies equally to end-user products and developer-focused SDK integrations. No one has time to struggle with software that’s difficult to use. If a solution proves too cumbersome and hard to implement, customers will likely turn to a competing product that offers a better user experience. The more time developers spend considering their software’s UX, the better they’ll be able to adapt it to customer needs in the future.

3. Responsive Mobile Support

For many years, there was a somewhat artificial distinction between mobile software development and desktop development. But in a world where half of all internet activity comes from mobile devices, no developer working on web-based applications can afford to consider their software “just” for desktops. Just as website designers have been building pages that respond dynamically to different screen sizes and control interfaces, developers must also account for the unique characteristics of mobile devices.

The unique characteristics of mobile screens present specific challenges regarding the application’s user interface (UI). Simply providing standard desktop controls is bound to result in a frustrating mobile experience. Mobile responsive applications can accommodate touch-specific controls (such as pinch-to-zoom) without compromising the desktop experience at the same time. Developers must think about what kinds of devices their software solutions will be used on if they’re to build features and tools that will truly benefit their customers.

4. API Integrations

Today’s developers no longer need to build every feature their application might require from scratch. Thanks to a new generation of web API technology, it’s easier than ever to find software integrations that can quickly and easily add vital features without having to dedicate weeks of development time to building them. Understanding which web application features can be incorporated via a REST API helps development teams to focus their limited resources and time on the truly unique features that will help set them apart from the competition.

Utilizing web API technologies can streamline sprints and shorten development time significantly. That’s because much of the “trial and error” work of building a new feature is eliminated. Rather than designing and testing new capabilities for months, developers can simply implement a tested and proven web API integration within a matter of days. That helps to keep budgets under control and development schedules on track to make targeted launch days.

5. Remote Work

When the COVID-19 pandemic struck the world in early 2020, many software developers transitioned to a remote workplace arrangement. As other industries begin to tentatively return to the office, tech workers seem to have become quite accustomed to working remotely. According to a late 2020 survey conducted by Indeed, nearly half of participants reported that they now have the option to work remotely on a permanent basis, with 95 percent of them planning to do so. Perhaps even more telling, however, was the finding that 60 percent of tech workers are willing to take a pay cut in order to keep working from home.

Software vendors will have to accommodate these expectations if they hope to remain competitive when it comes to finding and retaining talent. Project managers should not expect work patterns to go back to the way they were before the pandemic. They will be better served focusing on how to organize remote work efficiently and how to provide the resources developers need to be productive while working from home. Transitioning to a more remote workforce is also allowing organizations to tap into a much broader pool of talent, which will help to bring more diverse voices and experiences into the development process.

Keeping an Eye on Future Trends

The software development teams at Accusoft are always looking ahead to see where today’s coding trends are leading the industry. That’s why we’ve been building easy-to-implement, lightweight SDKs like the free-to-use Accusoft PDF Viewer alongside our stable of versatile API solutions like PrizmDoc Viewer. We also continue to make ongoing improvements to our products to provide a better user experience for customers.

Our collection of software integrations can help development teams keep up with today’s top coding trends. Whether you’re looking to quickly integrate new features into an existing application or are looking for the right tools to support your next project, we have the API and SDK resources to keep you on-budget and on-time. Check out the Accusoft Resource Center to learn more.

 

The industry-wide push to digitize documents and minimize the use of physical paperwork has made PDF one of the most ubiquitous file formats in use today. Business and government organizations use PDFs for a variety of document needs because they can be viewed by so many different applications. When it comes to archiving information, however, PDFs have a few limitations that make them unsuitable for long-term storage. That’s why many organizations require such files to be converted into the more specialized PDF/A format.  Learn how easy it is to convert PDF to PDF/A with ImageGear.

What Is PDF/A?

Originally developed for archival purposes, the PDF/A format is utilized for long-term preservation that ensures future readability. It has become the standard format for the archiving of digital documents and files under the ISO 19005-1:2005 specification. Government organizations are increasingly utilizing PDF/A to digitize existing archival material as well as new documents.

The distinctive feature of PDF/A format is its universality. Although PDFs are well entrenched as the de facto standard for digital documents, there are many different ways of assembling a PDF. This results in different viewing experiences and sometimes makes it impossible for certain PDF readers to even open or render a file. Because PDF/A documents need to be accessible in the indeterminate future, there are strict requirements in place to ensure that they will always be readable.

PDF vs PDF/A

While PDF and PDF/A are based upon the same underlying framework, the key difference has to do with the information used to render the document. A standard PDF has many different elements that make up its intended visual appearance. This includes text, images, and other embedded elements. Depending upon the application and method used to create the file, the information needed to render those elements may be more or less accessible for a viewing application.

When a PDF viewer cannot access the necessary data to render elements correctly, the document may not display correctly. Common problems include switched fonts (because the original font information isn’t available), missing images, and misplaced layers.

A PDF/A file is designed to avoid this problem by including everything necessary to display the document accurately. Fonts and images are embedded into the file so that they will be available to any viewer on any device. In effect, a PDF/A doesn’t rely on any external dependencies and leaves nothing to chance when it comes to rendering. The document will look exactly the same no matter what computer or viewing application is used to open it. This level of accuracy and authenticity are important when it comes to archival storage, which is why more organizations are turning to PDF/A when it comes to long-term file preservation.

How to Convert PDF to PDF/A

ImageGear supports a broad range of PDF functionality, which includes converting PDF format to a compliant PDF/A format. It can also evaluate the contents of a PDF file to verify whether or not it was created in compliance with the established standards for PDF/A format. This is an important feature because it will impact what method is used to ultimately convert a PDF file into a PDF/A file.

Verifying PDF/A Compliance

By analyzing the PDF preflight profile, ImageGear can detect elements of the file to produce a verifier report. The report is generated using the ImGearPDFPreflight.VerifyCompliance method. 

It’s important to remember that this feature does NOT change the PDF document itself. The report also will not verify annotations that have not been applied to the final document itself. Once the report is generated, a status code will be provided for each incompliant element flagged during the analysis. 

These codes can have two values:

  • Fixable: Indicates an incompliance that can be fixed automatically during the PDF/A conversion process.
  • Unfixable: Indicates a more substantial incompliance that will need to be addressed manually before the document is converted into PDF/A.

Converting PDF to PDF/A

After running the verification, it’s time to actually convert the PDF to PDF/A. The ImGearPDFPreflight.Convert method will automatically perform the conversion provided there are no unfixable incompliances. This process will change the PDF document into a PDF/A file and automatically address any incompliances flagged as “Fixable” during the verification process.

While it is not necessary to verify a PDF before attempting conversion, doing so is highly recommended. Otherwise, the document will fail to convert and return an INCOMPLIANT_DOCUMENT code. The output report’s Records property will provide a detailed report of incompliant elements. Since any “Fixable” incompliances would have been addressed during conversion, the document’s remaining issues will need to be handled manually.

This method is best used when manual changes need to be made to the PDF file prior to conversion. One of the most common changes, for example, is making the PDF searchable. Once the alterations are complete, the new file can be saved using the ImGearPDFDocument.Save method.

Other ImageGear PDF to PDF/A Conversion Methods

Raster to PDF/A

ImageGear can save any PDF file produced directly by a raster file as a PDF/A during the initial conversion. A series of automatic fixes are performed during this process to ensure compliance.

  • Uncalibrated color spaces are replaced with either a RGB or CMYK color profile. This could change the file size.
  • Any LZW and JPEG2000 streams are recompressed since PDF/A standards prohibit LZW and JPEG 2000 compression.
  • All document header and metadata values are automatically filled in to comply with PDF/A requirements.

Quick PDF to PDF/A Conversion

For quick conversions in workflows that don’t require displaying or working with a file in any way, the ImGearFileFormats.SaveDocument method is another useful option. This process loads the original file, converts it, and saves the new version all at once. It’s important to set the PreflightOptions property to be set in the save options. Otherwise, the new document will not save as a PDF/A compliant file.

Take Control of PDF/A Conversion with ImageGear

Accusoft’s versatile ImageGear SDK provides enterprise-grade document and image processing functions for .NET applications. With support for multiple file formats, ImageGear allows developers to easily convert, compress, and optimize documents for easier viewing and storage.

ImageGear takes your application’s PDF capabilities to a whole new level, delivering annotation, compliant PDF to PDF/A conversion, and other manipulation tools to meet your workflow needs. Learn more about how ImageGear can save you time and resources on development by accessing our detailed developer resources.

Question

What is the absolute bare minimum I need to use PrizmDoc Cloud?

Answer

This will allow you to load a document via a URL using PrizmDoc Cloud. Just include your PrizmDoc Cloud API key in the POST request headers.

Please note: This is purely intended as a proof-of-concept. You should never include your API key in your client-side Javascript.

<!DOCTYPE html>

<html lang="en">
<head>
    <!-- Metadata -->
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <meta name="description" content="" />

    <!-- Title -->
    <title>AccuSample</title>

    <!-- Libraries -->
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/8.0.0/normalize.min.css">

    <!-- PrizmDoc CSS -->
    <link rel="stylesheet" href="https://raw.githack.com/Accusoft/hello-prizmdoc-viewer-with-nodejs-and-html/master/public/viewer-assets/css/viewercontrol.css">
    <link rel="stylesheet" href="https://raw.githack.com/Accusoft/hello-prizmdoc-viewer-with-nodejs-and-html/master/public/viewer-assets/css/viewer.css">

    <!-- Inline Stylesheet -->
    <style></style>

</head>
<body>

    <!-- #viewer -->
    <div id="viewer" class="pccv pcc-full-screen"></div>

    <!-- Libraries -->
    <script src="https://raw.githack.com/Accusoft/hello-prizmdoc-viewer-with-nodejs-and-html/master/public/viewer-assets/js/jquery-3.4.1.min.js"></script>
    <script src="https://raw.githack.com/Accusoft/hello-prizmdoc-viewer-with-nodejs-and-html/master/public/viewer-assets/js/jquery.hotkeys.min.js"></script>
    <script src="https://raw.githack.com/Accusoft/hello-prizmdoc-viewer-with-nodejs-and-html/master/public/viewer-assets/js/underscore.min.js"></script>

    <!-- PrizmDoc JS -->
    <script src="https://raw.githack.com/Accusoft/hello-prizmdoc-viewer-with-nodejs-and-html/master/public/viewer-assets/js/viewercontrol.js"></script>
    <script src="https://raw.githack.com/Accusoft/hello-prizmdoc-viewer-with-nodejs-and-html/master/public/viewer-assets/js/viewer.js"></script>
    <script src="https://raw.githack.com/Accusoft/hello-prizmdoc-viewer-with-nodejs-and-html/master/public/viewer-assets/js/viewerCustomizations.js"></script>

    <!-- Inline Script -->
    <script>

        let viewingSessionId;
        let viewerControl;

        $(document).ready(function() {
            $.ajax({
                "type": "POST",
                "url": "https://api.accusoft.com/prizmdoc/ViewingSession",
                "headers": {
                    "acs-api-key": "4lTamQVZmrkqZhH8cZhdu7L0xyhUa3gorcaCFQpA_zmuowZs4zoF39V4IckpnVW_"
                },
                "data": JSON.stringify({
                    "source": {
                        "type": "url",
                        "url": "https://www.usability.gov/sites/default/files/creating-wireframes.pdf"
                    }
                })
            }).done(function(response) {
                PCCViewer.Ajax.setHeaders({
                    "acs-api-key": "4lTamQVZmrkqZhH8cZhdu7L0xyhUa3gorcaCFQpA_zmuowZs4zoF39V4IckpnVW_"
                });

                viewingSessionId = response["viewingSessionId"];

                // Initialize viewer
                viewerControl = $("#viewer").pccViewer({ 
                    "documentID": viewingSessionId,
                    "imageHandlerUrl": "https://api.accusoft.com/prizmdoc",
                    "language": viewerCustomizations.languages["en-US"],
                    "template": viewerCustomizations.template,
                    "icons": viewerCustomizations.icons,
                    "annotationsMode": "LayeredAnnotations"
                }).viewerControl;

                viewerControl.on("ViewerReady", function() {
                    console.log("Ready!");
                });
            });
        });

    </script>

</body>
</html>
Question

If I upload an HTML document to PrizmDoc that has image tags in it, will those images be rendered in the Viewer or will only the text be displayed?

What if the image tags are referencing local images?

Answer

When loading an HTML file, PrizmDoc will render image tags that are sourced from publicly accessible URLs. The relative links may not render though, as it’s likely that the source will not be found.

In PrizmDoc 13.2, a server-side configuration option called:

security.htmlRendering.blockExternalContent

was introduced to control whether or not externally-referenced HTML content will be blocked.

See the release notes for more information.

Electronic spreadsheets have been a mainstay of business operations since their introduction four decades ago, but the way organizations use them has changed significantly during that time. Today, the financial industry needs FinTech accounting software that facilitates online spreadsheet collaboration without creating unnecessary risk or disrupting workflows. 

Spreadsheets in the Tax and Accounting Industry

Although many tax and accounting firms use dedicated software solutions to manage complex financial workflows, they still rely on conventional spreadsheets for a variety of tasks. In fact, a recent study by Deloitte found that 62% of companies are still relying heavily upon spreadsheets for business insights. The data used to inform risk analysis, growth projections, and financial modeling is often collected and sorted in individual spreadsheet files by individual employees. In many instances, that data will eventually be transferred into a more sophisticated accounting platform, either through manual entry or an API integration.

Spreadsheets also play a critical role when it comes to presenting complex financial data. Whether it’s for an internal presentation to key stakeholders within the organization or a customer-facing report designed to relay important information about their business, tax and accounting firms routinely need to create, edit, view, and share spreadsheets. 

Although Google Sheets has gained quite a bit of traction over the last few years, Microsoft Excel remains the preferred spreadsheet solution for most financial industry professionals. Practically every CRM and CMS platform allows users to easily export data into Excel’s XLSX file format for convenient viewing, making it the de facto standard for most companies. Online spreadsheet collaboration is also easier than ever before thanks to public cloud tools like Office 365.

5 Major Spreadsheet Collaboration Challenges

Unfortunately, all of that ubiquity and convenience comes with a few drawbacks. There are also some inherent shortcomings with Excel spreadsheets that pose significant challenges to tax and accounting firms in particular.

1. Version Control

One of the great benefits of spreadsheets is their ability to track data over time, with new information constantly being fed into the spreadsheet formula to generate different results. Unfortunately, that typically means that the document could potentially be outdated the moment it’s copied, shared, or downloaded because a more current version might exist elsewhere. While cloud-based software like Google Sheets or Office 365 theoretically ensure that everyone is viewing and referencing the same document, if there are too many people making changes, errors can easily escape notice and break entire spreadsheet formulas (or possibly corrupt the file). Even then, people may clone their own version to work on independently, which creates the same version control challenge posed by Excel-dependent files. 

2. Security

Familiarity has a way of breeding complacency. That’s certainly true when it comes to sharing XLSX files. People are accustomed to sending and receiving spreadsheets over email and other messaging platforms. What they may not realize, however, is that 38% of malicious email attachments disguise themselves as Microsoft Office file types. The last thing a tax or accounting firm wants is for an employee to accidentally infect their network with harmful malware by opening what they thought was a spreadsheet. At the same time, even conventional spreadsheet collaboration can pose a serious security risk. Excel files offer limited security controls, and downloaded or shared files could be easily hacked to compromise important financial data. With more people working remotely in response to the COVID-19 pandemic, FinTech accounting software needs to account for the common security risks posed by home offices while still meeting consumer demands for high-speed, low-friction digital solutions in 2020 and beyond.

3. Asset Protection

Spreadsheets often contain more than just important financial data. The spreadsheet formulas buried within the many rows and columns of cells may represent important intellectual property for a tax or accounting firm. Any time a company shares a spreadsheet, it runs the risk of those formulas being stolen and distributed. Even if these proprietary assets remain safely tucked away within the spreadsheet, there’s still the matter of anyone with a copy of the file being able to use it however they want, potentially cutting into the firm’s business.

4. Workflow Efficiency

Managing a large number of independent XLSX files can quickly become burdensome for any organization. Take, for example, a situation where a tax firm’s customers must download a spreadsheet to enter their tax information and then send that file back to the firm so the data can be entered into its FinTech accounting software. Not only does this create numerous opportunities for manual errors, but it also introduces several unnecessary (and potentially risky) steps into the process. What if a file is not attached to an email? Or if someone downloads the spreadsheet, but then misplaces it? How does the tax firm verify that the version sent back to them is the most up-to-date version? This approach to spreadsheet collaboration ends up wasting time and is highly prone to mistakes.

5. Software Dependencies

While Excel may be the most widely used spreadsheet software in the world, that doesn’t mean every organization has access to it. Smaller companies and startups are much more likely to rely upon cloud-based tools like Google Sheets due to their low cost and ease of online spreadsheet collaboration. Although Google’s Chrome browser offers extensions capable of reading, viewing, and editing XLSX files, the conversion process is often imperfect due to differences in feature sets. Transferring data back and forth between Excel and other spreadsheet programs can create formatting problems and potentially break internal formulas. 

The PrizmDoc Cells Solution

One of the best ways for FinTech accounting software developers to address these issues is to simply integrate spreadsheet viewing and editing functionality into their applications. PrizmDoc Cells is a web-based spreadsheet editor that natively supports XLSX files by storing them on a secure server and allowing users to interact with them online through an Excel-like interface. 

Secure Spreadsheet Functionality

PrizmDoc Cells provides essential spreadsheet features within a familiar UI. After opening an XLSX file, users can review and edit cell content within a secure web-based environment. Firms can also restrict features to protect spreadsheets from errors and unauthorized alterations. 

No Microsoft Dependencies

Deployed entirely within a Docker container, PrizmDoc Cells can import, view, edit, and export XLSX files entirely within a firm’s FinTech accounting software or web-based application. No one needs access to a copy of Microsoft Excel to access files.

Manage End-User Access

In addition to hosting their source files securely within a proprietary server or private cloud environment, organizations can control what end-users can access within the spreadsheet. Proprietary data and spreadsheet formulas can be safely hidden from view to protect valuable IP.

Maintain Version Control

As an entirely web-based viewer, PrizmDoc Cells eliminates the need to email, copy, or download spreadsheets, ensuring that the file being viewed is always the most up-to-date version. Editing access can also be adjusted to ensure that only authorized users are able to make changes.

White Label Customization

Developers can easily remove all branding to seamlessly integrate PrizmDoc Cells with their applications and FinTech accounting software.

Say Goodbye to the Old Way of Spreadsheet Collaboration

Today’s tax and accounting firms need to work more efficiently than ever before to keep up with the demands of their clients. They can’t afford to keep relying upon outdated approaches to spreadsheet collaboration. The pressure is on for FinTech developers to build applications capable of accommodating their security, workflow, and version control requirements when it comes to spreadsheets. 

With PrizmDoc Cells, developers can build FinTech accounting software solutions that allow for true online spreadsheet collaboration without compromising the security or control organizations expect from their applications. Experience the functionality of PrizmDoc Cells firsthand by trying a demo today. To get a closer look at how PrizmDoc Cells will operate in your own development environment, sign up for a free trial.

native excel support

Despite the explosive growth of big data and sophisticated analytics platforms, a 2019 study by Deloitte found that 67 percent of business leaders are not quite comfortable using them to inform decision making. For many organizations, spreadsheets remain the preferred tool for managing data and evaluating trends. Developers looking to build the next generation of business applications can accommodate those tendencies by integrating native spreadsheet support for Microsoft Excel workbooks.

Excel Worksheets vs Excel Workbooks

Although sometimes referred to interchangeably or described broadly as spreadsheets, there is a key distinction between an Excel worksheet and an Excel workbook. A worksheet consists of only one spreadsheet while a workbook contains multiple different spreadsheets separated by tabs.

The difference may not be very important when viewing or sharing XLSX files natively in Microsoft Excel, but it can create serious challenges when rendering those files in another application. Without some way of accurately rendering dynamic spreadsheet data, viewers are often forced to resort to a static print preview image. This process makes the file viewable, but also leaves it “flattened” because all interactive elements are removed from the spreadsheet cells.

If the workbook contains worksheets with linked data (that is, cell data from one sheet is affected by cell data from another sheet), it’s critical that a viewing solution preserves the dynamic aspects of the file. The advantage of a spreadsheet is that it can serve as a working document. Without the ability to interact with it, users might as well simply copy and paste the data into a text document.

Managing Excel Workbooks with PrizmDoc Cells

PrizmDoc Cells provides several options for managing Excel workbooks, making it easy to transition back and forth between XLSX format and web browser viewing. Once a proxy route is set up within the application to send API calls to the PrizmDoc Cells server, three different commands can be used to manage Excel workbooks.

Upload Workbook

This API call adds a new XLSX file for viewing and editing. When a document is uploaded to the system, the server assigns a unique workbook ID to it so it can be found and rendered in the application’s viewer in the future. After uploading a workbook, a new session can be created using the workbook ID for viewing and editing purposes. 

Download Workbook

When PrizmDoc Cells displays a spreadsheet, it renders the XLSX file itself, but it doesn’t make any alterations to that file. As each session makes edits to the workbook, those changes are associated with the document ID rather than the original XLSX file, which preserves the integrity of the original spreadsheet. At some point, however, those edits may need to be saved into a new Excel workbook. 

The download API call converts the current session document so it can be downloaded as an XLSX file. File availability can be set during the download process to control who will have access to the new workbook.

Delete Workbook

Old versions of workbooks often need to be deleted for security reasons, usually because they contain confidential data. Since the original XLSX file remains safely within application storage, there often isn’t much sense in retaining workbooks IDs that aren’t being used. The delete API call removes a workbook ID from the server. Once removed in this way, the workbook cannot be viewed, edited, or downloaded by PrizmDoc Cells.

Preserving Workbook Functionality

Since PrizmDoc Cells natively renders information contained in an XLSX file, it retains the dynamic elements that make spreadsheet workbooks so useful to organizations. Not only does it preserve proprietary business logic and formulas, but it also maintains the integrity of this information across multiple worksheets. Cell content can still be searched to quickly locate important text or data throughout the workbook.

For situations where proprietary formulas need to be protected, PrizmDoc Cells allows users to upload XLSX workbooks as values-only files, with all spreadsheet formulas removed. Also, any cells locked in an uploaded XLSX file will remain locked in PrizmDoc Cells to preserve workbook security.

True Spreadsheet Workbook Support for Your Applications

Many organizations continue to depend upon spreadsheet workbooks to manage their business. By providing feature-rich workbook support within their applications, developers can help them retain control over their proprietary spreadsheet formulas without sacrificing the functionality they expect from Excel. 

PrizmDoc Cells makes it easier than ever to share spreadsheet workbooks without having to rely upon Microsoft Excel dependencies. Shared XLSX files can remain safely within a secure application environment to prevent unauthorized downloads or troublesome version confusion. Get a first-hand look at how PrizmDoc Cells can enhance your application in our extensive online demo.

spreadsheet security

Few document formats are more common than XLSX spreadsheet files. Although many alternatives are available, most enterprises continue to rely on the broad (and familiar) functionality of Microsoft Excel when it comes to their spreadsheet needs. However, few organizations take the appropriate steps to ensure Excel spreadsheet security, which could leave their private data and formula assets exposed to substantial risk.

As a third party dependency, Excel represents an obvious security gap that could easily be exploited. Any time a file travels outside a secure application environment, there is a potential risk of data theft and version confusion. In any situation where files are travelling between separate applications, there is also an opportunity for malicious files to slip into unsuspecting workflows. By focusing on ways to shore up their Excel spreadsheet security, organizations can minimize risk and protect their sensitive data.

Excel Spreadsheet Security Risk #1: Malicious File Extensions

Most organizations are aware that opening a file attached to an email is one of the most common ways to introduce malware into a system. What they may not realize, however, is just how pervasive the problem is or how well those files are masked. It’s easy to identify a malicious email attachment when its name is a jumble of letters and it has an unfamiliar file extension. The real threat comes when it actually resembles something familiar and potentially legitimate.

Unfortunately, XLSX spreadsheet files are frequently used to distribute malware. According to a comprehensive cybersecurity study conducted by Cisco in 2018, Microsoft Office file extensions (such as DOCX and XLSX) were used by 38 percent of malicious email attachments, higher than any other format. These extensions are attractive to cybercriminals precisely because they’re so widely used. Someone working in a financial services organization, for instance, is usually quite accustomed to sending and receiving spreadsheets via email, so they are more likely to open an XLSX file out of curiosity.

Of course, this raises a separate question about basic cybersecurity. No organization today should be relying on poorly secured channels like email to share sensitive documents in the first place. By integrating native XLSX viewing and editing capabilities directly into their web applications, developers can provide the tools necessary to share spreadsheets without the risk of exposing collaborators to malicious file extensions. Embedding spreadsheet files into the application allows for easy access, but also keeps the file safely within a secure environment. Once users become accustomed to accessing spreadsheets this way, they’ll be less likely to fall prey to a malicious XLSX extension in their email. 

Excel Spreadsheet Security Risk #2: Insufficient Access Control

Spreadsheets can contain a great deal of information. Not only do they make it easy to reference data and carry out complex calculations in seconds, there’s a lot happening behind the scenes that may not be immediately obvious to the average user. Spreadsheet cells typically incorporate highly detailed (and often proprietary) formulas that help organizations to estimate costs, assess risk, and adjust revenue forecasts. For many industries, there’s simply no software that can compete with the extensive capabilities of spreadsheets.

But that versatility comes with a cost. Any user with a rudimentary knowledge of spreadsheets can easily reveal hidden information and examine the formulas behind the document’s calculations. And once they’ve downloaded their own copy of the spreadsheet, there’s nothing to prevent them from using it elsewhere, which can be a serious problem for any organization that depends upon its proprietary formulas to drive business success.

The root problem in this case comes down to who has control over the spreadsheet. When an XLSX file is shared, it can then be copied or even altered without the knowledge or permission of its original owner. The best way to maintain control over spreadsheets is to integrate native XLSX viewing capabilities directly into a web application. This allows developers to control which elements of the spreadsheet are being shared and prevents anyone from downloading a copy without permission. Since users can only interact with the spreadsheet on the terms set by the file’s owner, they can’t peek “under the hood” to obtain proprietary assets like cell formulas.

Secure Your Spreadsheets with PrizmDoc Cells

Accusoft’s PrizmDoc Cells is a powerful API integration that allows developers to provide dynamic spreadsheet viewing and editing capabilities within their web application environment. Far more versatile than traditional viewer integrations that offer only a static “print preview” image of a spreadsheet, PrizmDoc Cells makes it possible to scroll both vertically and horizontally and even enter information into cells to perform calculations. It’s the most secure way to provide access to spreadsheet resources without sacrificing control over editing permissions. And since the XLSX file never has to travel beyond a secure application environment, there’s no need to worry about malicious file extensions when sharing spreadsheets.

Developers can use PrizmDoc Cells’s whitelabeling features to customize its look and functionality within their application. From editing cell content and format to embedding graphics, they retain complete control over the way viewers interact with spreadsheet files to maximize security and protect vital proprietary information. To learn more about how PrizmDoc Cells can enhance Excel spreadsheet security within your application, visit our product page to explore this powerful integration’s features.

Question

If I upload an HTML document to PrizmDoc that has image tags in it, will those images be rendered in the Viewer or will only the text be displayed?

What if the image tags are referencing local images?

Answer

When loading an HTML file, PrizmDoc will render image tags that are sourced from publicly accessible URLs. The relative links may not render though, as it’s likely that the source will not be found.

In PrizmDoc 13.2, a server-side configuration option called:

security.htmlRendering.blockExternalContent

was introduced to control whether or not externally-referenced HTML content will be blocked.

See the release notes for more information.