Technical FAQs

Question

What type of license should I be using?

Answer

Accusoft supports 3 primary license types: Evaluation, Toolkit, and Runtime licenses.

Evaluation License:

An Evaluation license is available upon download and will allow you to try our products and determine if they will suit your needs. Most downloads include free demo applications that demonstrate the core functionality of our product and will show you how to get up and running integrating Accusoft products with your solution. While the Evaluation license is free to download it does come with some restrictions. These restrictions may come in the form of water marked documents, pop-up dialogue boxes, or a time limit on the Evaluation license itself.

Toolkit License:

Should you decide that an Accusoft product is right for you, the next step should be to purchase one or more of our Toolkit licenses. Accusoft requires each developer using an Accusoft component to have a Toolkit license on their development machine. Once registered, the Toolkit license will unlock all restrictions of the Evaluation license. Please note, the Toolkit license is strictly to be used for development purposes, and when activated, it will be tied the specific development machine that it was registered on. Understandably, the occasion may arise where a Toolkit license needs to be moved from one development machine to another. In such a scenario, please contact sales@accusoft to see if this is feasible. For more information on how to register a Toolkit license on a development machine please see the ‘Toolkit Licensing’ section of your products Help documentation.

Runtime License:

Finally, once you have completed your solution and are ready for deployment, you will need to purchase a Runtime license. Accusoft offers 2 types of Runtime licenses. Most commonly, you will purchase an Automatically Reported Runtime (or Node-Locked) license, which requires a license for every machine your solution will be deployed to. It is very important to note that Runtime licenses are tied to the machine they are activated on and should not be used for development purposes. Doing so will quickly use up your Runtime licenses and cannot be refunded. For more information about how to activate an Automatically Reported Runtime license, please see the ‘Automatically Reported Runtime License’ section of your products Help documentation. In certain circumstances, Accusoft will issue a Manually Reported Runtime licenses that allow you to embed all of the licensing information directly into your application. These licenses are only distributed under certain circumstances and eligibility is determined by Accusoft sales. For more information on how to activate this type of license, please see the ‘Manually Reported Runtime License’ section of your products Help documentation.

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.

Question

When viewing documents within the PrizmDoc Viewer using a particular browser, we are seeing garbage text. Viewing the same document with other browsers shows the text properly. What could be causing this to occur?

Answer

There are two possible causes for this in Internet Explorer 11 and you can check the settings below to potentially fix the issue:

In Internet Explorer 11 settings, ensure the Font Download option is enabled:

  1. Click on Internet Options.
  2. Select the Security Tab.
  3. Under Local Intranet zone, select Custom Level.
  4. Under Downloads, set Font download to Enabled.

Disable the “Turn off Data URI” support setting:

  1. Click Start, type gpedit.msc in the Start Search box, and then press Enter.
  2. In the navigation pane of the Local Group Policy Editor window, expand Computer Configuration > Administrative Templates > Windows Components > Internet Explorer > Security Features.
  3. In the right pane, double-click Turn Off Data URI support.
  4. Select Disable, click Apply, and then click OK.
  5. Go back to the navigation pane of the Local Group Policy Editor window, expand User Configuration > Administrative Templates > Windows Components > Internet Explorer > Security Features.
  6. Repeat steps 3 and step 4 above.

In Internet Explorer 11 settings, ensure Ignore font styles specified in webpages is not checked.

  1. Click on Internet Options.
  2. Select the General Tab.
  3. Click on Accessibility button.
  4. Un-check Ignore font styles specified in webpages.

In Chrome this is a bug that was found about 3 years ago and fixed in Chrome Canary, but not in Chrome Stable at the time:

https://productforums.google.com/forum/#!msg/chrome/rpmz56gnFKc/nPLtsbYZBwAJ

This may be why Chrome is having problems. Consider either updating Chrome Stable to the latest version or testing in Chrome Canary to see if that fixes the garbage character issues with that browser.


In Mozilla Firefox there is a setting you can enable which could resolve this problem in that browser:

  1. Go to Options/Preferences > General: Fonts & Colors > Advanced and select Allow pages to choose their own fonts (instead of My selections above).
Question

When viewing documents within the PrizmDoc Viewer using a particular browser, we are seeing garbage text. Viewing the same document with other browsers shows the text properly. What could be causing this to occur?

Answer

There are two possible causes for this in Internet Explorer 11 and you can check the settings below to potentially fix the issue:

In Internet Explorer 11 settings, ensure the Font Download option is enabled:

  1. Click on Internet Options.
  2. Select the Security Tab.
  3. Under Local Intranet zone, select Custom Level.
  4. Under Downloads, set Font download to Enabled.

Disable the “Turn off Data URI” support setting:

  1. Click Start, type gpedit.msc in the Start Search box, and then press Enter.
  2. In the navigation pane of the Local Group Policy Editor window, expand Computer Configuration > Administrative Templates > Windows Components > Internet Explorer > Security Features.
  3. In the right pane, double-click Turn Off Data URI support.
  4. Select Disable, click Apply, and then click OK.
  5. Go back to the navigation pane of the Local Group Policy Editor window, expand User Configuration > Administrative Templates > Windows Components > Internet Explorer > Security Features.
  6. Repeat steps 3 and step 4 above.

In Internet Explorer 11 settings, ensure Ignore font styles specified in webpages is not checked.

  1. Click on Internet Options.
  2. Select the General Tab.
  3. Click on Accessibility button.
  4. Un-check Ignore font styles specified in webpages.

In Chrome this is a bug that was found about 3 years ago and fixed in Chrome Canary, but not in Chrome Stable at the time:

https://productforums.google.com/forum/#!msg/chrome/rpmz56gnFKc/nPLtsbYZBwAJ

This may be why Chrome is having problems. Consider either updating Chrome Stable to the latest version or testing in Chrome Canary to see if that fixes the garbage character issues with that browser.


In Mozilla Firefox there is a setting you can enable which could resolve this problem in that browser:

  1. Go to Options/Preferences > General: Fonts & Colors > Advanced and select Allow pages to choose their own fonts (instead of My selections above).
Question

Where does PrizmDoc store E-Signatures and how can I retrieve them?

Answer

PrizmDoc does not store E-Signatures on the server. However, PrizmDoc does store them in the browser’s local storage so that an end user can use the same signature across multiple documents and multiple sessions within the same browser.

In the Viewer Sample, end users are able to save their individual signatures for their own record using the “Download Signature” button under the Manage E-Signatures menu. This will download a plain-text JSON file of the selected signature.

In the E-Signing Sample, if you want to retrieve the E-Signature from your own browser, you can open the developer tools (F12 on Chrome), go to the application tab, select local storage, and inside you can find the JSON of the E-Signature in the value of pccvEsignSignatures.

Question

I am trying to deploy my ImageGear Pro ActiveX project and am receiving an error stating

The module igPDF18a.ocx failed to load

when registering the igPDF18a.ocx component. Why is this occurring, and how can I register the component correctly?

Answer

To Register your igPDF18a.ocx component you will need to run the following command:

regsvr32 igPDF18a.ocx

If you receive an error stating that the component failed to load, then that likely means that regsvr32 is not finding the necessary dependencies for the PDF component.

The first thing you will want to check is that you have the Microsoft Visual C++ 10.0 CRT (x86) installed on the machine. You can download this from Microsoft’s site here:

https://www.microsoft.com/en-us/download/details.aspx?id=5555

The next thing you will want to check for is the DL100*.dll files. These files should be included in the deployment package generated by the deployment packaging wizard if you included the PDF component when generating the dependencies. These files must be in the same folder as the igPDF18a.ocx component in order to register it.

With those dependencies, you should be able to register the PDF component with regsvr32 without issue.

SmartZone powershell
 

Continuous innovation has allowed Accusoft to build sustained success over the course of three decades. Much of that innovation comes from talented developers creating novel solutions to everyday problems, many of which go on to become patented technologies that provide the company with an edge over competitors. 

Others, however, are the byproduct of looking at problems from a different perspective or using existing technologies in unique ways. Accusoft supports both approaches by hosting special “hackathon” events each year. These events encourage developers to spend time working on their own unique projects or try out ideas they think may have potential but have never been implemented.

For this year’s hackathon, I took a closer look at how our SmartZone SDK could be implemented as part of an automation solution within a .NET environment without creating an entire application from the ground up. What I discovered was that PowerShell modules offer a quick and easy way to deploy character recognition for limited, unique use cases.

.NET and PowerShell

One of the underestimated abilities of the .NET infrastructure is support loading and executing assemblies out of box from the command line using a shell module. Although there are many shell variants available, PowerShell comes preinstalled on most Windows machines and is the only tool required to make the scripts and keep them running. PowerShell also runs on Linux and macOS, which makes it a true cross-platform task automation solution for inventive developers who crave flexibility in their scripting tools. 

Incorporating the best features of other popular shells, PowerShell consists of a command-line shell, a scripting language, and a configuration management framework. One of the unique features of PowerShell, however, is that unlike most shells which can only accept and return text, it can do the same with .NET objects. This means PowerShell modules can be used to build, test, and deploy solutions as well as manage any technology as part of an extensible automation platform.

Implementing SmartZone Character Recognition

Accusoft’s SmartZone technology allows developers to incorporate advanced zonal character recognition to capture both machine-printed and hand-printed data from document fields. It also supports full page optical character recognition (OCR) and allows developers to set confidence values to determine when manual review of recognition results are necessary. 

Implementing those features into an application through a third-party integration is the best way to incorporate recognition capabilities, but there are some use cases where they might need to be used for general tasks outside of a conventional workflow. A number of Accusoft customers, for instance, had inquired about simple ways to use some of SmartZone’s features in their existing process automation software without having to spend weeks of development time integrating those capabilities on a larger scale.

Thanks to the versatility of PowerShell, there’s no reason to build such an application from scratch. SmartZone’s zonal recognition technology can easily be incorporated into any .NET environment with just a few snippets of code. PowerShell syntax itself is not very difficult to understand and for a quick start it should be enough to use a Windows Notepad application, but we recommend using your favorite integrated development environment (IDE) for a better experience.

Getting Started

First, you need to download SmartZoneV7.0DotNet-AnyCPU.zip from the Accusoft SmartZone download page and unpack it to any suitable directory. This bundle contains all required binaries to run SmartZone.

Create a Simple.ps1 file inside the unpacked directory and start typing your script:


using namespace System.Drawing
using namespace System.Reflection
using namespace Accusoft.SmartZoneOCRSdk

# Load assemblies.
Add-Type -AssemblyName System.Drawing
$szPath = Resolve-Path ".\bin\netstandard2.0\Accusoft.SmartZoneOCR.Net.dll"
[Assembly]::LoadFrom($szPath)

# Create a SmartZone instance.
$szObj = [SmartZoneOCR]::new()
$szAssetsPath = Resolve-Path ".\bin\assets"
$szObj.OCRDataPath = $szAssetsPath.Path

# Licensing
# $szObj.Licensing.SetSolutionName("Contact Accusoft for getting the license.")
# $szObj.Licensing.SetSolutionKey(+1, 800, 875, 7009)
# $szObj.Licensing.SetOEMLicenseKey("https://www.accusoft.com/company/legal/licensing/");

# Load test image.
$bitmapPath = Resolve-Path ".\demos\images\OCR\MultiLine.bmp"
[Bitmap] $bitmap = [Image]::FromFile($bitmapPath.Path)

# Recognize the image and print the result.
$result = $szObj.Reader.AnalyzeField([Bitmap] $bitmap);
Write-Host $result.Text

# Free the resources.
$bitmap.Dispose();
$szObj.Dispose();


This simple code snippet allows you to use SmartZone together with PowerShell in task automation processes like recognizing screenshots, email attachments, and images downloaded by the web browser. It can also be deployed in other similar cases where the advantages of PowerShell modules and cmdlets can help to achieve results faster than writing an application from scratch.

Another Hackathon Success

Identifying a new way to deploy existing Accusoft solutions is one of the reasons why the hackathon event was first created. This script may not reinvent the wheel, but it will help developers save time and money in a lot of situations, which means fewer missed deadlines and faster time to market for software products. Developing unique approaches to existing problems can be difficult with deadlines and coding demands hanging over a developer’s head, so Accusoft’s hackathons are incredibly important for helping the company stay at the forefront of innovation. 

To learn more about how that innovation can help your team implement powerful new features into your applications, talk to one of our solutions experts today!

Question

Where does PrizmDoc store E-Signatures and how can I retrieve them?

Answer

PrizmDoc does not store E-Signatures on the server. However, PrizmDoc does store them in the browser’s local storage so that an end user can use the same signature across multiple documents and multiple sessions within the same browser.

In the Viewer Sample, end users are able to save their individual signatures for their own record using the “Download Signature” button under the Manage E-Signatures menu. This will download a plain-text JSON file of the selected signature.

In the E-Signing Sample, if you want to retrieve the E-Signature from your own browser, you can open the developer tools (F12 on Chrome), go to the application tab, select local storage, and inside you can find the JSON of the E-Signature in the value of pccvEsignSignatures.

Question

Why do the fonts in my document look different when rendered in PrizmDoc?

Answer

There are times when a document was created on a machine where a user installed a non-standard font (e.g., Maestro-Regular). When the document is viewed on another system, without that font installed, the text will look different.

PrizmDoc uses the fonts installed on the server where it is running when converting the document. If the document has a non-standard font, and the font is not installed on the server where PrizmDoc is running, then it will render the document with a default font.

To fix the issue, you need to install the font onto the PrizmDoc server that converted the document. The procedure below outlines how to install the font on a Windows server. You will need to ensure that you are logged in as the same UserId that the Prizm Service is using.

  1. Identify the name of the font that needs to be installed and download the font file associated with that font. The font file name will typically be in the format of fontname.ttf.
  2. Copy the .ttf file to the server running PrizmDoc.
  3. On the server, right-click the .ttf file and select Install from the menu.
  4. Stop all of the Prizm services.
  5. Clear all folders under \Prizm\Cache – this will clear the previously rendered files that had the wrong font rendered.
  6. Reboot the server and attempt to open the document again.
Question

What are the technical details/process of “Flattening” a PDF document?

Answer

It is possible to “Flatten” PDF documents in PrizmDoc Viewer. You can do this by converting the document to a raster format (TIFF is recommended for PDF conversion) using PrizmDoc’s Content Conversion Service, and then converting it back to PDF format. This will result in a PDF with a single layer and no hidden objects. However, this will usually lower the quality and increase the file size of PDFs that are largely text.

Here is an example workflow using the Workfile API and the Content Conversion Service API:

1. Create a WorkFile from PDF

POST {{pccisUrl}}/PCCIS/V1/WorkFile
Content-Type: application/octet-stream

{{file bytes}}

2. Initiate Conversion to TIFF

POST {{pccisUrl}}/v2/contentConverters
Content-Type: application/json

{
    "input": {
        "sources": [
            {
                "fileId": "{{fileId}}"
            }
        ],
        "dest": {
            "format": "tiff"
        }
    }
}

3. Poll until response[“state”] === “complete”

GET {{pccisUrl}}/v2/contentConverters/{{processId}}

4. Initiate Conversion from TIFF back to PDF

POST {{pccisUrl}}/v2/contentConverters
Content-Type: application/json

{
    "input": {
        "sources": [
            {
                "fileId": "{{fileId_from_Step3_output}}"
            }
        ],
        "dest": {
            "format": "pdf"
        }
    }
}

5. Poll again

GET {{pccisUrl}}/v2/contentConverters/{{processId}}

6. Download

GET {{pccisUrl}}/PCCIS/V1/WorkFile/{{fileId}}?ContentDispositionFileName={{desiredFileNameWithExtension}}