#### AIMTools

AIMTools require separate licensing for each image format on each platform. For example, jpeg decompression for iOS is priced separately from jpeg decompression for Android. The AIMTools toolkit is in evaluation mode until unlock codes are provided based on the completion of an agreement with an Accusoft sales representative. Applications using AIMTools require a licensing agreement with Accusoft prior to deployment. This requires a discussion with an Accusoft sales representative about your desired use of AIMTools and the specific features for your application deployment.
On Windows:
• Open Windows Explorer and type ftp://ftp.jpg.com/ into the Navigation Bar.
• Right Click inside Windows Explorer to bring up the standard context menu.
• Find "Login As" and click it to login to FTP Server.
• Provide the user name: support and the password: 853ae90f
For any other operating system, use an FTP client, such as FileZilla, using the above FTP and login information. Once you've successfully logged in, you can drop your files into the folder.
The AIMTools QuickStart Guide is the best way to get started learning how to use the AIMTools SDK. AIMTools Quickstart Guides for both iOS and Android can be found on the AIMTools documentation page. In addition, refer to the “AIMTools and PICTools Programmers’ Guide” and “AIMTools Programmers’ Reference” on the AIMTools documentation page.
The Tagged Image File Format (TIFF) is widely popular, and is particularly used in document imaging. It can support a number of compression types:
• Packbits - Created by Apple, this lossless compression type is used for run-length encoding (RLE). Baseline TIFF readers must support this compression. Use this compression for higher compatibility with various applications.
• CCITT (Huffman encoding) - Used particularly for encoding bitonal (or bi-level) images. "Group 3" and "Group 4" are particularly known for its use with fax transmission of images. Using this compression type will help keep smaller file sizes.
• LZW - A lossless compression type that supports multiple bit depths. Because it's lossless, it produces files that are generally larger than other compressions. Use this compression if you want to retain the exact visual quality of the image without data loss or artifacts.
• JPEG - Very popular compression, used for color and grayscale images and can produce high compression ratios. JPEG allows a good amount of control over how the image in question should be compressed. Use this compression for general color or grayscale images.
• Deflate - A lossless compression using Huffman and LZ77 techniques and also supports different bit depths.
The PICTools SDKs target application development that will be deployed in the Windows, Mac OS, Linux X86, Sparc Solaris, and AIX environments. The AIMTools SDK targets the iOS and Android development platforms.

#### Barcode Scanner

If you see a build error with the Barcode Xpress Demo like this: ld: warning: directory not found for option '-L/Users/username/Documents/Xcode/bxtest/BXDemo/../BarcodeXpressIOS/build/Debug-iphoneos' Go to Xcode>Preferences>Locations>Advanced and select Legacy. Then rebuild BarcodeXpressIOS, and you should be able to successfully build the Barcode Xpress Mobile Demo.
On Windows:
• Open Windows Explorer and type ftp://ftp.jpg.com/ into the Navigation Bar.
• Right Click inside Windows Explorer to bring up the standard context menu.
• Find "Login As" and click it to login to FTP Server.
• Provide the user name: support and the password: 853ae90f
For any other operating system, use an FTP client, such as FileZilla, using the above FTP and login information. Once you've successfully logged in, you can drop your files into the folder.
In all cases, you’ll want to have your images as clear and as clean as possible. For any particular procedure, please consider the following: OCR and ICR: Capture images in at least 300 DPI resolution. Ideally, working in black and white will allow the objects of interest on your image to be better defined and recognized. Free the image form all noise as much as possible. As if a human was reading it, you’ll want the text objects on the image to be as legible as possible. For ICR, make sure that the characters are printed (no cursive text, etc). Barcode recognition: As with OCR and ICR, capture images in at least 300 DPI and working with black and white content can provide excellent results. You’ll also want to make sure that the bars in the barcodes are clearly defined on the image and are not mal-formed (for example, the barcodes should have the proper start and stop sequence, etc). As always, clear as much noise from the image as possible. Forms matching and registration: As with the prior 2 items above, capture your documents in at least 300 DPI. Make sure that your resolution is consistent between your form templates and incoming batch images as well. Form templates should only contain data that is common to every image that is being processed (i.e. – Form fields, the text that appears on the blank form itself, etc). The template should not have filled-in field information as this will affect the forms matching process.
There is no definitive answer to BarcodeXpress's varied performance because it must use heuristic matching methods which do not always give the same results on all barcodes. Here are some tips to solve some common cases.
• Try image cleanup methods BarcodeXpress typically comes with ImagXpress. ImagXpress provides a suite of cleanup functions such as deskew, binarize, and line removal. Noise in an image is the most common reason of missed detection.
• Try changing the ScanDistance Property ScanDistance is a property of the BarcodeXpress Reader. Lowering the value may assist matching by applying looser recognition techniques. However, this may introduce false-positives.
• Isolate the barcode If your barcode can still not be recognized, try to crop out the barcode and recognize it separately

#### Barcode Xpress

Although Barcode Xpress .NET, Linux, and ActiveX can write barcodes, Barcode Xpress Java cannot.
No, although if you run an Accusoft licensing utility (as opposed to an OEM key) that will communicate with the Accusoft servers to place a license on your machine. That's it. When you run your code, network access to Accusoft servers is not necessary.
In order to determine which operating systems and versions of Visual Studio are supported in your application, please visit the documentation for your product and go to Getting Started -> System Requirements or Operating Requirements
BarcodeXpress supports a number of optimization settings that can improve your recognition performance, sometimes up to 40%, along with memory usage. The best way to optimze BarcodeXpress is to fine-tune the properties of the Reader class to be specific to your application's requirements. For similar information, see the What can I do if my barcodes are not being recognized? FAQ.

#### BarcodeTypes

• The best way to increase performance is to limit which barcodes BarcodeXpress should search for. By default, BarcodeXpress will look for every type of barcode supported if this property is not specified.

#### MaximumBarcodes

• This property will instruct BarcodeXpress to halt searching after finding a specified number of barcodes.

#### Area & Orientation

• If you know the location or orientation of your barcodes in your image, Specifying an orientation (such as Horizontal) and area can eliminate BarcodeXpress from searching for vertical or diagonal barcodes, or in places where barcodes cannot exist.

#### ScanDistance

• Raising this value increases performance by applying looser recognition techniques by skipping rows of an image. However, this may fail to detect barcodes.
Finally, the Professional edition does not impose a 40 page-per-minute limit on processing.
For the ActiveX interface, distribute the appropriate assembly DLL files with applications using the Barcode Xpress Product.
For the .Net interface, distribute the appropriate assembly DLL files with applications using the Barcode Xpress Product.
For the Linux version, distribute the appropriate shared library files with applications using the Barcode Xpress Product.
On Windows:
• Open Windows Explorer and type ftp://ftp.jpg.com/ into the Navigation Bar.
• Right Click inside Windows Explorer to bring up the standard context menu.
• Find "Login As" and click it to login to FTP Server.
• Provide the user name: support and the password: 853ae90f
For any other operating system, use an FTP client, such as FileZilla, using the above FTP and login information. Once you've successfully logged in, you can drop your files into the folder.
In all cases, you’ll want to have your images as clear and as clean as possible. For any particular procedure, please consider the following: OCR and ICR: Capture images in at least 300 DPI resolution. Ideally, working in black and white will allow the objects of interest on your image to be better defined and recognized. Free the image form all noise as much as possible. As if a human was reading it, you’ll want the text objects on the image to be as legible as possible. For ICR, make sure that the characters are printed (no cursive text, etc). Barcode recognition: As with OCR and ICR, capture images in at least 300 DPI and working with black and white content can provide excellent results. You’ll also want to make sure that the bars in the barcodes are clearly defined on the image and are not mal-formed (for example, the barcodes should have the proper start and stop sequence, etc). As always, clear as much noise from the image as possible. Forms matching and registration: As with the prior 2 items above, capture your documents in at least 300 DPI. Make sure that your resolution is consistent between your form templates and incoming batch images as well. Form templates should only contain data that is common to every image that is being processed (i.e. – Form fields, the text that appears on the blank form itself, etc). The template should not have filled-in field information as this will affect the forms matching process.
There is no definitive answer to BarcodeXpress's varied performance because it must use heuristic matching methods which do not always give the same results on all barcodes. Here are some tips to solve some common cases.
• Try image cleanup methods BarcodeXpress typically comes with ImagXpress. ImagXpress provides a suite of cleanup functions such as deskew, binarize, and line removal. Noise in an image is the most common reason of missed detection.
• Try changing the ScanDistance Property ScanDistance is a property of the BarcodeXpress Reader. Lowering the value may assist matching by applying looser recognition techniques. However, this may introduce false-positives.
• Isolate the barcode If your barcode can still not be recognized, try to crop out the barcode and recognize it separately
1) If you are using the .NET interface please distribute the following DLL: •Accusoft.BarcodeXpress9.Net.dll 2) If you are using the ActiveX interface please distribute the following DLL depending on the environment being used (32 or 64 bit): •Accusoft.BarcodeXpress9.ActiveX.dll - ActiveX component - ActiveX Control for barcode creation and recognition •Accusoft.BarcodeXpress9.ActiveX64.dll - 64 bit ActiveX component - ActiveX Control for barcode creation and recognition

There are a number of cleanup operations that you can use to make an image more suitable for a particular application. What you observe visually on the image and how you perceive its impact on your project is the most important. For example, if you’re noticing very many random specks on your image, and you’re planning to use OCR, then you may want to try a depseckle or blob removal operation first. If the content in your image looks a bit slanted, you could try a deskew or rotate operation. In some cases, using a line removal operation on forms that have grid fields could be helpful also. The amount of image cleaning you may need to do can very from project to project. There’s not a one shot cleaning operation that will always work for all images. But, observe the nature of the noise and interference in your images to determine what general parameters appear to provide the best results.
While using our Server Licensing Utility (SLU) to register runtime licenses with machines using your applications you will be asked for a License Configuration file. This file can be obtained by following these instructions:
2. Go to your Products tab.
3. Click the product/version you want to license.
4. Click deployment.
7. Click “Generate Config File” for the product you would like a config file for.
Information on the SLU can be found here: http://help.accusoft.com/ImagXpress/v13.0/dotnet/webframe.html#Server%20Licensing%20Utility.html Information on the Licensing Configuration File can be found here: http://help.accusoft.com/ImagXpress/v13.0/dotnet/webframe.html#License%20Configuration%20Files.html
The Barcode Xpress .NET Toolkit includes samples in C# and VB.NET for supported platforms.

The Barcode Xpress ActiveX Toolkit includes samples in VB6 and C++ for supported platforms.

Samples are available through the Start > Programs > Accusoft > BarcodeXpress 10 menu.

Please also refer to the "How To" section in the User Guide section of the appropriate Help File (.NET or ActiveX) for sample code showing the use of the control.
One possibility is that you have strict firewall settings that are preventing our License Manager from connecting with licensing.accusoft.com, our licensing server. In order to connect with licensing.accusoft.com, you'll have to make an exception in your firewall for our License Manager so that it can connect to licensing.accusoft.com on port 80 for http and port 443 for https.
If you are receiving a "80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))." error while trying to use the LDK on a website created through IIS, it is likely because of a platform conflict (x32 vs x64). To fix it, try checking (or unchecking) "Enable 32-Bit Applications" for the App Pool associated with the website.
There are a few reasons why this might happen:
1. You have licensed your machine with a runtime/deployment license and you are not calling the SetSolutionName and SetSolutionKey methods in your code. By default, Accusoft products will look for a license in the registry at this path: HKEY_LOCAL_MACHINE\SOFTWARE\Accusoft\Licensing\Accusoft. However, for runtime licenses, they are stored at HKEY_LOCAL_MACHINE\SOFTWARE\Accusoft\Licensing\YourSolutionName. So, when you call SetSolutionName, that tells your application to look in the correct directory to find the runtime license. You can find the necessary parameters for these methods on the customer portal customer portal.
2.  You did not successfully install a license on your machine and the temporary license installed has expired. If you use the SLU (Server License Utility) or the LDK (License Deployment Kit) to license your machine and it fails, a temporary 14 day license will be placed on your machine. When that expires, you'll no longer be able to use the product. If this happens, you'll need to run the SLU or try using the LDK again. If that doesn't work, you might want to try licensing your machine in offline mode.
3.  You are trying to use a development license and you are calling SetSolutionName and SetSolutionKey in your code. You should only call SetSolutionName and SetSolutionKey in your code when you are deploying your application and using a deployment license. When you install a development license on your machine, it is placed into the registry at the following path: "HKEY_LOCAL_MACHINE\SOFTWARE\Accusoft\Licensing\Accusoft". When you call SetSolutionName in your code, you are telling the control to look for a license at a different path: HKEY_LOCAL_MACHINE\SOFTWARE\Accusoft\Licensing\YourSolutionName. If you are calling SetSolutionName and SetSolutionKey while trying to use a development license, simply comment out those lines for now.
4. The license information you've entered might be wrong. Check on the customer portal to make sure you've got the values parameters for the SetSolutionKey and SetSolutionName correct.
This error happens if a particular deployment machine doesn't have the COMDLG32.OCX file registered. To fix this: 1.   Install the comdlg.ocx dependency, if not available on the target machine. If the comdlg.ocx is not present on the system than it will need to be obtained from a system that has it (it should be available on your development machine in the directory mentioned in step 2). 2.   Place the file in the C:\Windows\System32 folder. (C:\Windows\SysWOW64 on a 64 bit machine) 3.   Register the DLL via the regsvr32.exe command. 4.   You should see a successful message and then be able to proceed with the licensing installation.

#### Barcode Xpress Mobile

If you see a build error with the Barcode Xpress Demo like this: ld: warning: directory not found for option '-L/Users/username/Documents/Xcode/bxtest/BXDemo/../BarcodeXpressIOS/build/Debug-iphoneos' Go to Xcode>Preferences>Locations>Advanced and select Legacy. Then rebuild BarcodeXpressIOS, and you should be able to successfully build the Barcode Xpress Mobile Demo.
On Windows:
• Open Windows Explorer and type ftp://ftp.jpg.com/ into the Navigation Bar.
• Right Click inside Windows Explorer to bring up the standard context menu.
• Find "Login As" and click it to login to FTP Server.
• Provide the user name: support and the password: 853ae90f
For any other operating system, use an FTP client, such as FileZilla, using the above FTP and login information. Once you've successfully logged in, you can drop your files into the folder.
There is no definitive answer to BarcodeXpress's varied performance because it must use heuristic matching methods which do not always give the same results on all barcodes. Here are some tips to solve some common cases.
• Try image cleanup methods BarcodeXpress typically comes with ImagXpress. ImagXpress provides a suite of cleanup functions such as deskew, binarize, and line removal. Noise in an image is the most common reason of missed detection.
• Try changing the ScanDistance Property ScanDistance is a property of the BarcodeXpress Reader. Lowering the value may assist matching by applying looser recognition techniques. However, this may introduce false-positives.
• Isolate the barcode If your barcode can still not be recognized, try to crop out the barcode and recognize it separately

#### Cram

Each time you compress images, a convenient pop-up menu gives you the option to share them via email and other social media apps directly from Cram.
Each time you compress images, a convenient pop-up menu gives you the option to share them via email and other social media apps directly from Cram.
Android Kit-Kat prevented 3rd party apps, such as Cram, from writing to the SD card. With the release of Lollipop, apps such as Cram can now write to the SD card. If you have auto-delete mode enabled, and have chosen to compress images on the SD card, the compressed images will be stored on your SD card, replacing the original images. However, to write to the SD card, you first need to give permission to Cram as follows: Please note, these instructions may not apply if your mobile device is rooted. 1. When setting the option to compress images on the SD card, a Cram dialog appears, describing the steps to take. 2. Next, an Android dialog appears that allows you to grant access to the SD card. You must choose the top-level SD card. · On some devices, the SD card may not be initially visible. To make the SD card visible, tap the Action Overflow Menu icon and then select the option to show the SD card. The SD card should then become visible in the list of available folders. You may need to navigate up to the top level of the device's directory structure to see the top-level SD card. · On some devices, the SD card is not clearly labeled as "SD Card". It may be labeled with some combination of digits. However, it should be distinguishable from the top-level directory that refers to internal storage. 3. Tap the top-level SD card, then at the bottom of the screen tap "SELECT". This button will also usually contain the name of the SD Card next to the word "SELECT". 4. At this point, you are done and shouldn’t have to go through this process again. If you selected a folder other than the top-level SD card, Cram will display a dialog indicating this and prompting you to try again.
Since Cram compresses images by 60 percent or more, you can expect to be able to store as much as 3 times as many photos on your device and cloud services.
$path = “c:\Prizm\Logs” #Change this to the correct directory if needed Get-ChildItem -Path$path -Recurse -Force | Where-Object { !$_.PSIsContainer -and$_.CreationTime -lt $limit } | Remove-Item -Force  You can change the log file location and maximum age of logs to be keep. This can be scheduled to run hourly or daily using Windows Task Scheduler. In the Central Configuration File (/usr/share/prizm/prizm-service-config.yml in Linux and C:\prizm\prizm-service-config.yml in Windows) you can change the logging.daysToKeep value. This is the documentation on the Central Configuration File. When upgrading from an older version of PrizmDoc to a newer version, it is best practice to backup all configuration files, including: • Central configuration: ..\prizm-services-config.yml • PAS configuration: ..\pas\pcc.win.yml • PCCIS configuration: ..\PCCIS\ServiceHost\pcc.config • Individual service configurations: ..\conf\*.config This should be done because when the PrizmDoc installer is run, it replaces all configuration files with new ones (resetting them to their default configuration). Once these files are backed up and stored outside of the Prizm folder, it is safe to run your new PrizmDoc installer. Happy upgrading! The Tagged Image File Format (TIFF) is widely popular, and is particularly used in document imaging. It can support a number of compression types: • Packbits - Created by Apple, this lossless compression type is used for run-length encoding (RLE). Baseline TIFF readers must support this compression. Use this compression for higher compatibility with various applications. • CCITT (Huffman encoding) - Used particularly for encoding bitonal (or bi-level) images. "Group 3" and "Group 4" are particularly known for its use with fax transmission of images. Using this compression type will help keep smaller file sizes. • LZW - A lossless compression type that supports multiple bit depths. Because it's lossless, it produces files that are generally larger than other compressions. Use this compression if you want to retain the exact visual quality of the image without data loss or artifacts. • JPEG - Very popular compression, used for color and grayscale images and can produce high compression ratios. JPEG allows a good amount of control over how the image in question should be compressed. Use this compression for general color or grayscale images. • Deflate - A lossless compression using Huffman and LZ77 techniques and also supports different bit depths. Full viewer sample on Windows: http://localhost:18000/PrizmDoc_HTML5_Viewer_NET_WEBFORMS/ E-signature sample on Windows: http://localhost:18000/PrizmDoc_HTML5_Viewer_NET_WEBFORMS/e-signature-splash/ Server Health page: http://localhost:18681/admin (single server) http://localhost:18682/admin (multiple or clustered servers) Conversion demo: http://localhost:18001/ Cloud (Accusoft) Hosted Test page (displays "OK" if localhost is connected to server): http://localhost:3000/servicesConnection Here is a list of supported browsers. Note: Support for Internet Explorer versions 8, 9, and 10 have been deprecated with the release of PrizmDoc v11. Support for versions 8, 9 and 10 of Internet Explorer will be discontinued altogether with the release of PrizmDoc v12. Microsoft has already ended support for versions 8, 9, and 10 of Internet Explorer. This FAQ will detail troubleshooting steps if PAS will not start on a system. If you are unable to install PrizmDoc Client because PAS will not start, and thus do not have access to PAS, contact support for a PAS install. • Run PAS manually as a Node app Doing so can print errors to the console that are normally not reported. It can also bypass any possible restrictions on system services that may cause issues. cd Prizm/pas node app.js  • Note your machine's logical cores On a machine with many cores (8+), PAS may take a while to start. PAS may not start if startup takes more than 12 seconds. Because PAS does not require heavy processing, use less cores (1, 2) by changing the instances entry in the pas/pm2/production.json file. • Ensure the user running the PAS service is an administrator Prizm Application Services requires that the user be an administrator. • Windows: try creating a serice for PAS manually Creating a service can help rule out any issues in the pre-installed service. cmd /c %SystemRoot%\System32\sc.exe create "Prizm Application Services (PAS)" binpath=C:\Prizm\pas\PrizmApplicationServices.exe start=auto PrizmDoc detects most of the formats automatically, except the formats with poor signature or no signature at all. Such formats are detected by the file extension. PrizmDoc Documentation: http://help.accusoft.com/PrizmDoc/v11.2/HTML/webframe.html#supported-file-formats.html PrizmDoc Tech Specs: https://www.accusoft.com/products/prizmdoc/tech-specs/ Currently Windows Metafile and Enhanced Metafile formats are only supported by PrizmDoc Server running on Windows platforms. These formats are not supported on Linux platforms. Dr. Halo (CUT) format cannot be reliably auto-detected due to its poor file signature, therefore it is identified by file extension. Currently PrizmDoc does not support conversion of CAL/CALS, CUR, DCX, IMG, PCT/PIC/PICT, PSD/PSB, RAS, TGA/TPIC and XWD formats to SVG. When installing IIS and .NET 4.0 features as a requirement for installing PCC/PrizmDoc, please make sure that all required roles/features have been installed via Windows Features or Server Manager. There are several required features that are not installed by default when selecting to install the IIS features or Web Server role on a Windows Operating System Those required features are typically found in the following directories in the Windows Features/Add Roles and Features Wizard menu: (Windows Desktop Operating Systems)Internet Information Services > World Wide Web Services > Application Development Features • Make sure to check the following boxes • .NET Extensibility 4.5 • ASP.NET 4.5 (Windows Server Operating Systems) Web Server(IIS) > Web Server > Application Development Features • Make sure to check the following boxes • .NET Extensibility 4.5 • ASP.NET 4.5 Pre-conversion was introduced to PrizmDoc in version 11.2 and gives developers the ability to create a cached version of a document known as a Viewing Package. Viewing Packages serve to significantly reduce the load on PrizmDoc Servers and client load times. This allows you to serve more users per minute than you would otherwise be able to. ### Additional Considerations for Using Pre-Conversion Pre-conversion is a PAS service and requires some additional considerations when setting up your PAS instances. First, PAS will need access to a database in order to store information about pre-converted documents. If you are running multiple instances of PAS, you must use a shared database and a NAS (Network Attached Storage) so that each instance of PAS can access the same information and files. The documentation contains more detailed information on how to set up your database and configuring viewing package settings. ### Using Pre-Conversion There are two methods for creating viewing packages: Once a Viewing Packages has been created, using it to create a viewing session is very simple. You will create a viewing session like you normally do, but now set the "source.type" property to "viewingPackage" and the "source.documentId" property to the document id set when creating the viewing package.(EXAMPLE) ### Examples #### Using Viewing Package Creators API To create a viewing package using the Viewing Package Creators API, your request body should look like: NOTE: documentId must be a unique value. Using a document id that has been used before will result in a 580 response. POST /v2/viewingPackageCreators Content-Type: application/json { "input": { "source": { "type": "document", "fileName": "sample.doc", "documentId": "unT67Fxekm8lk1p0kPnyg8", . . . }, "viewingPackageLifetime": 2592000 } } #### Using On-Demand Caching API To create a viewing package using on-demand caching, your request body should look like: NOTE: If documentId exists, that viewing package will be used as the source for the viewing session. Otherwise, a new viewing package will be created with that document id. POST /ViewingSession Content-Type: application/json { "source": { "documentId": "unT67Fxekm8lk1p0kPnyg8", "type": "document", "fileName": "PdfDemoSample.pdf" } } #### Using an Existing Viewing Package To use an existing viewing package, your request body should look like: NOTE: documentId must match an existing viewing package document id  POST /ViewingSession Content-Type: application/json { "source": { "documentId": "unT67Fxekm8lk1p0kPnyg8", "type": "viewingPackage" } } See our official documentation on this subject! For the Self-Hosted option, you'll have to download the 500MB+ PrizmDoc Server and install that on your machine(s). This will install all the necessary services required for PrizmDoc to run. Running those services on your machine can use a lot of resources. So, it will be your responsibility to maintain the machine(s) running PrizmDoc Server. Also, you'll want to take a look at our Server Sizing Guide to make sure your machine(s) meet the requirements to run PrizmDoc effectively. For the Accusoft-Hosted option, we take care of all of the above for you. We install PrizmDoc on our servers and allow you to send requests to those servers in order to view and convert documents. Also, for the Accusoft-Hosted option, you'll have to create an account on our cloud portal in order to obtain the API-key needed to use the Accusoft-Hosted option. In order for the PrizmDoc viewer to fetch content from the PrizmDoc Backend Server (e.g. ImageData, Thumbnails, Imagestamps etc.), it must have a mechanism to forward/receive http requests between these two endpoints. Fortunately, the addition of PAS into the PrizmDoc architecture greatly simplifies this process. The imageHandlerURL property that you set when initializing the viewer allows you to specify an address on your web server that will then handle the routing of these requests to PAS in order to have these requests routed to the backend. Basically, The imagehandlerURL is the address on your webserver that the Viewing Client will forward requests to which will then contain logic to route requests to PAS. This avoids any possible CORS issues and guarantees that the ViewingClient is secure. For example, in our documentation here: How to configure PrizmDoc Application Services in your Server's Entry Point We provide instructions on how to set-up a reverse proxy on your webserver to route these requests to your PAS instance. However, you are free to write custom logic to proxy requests to and from your front-end to PAS. For example, you could write a route using Express.js in Node.js that was located at http://localhost/pas-service that then contained the following proxy logic:  pasRouter.use(function(req, res) { var url = config.pas.baseURL + req.url; req.pipe(request(url)).pipe(res); });  You would then set your imageHandlerURL property to 'http://localhost/pas-service' The operating systems listed below have been tested with Prizm Content Connect/PrizmDoc and are officially supported. If your requirements call for an environment that is not listed below please contact us. Prizm Content Connect/PrizmDoc is extremely flexible and support platforms can be expanded: Linux Windows CentOS 5.9+, 6.4+ (x64 64-bit) Windows Server 2008 R2 (64-bit) Debian 7.1 (Wheezy) (64-bit) Windows Server 2012 Red Hat Enterprise Linux 5.9, 6.4+ (64-bit) (version 7 is not supported) Windows Server 2012 R2 Ubuntu 12.04 LTS, 13.04, 14.04 LTS (64-bit) Windows 7 (64-bit) Windows 8 (64-bit) Windows 10 Pro & Enterprise 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. PrizmDoc is just the rebranding of Prizm Content Connect starting in version 11. They are the same product. In Linux the logs are found in: /usr/share/prizm/logs/ In Windows the logs are found in: C:\Prizm\logs\ and %ALLUSERSPROFILE%\Accusoft\Prizm\Logs\ If you need to send these logs to Accusoft Support create one or more zip files containing everything in these directories. Please refer to our help documents. The issue here is most likely due to a UrlScan rule applied by default on all IIS new sites. This can typically occur when creating IIS Sites in a Corporate domain with strict security policies Ensure that URLScan rules are not applied to the PCCIS site as this will by default BLOCK ALL REQUESTS to PCCIS To turn of the UrlScan filter you will first need to select the site on the left “Connections” pane. Then navigate to the ISAPI Filters view under the IIS section of Prizm Content Connect Imaging Services Home. On the ISAPI Filters view you will need to right-click the UrlScan rule and select Remove. When using the render.html5.alwaysUseRaster viewing session property to render a raster viewing session you will have to make sure the value is allowed in your central configuration file. You will want to edit the following parameters array to allow only true, only false, or both: • viewing.sessionConstraints.render.alwaysUseRaster.allowedValues : [true, false] Note that after changing the values it is necessary to restart the Prizm services. This error is usually caused because the viewer is not launched with a document, or running the samples in Visual Studio. To view the samples, navigate to the Sample splash page and upload a document. Otherwise, navigate to the viewer's url and either add ?document=[filename] or ?viewingSessionId=[id] to initiate a document view, or add a static document name to the default.aspx file. The issue here is most likely due to the DPI values for the images. We use this value and expect it to be accurate. The images in question may have a very low value(i.e. 1 DPI), which is clearly a value that will cause problems. At 1dpi, an image that is 1200 pixels will be 100 feet wide in physical size. This results in the image being at 0.5% scale factor when at full width on my 24 inch monitor. The end result of this is that the zoom percentage values get entirely out of the reasonably expected boundaries, making it difficult to manage them in the viewer. As a reference, the documents in the Prizm Content Connect/PrizmDoc Sample Viewer splash page are all 96 x 96 DPI. The only real solution to this issue is to use images that have "correct" resolution information. The current PHP Sample code deployed with Prizm Content Connect/PrizmDoc depends upon syntax only present in PHP version 5.4 and above. Due to security limitations, browsers prevent the PrizmDoc viewer object from accessing the page size of the printer in the system settings. Printed output defaults to a letter-sized page. Selecting other sizes from within the viewer may cause clipping, content spilling over to other pages, or some blank pages in the course of the print. The current resolution for this is to manually set the target page size in the system print settings first. Then, select the same page size when going to print in PrizmDoc. If the issue persists after verifying that the username and password you are entering are correct, then please see below: The problem is caused by missing registry entries in HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows NT\CurrentVersion, specifically: RegisteredOwner and RegisteredOrganization To resolve this issue run the Registry Editor by pressing Windows R and typing regedit.exe. Browse to the location: HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows NT\CurrentVersion Just right click on the CurrentVersion in the Registry Editor and select New > String Value. After you add each entry ( RegisteredOwner and RegisteredOrganization ). It is not necessary to specify values but you can use your username and company name respectively. Make sure to restart the machine after making registry changes. This has been identified as a limitation within our Office rendering engine related to the following properties of check boxes: ffdefresN - Default item for list field (for example 0 = first list item, 1 = second list item). ffresN - Result item for list field. Values from 0 to n - 1, where n is the number of <ffl> entries. We now have a hotfix available to resolve this issue at the following links: If you're noticing that certain characters are being replaced by boxes when a document is being viewed or converted with PrizmDoc, it's likely that you just need to install the proper fonts on the PrizmDoc server. In most cases, this will be as simple as double-clicking the font file and selecting Install. For Debian (Ubuntu) Linux distributions you can do this using: apt-get install To see a list of available fonts, use the following command: apt-cache search font For Red Hat, Fedora, CentOS, and Older Linux distributions you can do this using: yum install To see a list of available fonts, use the following command: yum search fonts Note: Please ensure that you abide by the licensing agreement of any given font that you plan to use as it applies to your country and use case. This might be because the documents are timing out. You can avoid this by adjusting the timeout values in the pcc.config file, or by upgrading your machine's hardware. For suggested server specifications, see our server sizing guide: • For PrizmDoc. • For PCC 10.5 and below. • To change the timeout values in the pcc.config file, follow these steps: • 1. Open the pcc.config file found at C:\Prizm\PCCIS\ServiceHost\ on Windows and usr/share/prizm/pccis/ServiceHost/ on Linux. • 2. At the bottom of pcc.config you will find the timeout values, increase them as needed • 3. Restart the "Prizm" and "Prizm Application Services" services. • Many people use Nginx as a proxy in front of PrizmDoc as a way to implement SSLor TLS. The default size limit on POST request in Nginx is 1 megabyte (MB). This should be changed to a much higher value such as 100 MB. To do this you should edit your nginx.conf file to change the line reading client_max_body_size 1M; to something more like client_max_body_size 100M;. Increasing the value of viewing.cachelifetime can be a great way to increase performance, by making previously converted content available for viewing longer. However, it is important to understand that this value is not an expiration date. Rather, this value sets the minimum amount of time that the files will remain in the cache and be available for viewing. When a file exceeds the cache lifetime, any one of the following behaviors may be observed: 1. The entire cache entry may be removed 2. The entry may be only partially removed, leaving some folders and reference files behind 3. The entire entry may be left in the cache for an indefinite period of time Thus, it is possible to see items remain in the cache well beyond their expected lifetime. Also note, the WorkfileCache exhibits a similar behavior when it exceeds the workFiles.lifetime. If you need to set an upper-bounds on the length of time a file remains in the cache, we recommend using a script similar to the one below, and scheduling it to run at some regular interval. $folders = @(
"C:\AccusoftCache\ContentConversionCache",
"C:\AccusoftCache\GroupState",
"C:\AccusoftCache\RedactionCache",
"C:\AccusoftCache\TempCache",
"C:\AccusoftCache\WorkfileCache"
);
foreach($folder in$folders)
{
Get-ChildItem $folder | Where{$_.LastWriteTime -lt (Get-Date).AddDays(-4)} | Remove-Item
}
**Please note, this script is intended to be used as a guide when creating your own script, and is for illustration purposes only.

In the most up-to-date versions of PrizmDoc the client installer and the server installer were split into two. The PrizmDoc samples are included with the client installer. So if these are missing, run the client installer to get them.

Links to the most up-to-date installer can be found here.

Windows:

C:\Prizm\Samples Linux: /usr/share/prizm/samples
This is likely due to the document not being searchable. If a document does not have searchable text, you will not be able to highlight and/or select text on the document using the PrizmDoc Viewer. In order to make the text of your document searchable, the document will likely need to be run through an OCR process first.
A common reason for this error is that the Prizm Application Services (PAS) application that the new PCC 10.5/PrizmDoc Samples rely on has not been started. In order to ensure that PAS is running: For Linux: Please navigate to usr/share/prizm/pas/pm2 and run the "./pas.sh start" script in order to start PAS. For Windows: Please open your Services manager, look for the Prizm Application Service, and ensure that it is running.
If your PrizmDoc license has the feature "Microsoft Office Native Rendering (MSO)" you are required to: 1. Install Microsoft Office 2. Then license Microsoft Office 3. Run Office once. These above steps must be done before installing PrizmDoc. If you don’t want to install Microsoft Office the correct thing to do is get a non MSO license. This will cause PrizmDoc to use LibreOffice for the rendering of documents as opposed to Microsoft Office. Sales@Accusoft.com or Support@accusoft.com will both be able to help you determine which license you have and get you the license you need. These links may further guide your progress: Installing PrizmDoc on Windows PrizmDoc Windows Installation Requirments PrizmDoc Installing Self-hosted
###### NOTE: This FAQ only applies to PrizmDoc (PCC) servers that are less than or equal to version 11.X
If your PrizmDoc (PCC) server seems to go unhealthy at random intervals with standard usage and load, you may be suffering from a known bug in the proxy server. This bug causes the proxy server to enter a restart loop, which requires the services to be manually restarted. PrizmDoc version 12.X is immune to this bug because the proxy server has been completely removed from it. If you're using the newest version of PrizmDoc, this does not affect you. If, however, you're not using the newest version of PrizmDoc, here is how you can self-diagnose the proxy server restart loop bug:
• Navigate to the Prizm logs directory, which can be found at "C:\Prizm\logs" on Windows and "/usr/share/prizm/logs" on Linux.
• Search the contents of the "OfficeCoverterX" directories for the following:
[ info ] [0] [http-server] binding to: socket,host=localhost,port=18680
[ FATAL ] [0] unknown exception
[ FATAL ] [0] java.net.BindException: Address already in use: JVM_Bind
• If your system is suffering from this bug, you will see this phrase repeated many times throughout the log.
The fonts that the original document uses would need to be installed on the system that is handling the Prizm Services. If that font is not available, then the system (sometimes a browser or the conversion service) determines which font to use. If you want to load Microsoft fonts in PCC/PrizmDoc Linux (the most common instance of this):
1. Find the name of the font
3. install via: sudo rpm -Uvh msttcorefonts-1.2-2.src (for the above link)
4. verify the font has been loaded via:  fc-list | grep "Courier New" (for example, for the Courier New font)
5. Reload the document in PCC/PrizmDoc
If the print dialog endlessly says "preparing  page" as shown in the above image, then this is likely do to the fact that your applications directory structure is different than that of our PCC Sample Application. In the PrintTemplate.html in the templates folder, you will find a hardcoded src paths for the viewercontrol.js file and some other css files:
<link rel="stylesheet" href="viewer-assets/css/fonts.css">

<script src="viewer-assets/js/viewercontrol.js"></script>

The static viewer (available via http://localhost:18681/PCCIS/V1/Static/Viewer/Test by default) is useful when troubleshooting issues with PrizmDoc and allows a user to bypass PAS and create a viewing session by making requests directly to the PrizmDoc backend server. If you found this FAQ, you may be seeing the following message when loading a document into the static viewer:
Cannot GET /PCCIS/V1/Static/Viewer?ViewingSessionId={viewingSessionId}
This will occur when attempting to use the static viewer when only the PrizmDoc server is installed. You can resolve this issue by also installing the PrizmDoc client.

This is a  confirmed the issue with the PCC v10.5 Email Conversion Service. We have a hotfix currently available for download at the following links:

The issue is caused by absence of libopenjpeg.so.2 and libpng12.so.0 libraries on CentOS 7. For some reason, CentOS 7 uses libopenjpeg.so.1 while CentOS 6 used libopenjpeg.so.2. Note that despite the .so version number, CentOS 7 does use the newer version of library: libopenjpeg.so.2 / CentOS 6 corresponds to libopenjpeg version 1.3, and libopenjpeg.so.1 / CentOS 7 corresponds to libopenjpeg version 1.5. To workaround this problem you will need to enter the following into the command line:
• Become root:
 su
• Install libpng12 using command:
 sudo yum install libpng12
• Install openjpeg libs:
 sudo yum install openjpeg-libs
• Make symlink libopenjpeg.so.2 pointing to libopenjpeg.so.1:
 sudo ln -s libopenjpeg.so.1 /lib64/libopenjpeg.so.2
 sudo /usr/share/prizm/scripts/pccis.sh restart
The list below outlines all the currently known installation issues with which can occur when installing PrizmDoc Server or PrizmDoc Client. Also provided are workarounds for each potential problem.
• Attempting to install in the Program Files folder. Retry installation using default path C:\PRIZM.
• Check your PATH= environment variable and ensure it does not start with a semicolon. If it does, remove the semicolon.
• If you had a previous version of PrizmDoc installed, ensure to delete the Prizm folder and the ProgramData\Accusoft folder. Also install CCleaner and remove all registry keys which reference Prizm. Then reboot the machine before attempting a re-install.
• Attempting to install PrizmDoc Client and it rolls back. Retry installation but uncheck Sample Documents and Code
• This issue may be due to an antivirus program running on the machine you are attempting to install. We have typically seen this while using Avast and Comodo. Retry installation after temporarily disabling the realtime scanning on the antivirus software
Starting at PCC for SharePoint v2, the new WOPI architecture will make the viewer active for all sites under the site collection in a farm. This is a change from the older plug-in which permitted enabling the viewer per site.
If your original document contains highlighted text like this: but displays the highlighted text in the PrizmDoc viewer like this: you are not alone. We've noticed this behavior in Chrome, Firefox, IE, and Opera.

Unfortunately, this inconsistency is caused by the limitations of these web browsers. The PrizmDoc SVG converter makes use of the comp-op="multiply" attribute to allow the clip-path to work as a highlighter. However, current web browsers do not support this attribute yet. That being said, this is a very anticipated feature, so most popular browsers may implement support for it very soon.

In the meantime there are two potential workarounds:
1. Remove the highlighter marks before the document is converted to SVG by PrizmDoc. Then, add the highlighter in PrizmDoc.
2. Replace the highlighter marks with a semi-transparent filled rectangle effect.
With PCC 10.5 and above you will need to enable content encryption in the prizm-services-config.yml file. Add the following lines to the prizm-services-config.yml file: viewing.contentEncryption.enabled: true viewing.sessionConstraints.pageContentEncryption.allowedValues: ["enabled","disabled","default"] Next, save the file and restart the Prizm services.

PCC uses libreoffice under the hood. In the 10.5.1 hotfix we fixed a number of rendering issues:

1. Missing and incorrect rendering of EMF+ Visio Drawing content embedded in DOCX files.
2. Incorrect rendering of DOC files containing shapes with text that have a flag indicating a horizontal alignment relatively to the border of page.
3. Incorrect rendering of DOC files containing nested tables, when a single nested table is expected to split across multiple pages.
4. Incorrect rendering of DOCX files containing tables in the header where the engine only rendered those rows that fit in the header, leaving out all other rows.
5. Incorrect rendering of XLS files where the calculation of cell text width caused PCC Office rendering engine to incorrectly set  "###" when rendering for the view.
6. Incorrect rendering where text located in a table within a Word document when the first row of the first table has hidden mark and merge attributes.
Form Field Detector will work with two types of documents, PDF and Raster Images. However, these Image Types must both have Form Fields embedded in them for the Form Field Detector to recognize the fields and setup the template automatically.   If your PDF isn’t being recognized by the Form Field Detector, this is most likely because the PDF isn’t an AcroForm PDF, and thus doesn’t have any Form Fields embedded in the image.   To get the Form Field Detector to recognize the PDF, convert it to a raster image first using the built-in conversion tool supplied by PrizmDoc:
http://localhost:18001/
Ensure PrizmDoc and all it’s services are running.   This will allow you convert the PDF to a TIF file that will then be recognized by the Form Field Detector.
1. On a Fresh Window Installation
1. Get PrizmDoc Dependencies + IIS Dependencies
• .NET Extensibility 4.*
• ASP.NET 4.*
• IIS Management Console
1. Install PrizmDoc Server & Client
1. Check Prizm Services Status
1. Verify Samples are Running
1. Configure Reverse Proxy in IIS According to our Documentation (http://help.accusoft.com/PrizmDoc/v12.1/HTML/webframe.html#configure-web-server-proxy.html)
• Install URL Rewrite 2.0 and Application Request Routing 3.0
• Create C:\Prizm\Samples\dotnet\mvc\pas-service
• Add URL Rewrite Rule for pas-service\
• Modify sampleConfig variable in C:\Prizm\Samples\dotnet\mvc\Views\FullViewer to imageHandlerUrl: "pas-service"
1. Navigate to http://localhost:18000/PrizmDoc_HTML5_Viewer_NET_MVC to test.
1. On a Fresh Window Installation
1. Get PrizmDoc Dependencies + IIS Dependencies
• .NET Extensibility 4.*
• ASP.NET 4.*
• IIS Management Console
• Windows Authentication
1. Install PrizmDoc Server & Client
1. Check Prizm Services Status
1. Verify Samples are Running
1. Configure Windows Authentication
• Disable Anonymous Authentication at the top-most level
• Enable Windows Authentication and Move NTLM to the top of the Providers list
• If Negotiate still inexplicably takes precedence
• Remove Negotiate from the Providers list
• Verify NTLM is the Authorization Scheme
1. Navigate to http://localhost:18000/PrizmDoc_HTML5_Viewer_NET_MVC to test.

#### PrizmDoc for Sharepoint

Currently, the MarkupBurner API only supports burning annotations into PDF. As a result any input file into the MarkupBurner will produce a PDF, regardless of the input file type. As a workaround for this, we suggest that you use a two step process whereby you will first send the document through the markup burning process, then send the resulting PDF to the Content Conversion Service to be converted the desired file type. Typically, the easiest place to implement this is on your webtier and avoids any of the CORS conflicts that would arise if you attempted to do this through the Viewing Client. Finally, this approach does have some restrictions. Currently, the Content Conversion Service only supports conversion of documents to the following formats: TIFF, PDF, SVG, PNG, and JPEG.
PrizmDoc utilizes LibreOffice for the rendering of MS Office document files. If you are noticing a document render poorly in PrizmDoc, you can try running one of the LibreOffice components to see if the rendering issue is occurring here as well. The included components are stored in the following location:
     [PRIZMDOC INSTALL LOCATION]\libreoffice\program
The components themselves are as follows:
* swriter.exe - For word processing, text files * scalc.exe - For spreadsheets * sdraw.exe - For layout documents * simpress.exe - For presentation documents
If you are noticing that the document is rendering exactly the same, you can mention this when you contact Support. If you are seeing the document render correctly when loading into LibreOffice, however, then describe this as well. This will help isolate the area of focus if the issue needs to be reviewed by Product Engineering.
Currently, annotations are not supported in PrizmDoc Sharepoint. Annotation support is currently being investigated to be added to a future release.

PrizmDoc detects most of the formats automatically, except the formats with poor signature or no signature at all. Such formats are detected by the file extension.

PrizmDoc Documentation: http://help.accusoft.com/PrizmDoc/v11.2/HTML/webframe.html#supported-file-formats.html PrizmDoc Tech Specs: https://www.accusoft.com/products/prizmdoc/tech-specs/

Currently Windows Metafile and Enhanced Metafile formats are only supported by PrizmDoc Server running on Windows platforms.

These formats are not supported on Linux platforms. Dr. Halo (CUT) format cannot be reliably auto-detected due to its poor file signature, therefore it is identified by file extension.

Currently PrizmDoc does not support conversion of CAL/CALS, CUR, DCX, IMG, PCT/PIC/PICT, PSD/PSB, RAS, TGA/TPIC and XWD formats to SVG.

Starting at PCC for SharePoint v2, the new WOPI architecture will make the viewer active for all sites under the site collection in a farm. This is a change from the older plug-in which permitted enabling the viewer per site.

#### ScanFix Xpress

No, although if you run an Accusoft licensing utility (as opposed to an OEM key) that will communicate with the Accusoft servers to place a license on your machine. That's it. When you run your code, network access to Accusoft servers is not necessary.
For information on passing image data between different Accusoft components, refer to the ‘Pass Image Data Between Different Accusoft Components’ page in the ‘How To’ section of the User Guide.
On Windows:
• Open Windows Explorer and type ftp://ftp.jpg.com/ into the Navigation Bar.
• Right Click inside Windows Explorer to bring up the standard context menu.
• Find "Login As" and click it to login to FTP Server.
• Provide the user name: support and the password: 853ae90f
For any other operating system, use an FTP client, such as FileZilla, using the above FTP and login information. Once you've successfully logged in, you can drop your files into the folder.
Since overall, each scenario is different due to the different types of forms being used, here are some guidelines to help achieve the best results: For FormFix
• Your form templates should only have images of blank, unfilled forms. Ideally, you do not want to use an image from a filled-in form, or a form with data that is unique to other images you expect to match with it. FormFix will examine each pixel in the template when processing against an incoming image to determine a match. If there is unique data on the template that doesn't appear on the incoming image, FormFix could reject the incoming image, determining it not to be a match to the template.
• Always use the same DPI for your templates and incoming, filled-in images when processing forms.
• The IdentificationQuality parameter tells FormFix how much effort to put into recognizing detail in the image. Higher settings will have it pay more attention to detail, but is slower. And, lower settings are more lenient, but can lead to false-positives.
• When defining fields for OMR, FormFix will be looking for the actual bubbles or checkboxes to exist in the field.
For SmartZone
• SmartZone processes binary, 1-bit images. So, if you have color images, you'll want to binarize them in such a way that favors good quality of the text characters that appear on the image.
• Acquiring images at higher DPI resolutions (300 or above) will allow the text objects to be represented by more pixels This is particularly useful for smaller text that's on the image.
For ScanFix
• Sometimes removing lines on the entire form after identification can help accommodate better OCR & ICR detection.
• While AutoBinarize works well in general cases, sometimes using the Binarize method and manually setting parameters can provide a better tweak.
• If your documents have disturbing amounts of background noise that's showing after binarizing, try using Image Detergent before performing the binarize.

1) If you are using the ActiveX interface please distribute the following DLL:

Accusoft.ScanFixXpress6.ActiveX.dll
Please Note: You must register the Accusoft.PdfXpress4.ActiveX.dll either via your installation program or manually via the regsvr32.exe utility. If you are using the .NET interface please distribute the following DLL:
Accusoft.ScanFixXpress6.Net.dll - ScanFix .NET Windows Forms Control.

To find your license for any of our SDK products (on Windows), navigate to the Registry Editor. You can reach this by visiting the Start Search bar and typing “regedit”. From there, navigate to: HKEY_LOCAL_MACHINE -> SOFTWARE -> ACCUSOFT -> Licensing -> Accusoft   You will see several keys that look something like this: 5-43-22 If you double click on these values, you will get a dialog box with the Value Data already selected for you. This data is useful for Support Engineers when diagnosing SDK Licensing Issues.   Each license stored in the registry is located in a key with a unique name. The name identifies key attributes of the license (Product, Version, Features) in the format ***-***-***. The first number specifies the product, the second number specifies the platform, and the third specifies the version.   Below is a breakdown of each Product, and its corresponding product ID: 1 – IMAGE_GEAR 2 – VISIQUEST 3 – IMAGE_GEAR_DOT_NET 4 – NETVUE 5 – IMAGE_GET_DOT_NET_MFA 6 – BARCODEXPRESS 7 – IMAGXPRESS 8 – TWAINPRO 9 – PRINTPRO 10 – THUMBNAILXPRESS 11 – NOTATEXPRESS 12 – PDFXPRESS 13 – OCRXPRESS 14 – MICRXPRESS 15 – SMARTZONE_ICR 16 – FORMFIX 17 – SCANFIX 18 – ISISXPRESS 21 – IMAGE_GEAR_JAVA 22 – FORMDIRECTOR 23 – SMARTZONE_OCR   So, using the same example as above, 5-43-22: 5 corresponds to ImageGear.NET , 43 is what type of Platform you’re on (Win32, Win64, Linux, etc.). 43 specifies that this license is for any CPU. 22 is what version of the product the license is for. In this case, it’s ImageGear.NET v22.
One possibility is that you have strict firewall settings that are preventing our License Manager from connecting with licensing.accusoft.com, our licensing server. In order to connect with licensing.accusoft.com, you'll have to make an exception in your firewall for our License Manager so that it can connect to licensing.accusoft.com on port 80 for http and port 443 for https.
If you are receiving a "80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))." error while trying to use the LDK on a website created through IIS, it is likely because of a platform conflict (x32 vs x64). To fix it, try checking (or unchecking) "Enable 32-Bit Applications" for the App Pool associated with the website.
There are a few reasons why this might happen:
1. You have licensed your machine with a runtime/deployment license and you are not calling the SetSolutionName and SetSolutionKey methods in your code. By default, Accusoft products will look for a license in the registry at this path: HKEY_LOCAL_MACHINE\SOFTWARE\Accusoft\Licensing\Accusoft. However, for runtime licenses, they are stored at HKEY_LOCAL_MACHINE\SOFTWARE\Accusoft\Licensing\YourSolutionName. So, when you call SetSolutionName, that tells your application to look in the correct directory to find the runtime license. You can find the necessary parameters for these methods on the customer portal customer portal.
2.  You did not successfully install a license on your machine and the temporary license installed has expired. If you use the SLU (Server License Utility) or the LDK (License Deployment Kit) to license your machine and it fails, a temporary 14 day license will be placed on your machine. When that expires, you'll no longer be able to use the product. If this happens, you'll need to run the SLU or try using the LDK again. If that doesn't work, you might want to try licensing your machine in offline mode.
3.  You are trying to use a development license and you are calling SetSolutionName and SetSolutionKey in your code. You should only call SetSolutionName and SetSolutionKey in your code when you are deploying your application and using a deployment license. When you install a development license on your machine, it is placed into the registry at the following path: "HKEY_LOCAL_MACHINE\SOFTWARE\Accusoft\Licensing\Accusoft". When you call SetSolutionName in your code, you are telling the control to look for a license at a different path: HKEY_LOCAL_MACHINE\SOFTWARE\Accusoft\Licensing\YourSolutionName. If you are calling SetSolutionName and SetSolutionKey while trying to use a development license, simply comment out those lines for now.
4. The license information you've entered might be wrong. Check on the customer portal to make sure you've got the values parameters for the SetSolutionKey and SetSolutionName correct.

#### SmartZone

No, although if you run an Accusoft licensing utility (as opposed to an OEM key) that will communicate with the Accusoft servers to place a license on your machine. That's it. When you run your code, network access to Accusoft servers is not necessary.

Please refer to the specific code samples listed below:

1) If you are using the .NET control the Classifier property is set as follows according to the type of recognition you are performing (MachinePrint or HandPrint).
2) If you are using the ActiveX control the Classifier property is set as follows according to the type of recognition you are performing (MachinePrint or HandPrint).
SmartZone1.Classifier = SZ_ClassifierMachinePrint
SmartZone1.Classifier = SZ_ClassifierHandPrint

Please refer to the specific code samples below:

1) If you are using the .NET control you set the Language property. For example:
2) If you are using the ActiveX control you set the CharacterSetLanguage property. For example:
SmartZone1.CharacterSetLanguage = SZ_WesternEuropeanLanguages
As SmartZone runs, it will create a folder in the %TEMP% directory containing a few files that the engine needs to run. If you want to change this location, you can do that by creating an INI file in the same directory as the executable that runs your application. You must name that INI file smartzoneengineloader.ini. The contents of smartzoneengineloader.ini should look like this:

Please note: You must have received unlock codes in order to distribute applications. These are received when runtimes are purchased. If you have not received them, please contact Sales.

If you have Automatically Reported Runtime (Node-locked) licenses, then you must call the SetSolutionName() and SetSolutionKey() methods at some point before using the control. Example:

SmartZone1.Licensing.SetSolutionName("MyCompanySolutionName");
SmartZone1.Licensing.SetSolutionKey(1234, 1234, 1234, 1234);

In addition to the above, on the runtime machine, you'll also need to run the Server License Utility (SLU) to have a license from your pool placed onto the machine. Please see the page Server License Utility (SLU) in the SmartZone documentation for details.

If you have Manually Reported Runtime (Non node-locked or OEM), you will only need to call the SetSolutionName(), SetSolutionKey(), and SetOEMLicenseKey() functions near the start of your application, supplying the appropriate licensing information. Example:

SmartZone1.Licensing.SetSolutionName("MyCompanySolutionName");
SmartZone1.Licensing.SetSolutionKey(1234, 1234, 1234, 1234);
SmartZone1.Licensing.SetOEMLicenseKey("2.0fjgzpelal...");

On Windows:
• Open Windows Explorer and type ftp://ftp.jpg.com/ into the Navigation Bar.
• Right Click inside Windows Explorer to bring up the standard context menu.
• Find "Login As" and click it to login to FTP Server.
• Provide the user name: support and the password: 853ae90f
For any other operating system, use an FTP client, such as FileZilla, using the above FTP and login information. Once you've successfully logged in, you can drop your files into the folder.
Since overall, each scenario is different due to the different types of forms being used, here are some guidelines to help achieve the best results: For FormFix
• Your form templates should only have images of blank, unfilled forms. Ideally, you do not want to use an image from a filled-in form, or a form with data that is unique to other images you expect to match with it. FormFix will examine each pixel in the template when processing against an incoming image to determine a match. If there is unique data on the template that doesn't appear on the incoming image, FormFix could reject the incoming image, determining it not to be a match to the template.
• Always use the same DPI for your templates and incoming, filled-in images when processing forms.
• The IdentificationQuality parameter tells FormFix how much effort to put into recognizing detail in the image. Higher settings will have it pay more attention to detail, but is slower. And, lower settings are more lenient, but can lead to false-positives.
• When defining fields for OMR, FormFix will be looking for the actual bubbles or checkboxes to exist in the field.
For SmartZone
• SmartZone processes binary, 1-bit images. So, if you have color images, you'll want to binarize them in such a way that favors good quality of the text characters that appear on the image.
• Acquiring images at higher DPI resolutions (300 or above) will allow the text objects to be represented by more pixels This is particularly useful for smaller text that's on the image.
For ScanFix
• Sometimes removing lines on the entire form after identification can help accommodate better OCR & ICR detection.
• While AutoBinarize works well in general cases, sometimes using the Binarize method and manually setting parameters can provide a better tweak.
• If your documents have disturbing amounts of background noise that's showing after binarizing, try using Image Detergent before performing the binarize.
In all cases, you’ll want to have your images as clear and as clean as possible. For any particular procedure, please consider the following: OCR and ICR: Capture images in at least 300 DPI resolution. Ideally, working in black and white will allow the objects of interest on your image to be better defined and recognized. Free the image form all noise as much as possible. As if a human was reading it, you’ll want the text objects on the image to be as legible as possible. For ICR, make sure that the characters are printed (no cursive text, etc). Barcode recognition: As with OCR and ICR, capture images in at least 300 DPI and working with black and white content can provide excellent results. You’ll also want to make sure that the bars in the barcodes are clearly defined on the image and are not mal-formed (for example, the barcodes should have the proper start and stop sequence, etc). As always, clear as much noise from the image as possible. Forms matching and registration: As with the prior 2 items above, capture your documents in at least 300 DPI. Make sure that your resolution is consistent between your form templates and incoming batch images as well. Form templates should only contain data that is common to every image that is being processed (i.e. – Form fields, the text that appears on the blank form itself, etc). The template should not have filled-in field information as this will affect the forms matching process.
Accusoft.FormDirector2.Net.dll

1) If you are using the ActiveX interface please distribute the following DLL:

PegasusImaging.ActiveX.SmartZone2.dll
Please Note: You must register the PegasusImaging.ActiveXSmartZone2.dll either via your installation program or manually via the regsvr32.exe utility. 2) If you are using the .NET interface please distribute the following DLL:
PegasusImaging.WinForms.SmartZone2.dll

1) If you are using the the OCR recognition please distribute the following DLL:

Accusoft.SmartZoneOCR3.Net.dll
If you are using the ICR recognition please distribute the following DLL:
Accusoft.SmartZoneICR3.Net.dll
There are a number of cleanup operations that you can use to make an image more suitable for a particular application. What you observe visually on the image and how you perceive its impact on your project is the most important. For example, if you’re noticing very many random specks on your image, and you’re planning to use OCR, then you may want to try a depseckle or blob removal operation first. If the content in your image looks a bit slanted, you could try a deskew or rotate operation. In some cases, using a line removal operation on forms that have grid fields could be helpful also. The amount of image cleaning you may need to do can very from project to project. There’s not a one shot cleaning operation that will always work for all images. But, observe the nature of the noise and interference in your images to determine what general parameters appear to provide the best results.
One possibility is that you have strict firewall settings that are preventing our License Manager from connecting with licensing.accusoft.com, our licensing server. In order to connect with licensing.accusoft.com, you'll have to make an exception in your firewall for our License Manager so that it can connect to licensing.accusoft.com on port 80 for http and port 443 for https.
There are a few reasons why this might happen:
1. You have licensed your machine with a runtime/deployment license and you are not calling the SetSolutionName and SetSolutionKey methods in your code. By default, Accusoft products will look for a license in the registry at this path: HKEY_LOCAL_MACHINE\SOFTWARE\Accusoft\Licensing\Accusoft. However, for runtime licenses, they are stored at HKEY_LOCAL_MACHINE\SOFTWARE\Accusoft\Licensing\YourSolutionName. So, when you call SetSolutionName, that tells your application to look in the correct directory to find the runtime license. You can find the necessary parameters for these methods on the customer portal customer portal.
2.  You did not successfully install a license on your machine and the temporary license installed has expired. If you use the SLU (Server License Utility) or the LDK (License Deployment Kit) to license your machine and it fails, a temporary 14 day license will be placed on your machine. When that expires, you'll no longer be able to use the product. If this happens, you'll need to run the SLU or try using the LDK again. If that doesn't work, you might want to try licensing your machine in offline mode.
3.  You are trying to use a development license and you are calling SetSolutionName and SetSolutionKey in your code. You should only call SetSolutionName and SetSolutionKey in your code when you are deploying your application and using a deployment license. When you install a development license on your machine, it is placed into the registry at the following path: "HKEY_LOCAL_MACHINE\SOFTWARE\Accusoft\Licensing\Accusoft". When you call SetSolutionName in your code, you are telling the control to look for a license at a different path: HKEY_LOCAL_MACHINE\SOFTWARE\Accusoft\Licensing\YourSolutionName. If you are calling SetSolutionName and SetSolutionKey while trying to use a development license, simply comment out those lines for now.
4. The license information you've entered might be wrong. Check on the customer portal to make sure you've got the values parameters for the SetSolutionKey and SetSolutionName correct.

The likely reason is that when calling the AnalyzeField method the image data being passed into the method is not being released. Please refer to the appropriate sample code listed below which demonstrates how the image data needs to be released.

### C#

System.IntPtr data;
Marshal.FreeHGlobal(data);
'Declare the GlobalFree API function
GlobalFree DIB