Technical FAQs

Question

When viewing .csv files in PrizmDoc Viewer, the dates in the CSV file are in UK format (DD/MM/YYYY). However, if the DD is lower than 13 it is converted to US date format (MM/DD/YYYY).

Answer

Workaround:

The suggested workaround is to use Excel files instead of CSV to avoid this situation. Excel file format stores date/time format in the file.

Issue:

This is a bug in the MS Excel COM Interop that is being used by the product (MsOfficeConverter). Here is the related Excel bug: https://social.msdn.microsoft.com/Forums/vstudio/en-US/82248560-dabd-4c90-b1e2-793b2f32b257/excel-bug-handling-dates-in-csv-files-using-microsoftofficeinteropexcel?forum=exceldev

Problem description:

When using MS Excel Interop to open CSV files, all date/times there are being interpreted with “en-US” locale, regardless of actual system locale. Here is the description from the bug link above:

Excel interpreting dates when its reads csv files via .NET Interop. It is not a excel formatting issue per say. When excel accesses information such as dates (which are stored as numbers in memory to support arithmetic operations) from text files, it has to convert the date from textual representation (within the csv file, such as 2012-09-12) to the equivalent number in Excel memory (e.g. 41164 which represents 2012-09-12). When we use Interop to access this number in memory, many are interpreted incorrectly – swapping days with months and vice versa. This is a bug, as Excel is not abiding by the system culture on interpreting local date formats.

Question

Is there a way to modify the colors used in PrizmDoc Viewer’s search results? In particular, the currently selected search result has a very similar color to the other results from the same term. Is there a way to increase the contrast?

Answer

Currently, we don’t support the ability to set anything other than the highlight color through the search API.

There is a feature request to enable such modifications:

https://ideas.accusoft.com/ideas/PDV-I-531

Question

In the PrizmDoc Viewer, what are the two different ways to load annotation layers?

Answer

PrizmDoc has two options for loading annotations, the “My Annotations” pane and the “Annotations for Review” pane.

The “My Annotations” pane is used to load a single annotation layer for editing. You can add, delete, or make changes to annotations and then save those changes using the “My Annotations” pane.

The “Annotations for Review” pane is used for viewing annotations. You can load as many annotation layers for viewing as you would like. You cannot interact with annotations loaded in this way, but you are able to make comments on them. You can toggle between any of these layers to hide them. You can also merge these annotations to the currently loaded annotation layer from “My Annotations”.

For more information see our documentation here: https://help.accusoft.com/PrizmDoc/latest/HTML/Annotation_Layers.html

Question

I would like to remove the mark selection handles from the marks (annotations and redactions) in the viewer so that my users can’t resize marks, but so they can still move the marks around. How can I do this?

Answer

The easiest way to achieve the functionality you’re looking for would be to simply change the CSS for the mark handles to set their display to none !important. The CSS for the mark handles can be found in viewercontrol.css. See the following code for an example:

/* mark selection handles */
.pccMarkHandleTopLeft,
.pccMarkHandleTopCenter,
.pccMarkHandleTopRight,
.pccMarkHandleMidLeft,
.pccMarkHandleMidRight,
.pccMarkHandleBottomLeft,
.pccMarkHandleBottomCenter,
.pccMarkHandleBottomRight,
.pccMarkHandlePoint,
.pccMarkHandleTextSelectionStart,
.pccMarkHandleTextSelectionEnd {
    position: absolute;
    width: 40px;
    height: 40px;
    display: none !important;
    background-image: url(data:image/png;base64,iVBORw...);
}

@media screen and (-webkit-min-device-pixel-ratio: 2), 
       screen and (min-resolution: 2dppx),
       screen and (min-resolution: 192dpi) {
    .pccMarkHandleTopLeft, 
    .pccMarkHandleTopCenter, 
    .pccMarkHandleTopRight, 
    .pccMarkHandleMidLeft, 
    .pccMarkHandleMidRight, 
    .pccMarkHandleBottomLeft, 
    .pccMarkHandleBottomCenter, 
    .pccMarkHandleBottomRight, 
    .pccMarkHandlePoint, 
    .pccMarkHandleTextSelectionStart, 
    .pccMarkHandleTextSelectionEnd {
        -webkit-background-size: 40px 40px;
                background-size: 40px;
        display: none !important;
        background-image: url(data:image/png;base64,iVBORw...);
    }
}

You will want to set the !important flag so that the functions inside viewercontrol don’t set the display back to block.

One thing you may want to do is separate out pccMarkHandleTextSelectionStart and pccMarkHandleTextSelectionEnd to not include display: none. This way, the text selection annotations are able to be edited, since they are reliant on the handles for "movement" because they select a portion of the text signified by the handles. 

Question

When viewing .csv files in PrizmDoc Viewer, the dates in the CSV file are in UK format (DD/MM/YYYY). However, if the DD is lower than 13 it is converted to US date format (MM/DD/YYYY).

Answer

Workaround:

The suggested workaround is to use Excel files instead of CSV to avoid this situation. Excel file format stores date/time format in the file.

Issue:

This is a bug in the MS Excel COM Interop that is being used by the product (MsOfficeConverter). Here is the related Excel bug: https://social.msdn.microsoft.com/Forums/vstudio/en-US/82248560-dabd-4c90-b1e2-793b2f32b257/excel-bug-handling-dates-in-csv-files-using-microsoftofficeinteropexcel?forum=exceldev

Problem description:

When using MS Excel Interop to open CSV files, all date/times there are being interpreted with “en-US” locale, regardless of actual system locale. Here is the description from the bug link above:

Excel interpreting dates when its reads csv files via .NET Interop. It is not a excel formatting issue per say. When excel accesses information such as dates (which are stored as numbers in memory to support arithmetic operations) from text files, it has to convert the date from textual representation (within the csv file, such as 2012-09-12) to the equivalent number in Excel memory (e.g. 41164 which represents 2012-09-12). When we use Interop to access this number in memory, many are interpreted incorrectly – swapping days with months and vice versa. This is a bug, as Excel is not abiding by the system culture on interpreting local date formats.

Question

What browsers are supported by Accusoft PDF Viewer?

Answer
  • Windows: All chromium based browsers such as Microsoft Edge and Google Chrome.
  • Mac: Safari
  • iOS: Native Safari Browser
  • Android: Native Chrome Browser
Question

When using the PrizmDoc samples, the sample documents included are taking close to 1 minute to load in the viewer. The same also happens when uploading files into the sample.

The server processes are showing minimal impact on CPU and memory. However, the hard drive was spiking to 100% utilization sporadically.

Answer

We have found that Windows Defender with enabled Real-Time scanning can significantly impact performance. Once Real-Time scanning was disabled, we found this issue to be immediately resolved.

To disable Windows Defender, you can do the following:

  1. Right-click on the Windows Logo in the lower left-hand corner and select Control Panel.
  2. Select Windows Defender and then select Settings.
  3. Under the Real-Time protection section, slide the switch to Off.
Question

Why is the viewer not rendering my PDF?

Answer

Please check the developer console of your web browser to troubleshoot issues with documents not rendering, our product will report all errors and debugging information there.

Question

Where can I find the documentation for Accusoft PDF Viewer?

Answer

Our product documentation is located here.

Few industries have been impacted by the proliferation of digital technology than the financial services sector. In fact, it’s one of the few markets where the average consumer can easily observe how much has changed in a short amount of time. Many people haven’t even set foot inside a bank for years, and millions pay all of their bills exclusively online. According to the US Federal Reserve, personal checks declined from 58.8 percent of non-cash payments in 2000 to just 8.3 percent in 2018. Both of these trends are driven by the increased convenience of FinTech applications, and the same changes have impacted the lending industry, as well.

What Is FinTech Lending?

Since the 2008 financial crisis, a new breed of lenders has become a disruptive force in the banking sector. Unburdened by the cumbersome infrastructure that makes large financial institutions slow to adapt to change, FinTech lenders utilize the latest technology to deliver a more responsive, personalized, and transparent lending experience to consumers. These innovative startups have combined easy-to-access digital platforms with sophisticated data analytics to streamline the lending process and deliver funds to borrowers much faster than could be accomplished with traditional loans.

Borrowers, it seems, have been quick to embrace this alternative source of lending. From 2013 to 2018, FinTech companies increased their share of the personal loan market from a mere five percent to thirty-eight percent. That rapid growth is a result of increased penetration into the digital marketplace and more flexible credit scoring that allows FinTech lenders to assess risk and approve loans more effectively. 

In the early days of the industry, most FinTech lenders still relied upon traditional FICO credit scores when evaluating a borrower’s potential to repay loans. Over time, however, they have used a variety of alternative scoring mechanisms driven by data collection algorithms to create a more dynamic picture of a borrower’s credit status. Between 2007 and 2015, for instance, the correlation between FICO scores and the rating system used by one prominent peer-to-peer FinTech lender declined from 80 percent to just 35 percent.

The “Tech” Behind FinTech Lending

The loan adjustment algorithms working under the hood of FinTech lending applications are incredibly sophisticated, but they need good data for fast, accurate underwriting. While traditional lenders focus on predictable data points like income, debt payments, and assets, the digital nature of FinTech applications allows them to go much more granular. By gathering insights from other customer applications, internet searches, and even geolocation data, they can create a more complex profile of each customer, which then allows them to structure loans and other financial products that meet their specific needs while also protecting the lender to unnecessary risk.

This new approach to lending has helped FinTech applications to cut down the “time to yes” on credit decisions from the three to five weeks commonly seen from traditional banks to as little as five minutes. Even more critically, they can use digital funding to deliver cash to borrowers in less than 24 hours compared to the typical lender’s three month response time.

Improving “Time to Yes” on Credit Decisions

In addition to deploying more sophisticated risk adjustment algorithms to assess credit worthiness, there are some additional ways that FinTech lenders can continue to improve performance and efficiency.

Embrace Paperless Automation

The first and most obvious step they can take is by eliminating paper forms from the application process whenever possible. One of the reasons why banks and other financial services organizations move so slowly is due to the time it takes to fill out, fax, scan, and review physical documents. Not only are these forms inefficient, but they’re also prone to clerical errors when an applicant’s data needs to be transferred from the form into a database or application. By digitizing the application process wherever possible and automating data capture, FinTech lenders can significantly cut down on processing times and eliminate the human errors that so often create additional delays.

Increase Document Management Versatility

Shifting to an emphasis on digital documentation brings another complication along with it because there are a variety of file formats used throughout the financial industry. Some documents need to be in a specific format for compliance purposes, and if customers are submitting files through a FinTech lending platform, they could be using multiple different file types. 

In order to streamline processing, FinTech applications need to be able to easily convert a wide range of file types into a few key formats that work best with their processing workflows. That means FinTech developers will need to integrate powerful document conversion tools into their software to ensure that they can avoid any troublesome incompatibility issues during loan processing.

Enhance Data Capture Capabilities

Although FinTech lenders are developing incredible algorithms capable of analyzing massive amounts of data to shorten credit application times, they are still dependent upon the information made available to them. That means developers need to implement data capture tools that can pull key data from a variety of sources and compile it into an easily searchable format. 

Optical character recognition (OCR) engines can quickly extract information for any number of documents and images to create searchable files that FinTech software can quickly process as needed. For hand-printed documents scanned into digital format, intelligent character recognition (ICR) tools can be deployed just as effectively, allowing FinTech lenders to gather data from a wide variety of sources.

Expand FinTech Lending Capabilities with APIs and SDKs

One of the easiest ways for FinTech developers to quickly build lending-friendly features into their applications is to leverage API and SDK integrations. Rather than building new functionality from scratch, they can instead take advantage of existing, proven solutions to enhance their applications. This allows them to keep the focus on the core differentiators of their FinTech lending platform, allowing them to process and approve loans faster while minimizing potential risk.

Accusoft’s collection of API and SDK integrations provide powerful viewing and processing capabilities when it comes to FinTech workflows. Whether you need to convert multiple file types quickly, clean up document images, or perform OCR data capture, Accusoft has the solution to unlocking your FinTech lending application’s potential.

Question

I have EML and MSG files that contain attachments. I want to combine the original EML/MSG document with each of its attachments into a single PDF. How can I do this?

Answer

To do this you are going to need to create a viewing session for the EML or MSG file. Once you’ve created the viewing session you can get the viewingSessionIds of the attachments. Once you have the viewingSessionIds you can get the workFile ID associated with each viewing session. With the workfile IDs you can use the Content Conversion Service (CCS) to combine the email with its attachments into a single PDF.

Use the following API requests to do this:

Create a new viewing session with:

POST {server_base_url}/PCCIS/V1/ViewingSession 

This will give you a viewingSessionId which will be used in future requests.

The body for this request will be JSON:

    {
        "render": {
            "html5": {
                "alwaysUseRaster": false
            }
        }
    }

Upload the document with:

PUT {server_base_url}/PCCIS/V1/ViewingSession/u{viewingSessionId}/SourceFile?FileExtension={extension} 

The request body must be bytes of the source document. Make sure to include the FileExtension or PrizmDoc won’t be able to detect the file as an EML or MSG file.

Poll for and get the viewingSessionIds of the attachments with:

GET {server_base_url}/PCCIS/V1/ViewingSession/u{viewingSessionId}/Attachments

This will return the viewingSessionIds for each of the attachments.

Get the workfile ID for each of the viewing sessions with:

GET {server_base_url}/PCCIS/V1/ViewingSession/u{viewingSessionId}/FileId 

You’ll need to get a fileId for each attachment’s viewingSession and the email’s viewingSession.

With those workfile IDs, you can use the Content Conversion Service (CCS) to combine each of the workfiles with:

POST {server_base_url}v2/contentConverters

The body for this request will be JSON and need to include the workfileId for each of the attachments and the email itself. The body would look like this:

    {
        "input": {
            "sources": [
                { 
                    "fileId": "{EmailWorkFileId}"
                },
                { 
                    "fileId": "{Attachment1WorkFileId}"
                },
                { 
                    "fileId": "{Attachment2WorkFileId}"
                }
                
            ],
            "dest": {
                "format": "pdf"
            }
        }
    }

This will return a processId that you can poll using:

GET /v2/contentConverters/{processId}

Once the process is complete, the request will return a results array that will contain the fileId of the final document.

You can get the final document that contains all the attachments and original EML/MSG file combined into a single PDF with:

GET /PCCIS/V1/WorkFile/{fileId}