#### 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.
Currently there is no way to move a license key from one machine to another. Once a license key is tied to a machine, you can remove it from the machine (using the License Manager or manually deleting it from the registry), but that will not credit a license to your account. That said, if you run into an issue where you have licensed a machine by mistake, please contact sales@accusoft.com as they will work with you. We understand this is a current limitation of our licensing system and don’t want you to be adversely affected. Also, typically a development license comes with three "keys", so if you want to license an additional machine you most likely can. Run and log in to the License Manager and you can see the number of license keys remaining.
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

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.

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.

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.
There are a couple reasons why a license might stop working. The most common would be if the MAC addresses changed (on a virtual machine, or after significant hardware change). Additionally, a temporary two week license can be put on a machine via the Server Licensing Utility if there are no licenses available when you license a machine. Feel free to contact us at marketing@accusoft.com if you have additional questions. If you want a new license please contact sales@accusoft.com.
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

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.

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.

#### 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.
Cram is free for compressing 300 photos over the lifetime of the app. An in-app purchase of $1.99 removes the 300 photo limitation. On Android KitKat, Google 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-reduce mode enabled and your camera is configured to save photos to the SD card, you will receive this notification. On Lollipop, for Cram to be able to save photos to the SD card, you must grant it access to the SD card. Please follow the steps described in the answer to "How do I compress images stored on my SD card?" Please note, these instructions may not apply if your mobile device is rooted. Once you grant access, you should not have to do so again, and when taking photos with the camera, auto-reduce mode will be able to store the reduced photos on the SD card. 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. Yes, Cram was previously named ThinPic. Users that already have ThinPic downloaded will notice an automatic update to Cram. Cram gives you the option to delete or save all of the original photos you compressed on a per usage basis. Within Cram's settings, you also have the option to choose auto-delete. This will automatically delete the original images that you are reducing.  To auto-delete open settings: Then turn on auto-delete: Cram gives you the option to delete or save all of the original photos you compressed on a per usage basis. Within Cram's settings, you also have the option to choose auto-delete. This will automatically delete the original images that you are reducing. Cram distributes all of the compressed images into a special folder within your gallery on your device. Yes! Email providers set limits on the amount of data you can send per email message. So if your provider has set a 5MB attachment limit, you may be able to Cram 15MB of images to fit into one email. Cram empowers you to send more of your pictures at once than ever before. Yes! Most data plans are a set price and amount of data that can be sent and downloaded. If you use Cram to compress pictures, the images you send will be a smaller size and help you stay within your monthly allowance. Depending on your plan, you may even save on overage fees if you happen to send more data than allowed. #### Edocr 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. #### FormFix Currently there is no way to move a license key from one machine to another. Once a license key is tied to a machine, you can remove it from the machine (using the License Manager or manually deleting it from the registry), but that will not credit a license to your account. That said, if you run into an issue where you have licensed a machine by mistake, please contact sales@accusoft.com as they will work with you. We understand this is a current limitation of our licensing system and don’t want you to be adversely affected. Also, typically a development license comes with three "keys", so if you want to license an additional machine you most likely can. Run and log in to the License Manager and you can see the number of license keys remaining. 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. 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. Accusoft's new licensing structure is available in FormFix v5. See Licensing for information about the new licensing, and Upgrading Runtime Licensing for information about updating your licensing from an earlier version of FormFix. 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. There is no definitive answer to FormSuite’s varied performance because it must use heuristic matching methods which do not always give the same results for each form set and settings. ScanFix and FormFix provide several tools to help optimize for your formsets. Here are some tips to solve some common cases. • No matches found ScanFix provides methods such as despeckling, deskewing, and binarizing that assist with matching. Lowering the minimum match confidence in FormFix may also assist matching, but may introduce false-positives. • Forms are being matched to incorrect pages In this case, try adding cleanup objects that remove borders, blobs, or lines, which could cause two different forms to look similar. For example, line removal can help identification because straight lines can overpower other features in the form, such as text, causing false matches with other forms. • Forms are being matched upside down or rotated If you know forms are always going to be rightside-up, you can disable checking rotated matches with the FormFix IdentificaitonProcessor "IdentifyRotated" properties. We suggest tuning your settings in the FormAssist demo program included with FormSuite. 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. Please refer to the "How To" section in the User Guide section of the Help File (.NET) for sample code showing the use of the 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. There are a couple reasons why a license might stop working. The most common would be if the MAC addresses changed (on a virtual machine, or after significant hardware change). Additionally, a temporary two week license can be put on a machine via the Server Licensing Utility if there are no licenses available when you license a machine. Feel free to contact us at marketing@accusoft.com if you have additional questions. If you want a new license please contact sales@accusoft.com. 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. #### FormSuite for Invoices Currently there is no way to move a license key from one machine to another. Once a license key is tied to a machine, you can remove it from the machine (using the License Manager or manually deleting it from the registry), but that will not credit a license to your account. That said, if you run into an issue where you have licensed a machine by mistake, please contact sales@accusoft.com as they will work with you. We understand this is a current limitation of our licensing system and don’t want you to be adversely affected. Also, typically a development license comes with three "keys", so if you want to license an additional machine you most likely can. Run and log in to the License Manager and you can see the number of license keys remaining. 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 add a new FormTableColumnHeaderDefinition to a FormTableDefinition object, first create a list of type FormTableColumnHeaderDefinition. Next, each FormTableColumnHeaderDefinition object is created and defined and added to this list using the Add method. Finally, this list is assigned to the FormTableDefinition's ColumnHeaderDefinitions property. // Create a table definition FormTableDefinition tableDefinition = new FormTableDefinition(); tableDefinition.Name = "Line Item Table"; // Setup the columns of the table List<FormTableColumHeaderDefinition> columnHeaderDefinitions = new List<FormTableColumnHeaderDefinition>(); FormTableColumnHeaderDefinition descriptionColumn = new FormTableColumnHeaderDefinition(); descriptionColumn.DataType = FormFieldDataType.GeneralText; descriptionColumn.Name = "Description"; columnHeaderDefinitions.Add(descriptionColumn); FormTableColumnHeaderDefinition amountColumn = new FormTableColumnHeaderDefinition(); amountColumn.DataType = FormFieldDataType.Currency; amountColumn.Name = "Amount"; columnHeaderDefinitions.Add(amountColumn); tableDefinition.ColumnHeaderDefinitions = columnHeaderDefinitions; // Add the table definition to the form definition formDefinition.TableDefinitions.Add(tableDefinition.Name, tableDefinition); Currently, FormSuite for Invoices only supports U.S-based invoices using the English language. If you have invoices for a different country, we recommend using FormSuite for Structured Forms instead. 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: [smartzoneengineloader] tempdir = C:\Your\Path\Here\ 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. 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. 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. 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 couple reasons why a license might stop working. The most common would be if the MAC addresses changed (on a virtual machine, or after significant hardware change). Additionally, a temporary two week license can be put on a machine via the Server Licensing Utility if there are no licenses available when you license a machine. Feel free to contact us at marketing@accusoft.com if you have additional questions. If you want a new license please contact sales@accusoft.com. 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. #### FormSuite for Structured Forms Currently there is no way to move a license key from one machine to another. Once a license key is tied to a machine, you can remove it from the machine (using the License Manager or manually deleting it from the registry), but that will not credit a license to your account. That said, if you run into an issue where you have licensed a machine by mistake, please contact sales@accusoft.com as they will work with you. We understand this is a current limitation of our licensing system and don’t want you to be adversely affected. Also, typically a development license comes with three "keys", so if you want to license an additional machine you most likely can. Run and log in to the License Manager and you can see the number of license keys remaining. 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. 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: [smartzoneengineloader] tempdir = C:\Your\Path\Here\ 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. 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. There is no definitive answer to FormSuite’s varied performance because it must use heuristic matching methods which do not always give the same results for each form set and settings. ScanFix and FormFix provide several tools to help optimize for your formsets. Here are some tips to solve some common cases. • No matches found ScanFix provides methods such as despeckling, deskewing, and binarizing that assist with matching. Lowering the minimum match confidence in FormFix may also assist matching, but may introduce false-positives. • Forms are being matched to incorrect pages In this case, try adding cleanup objects that remove borders, blobs, or lines, which could cause two different forms to look similar. For example, line removal can help identification because straight lines can overpower other features in the form, such as text, causing false matches with other forms. • Forms are being matched upside down or rotated If you know forms are always going to be rightside-up, you can disable checking rotated matches with the FormFix IdentificaitonProcessor "IdentifyRotated" properties. We suggest tuning your settings in the FormAssist demo program included with FormSuite. 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. This is likely because the processor has not been initialized with the file name of the formset. Change the initialization to something like this: Processor processor = new Processor(formSetFile, AccuComponent.GetLicenseKeychain(), true); 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 couple reasons why a license might stop working. The most common would be if the MAC addresses changed (on a virtual machine, or after significant hardware change). Additionally, a temporary two week license can be put on a machine via the Server Licensing Utility if there are no licenses available when you license a machine. Feel free to contact us at marketing@accusoft.com if you have additional questions. If you want a new license please contact sales@accusoft.com. 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. #### ImageGear Currently there is no way to move a license key from one machine to another. Once a license key is tied to a machine, you can remove it from the machine (using the License Manager or manually deleting it from the registry), but that will not credit a license to your account. That said, if you run into an issue where you have licensed a machine by mistake, please contact sales@accusoft.com as they will work with you. We understand this is a current limitation of our licensing system and don’t want you to be adversely affected. Also, typically a development license comes with three "keys", so if you want to license an additional machine you most likely can. Run and log in to the License Manager and you can see the number of license keys remaining. 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. Using the link below, login using the email address and password you used to register the product. The earlier installers are here: http://support.accusoft.com/support/UpdateCenter/s_Product_Archive.aspx 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. 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. 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. 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. Currently, our only product that supports XFA PDF content is ImageGear Professional for Windows DLL. There are a couple reasons why a license might stop working. The most common would be if the MAC addresses changed (on a virtual machine, or after significant hardware change). Additionally, a temporary two week license can be put on a machine via the Server Licensing Utility if there are no licenses available when you license a machine. Feel free to contact us at marketing@accusoft.com if you have additional questions. If you want a new license please contact sales@accusoft.com. 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. #### ImageGear for .NET Please check the Windows Features to ensure that you have WCF and HTTP Activation installed for ImageGear Services to work. This issue is known to be caused by older versions of the Microsoft Visual C++ Redistributable Packages being installed. To resolve the issue, follow these steps: • Navigate to the "Add or remove programs" window to see which versions of the Redistributable are currently installed. • Ensure you do NOT have the Microsoft Visual C++ 2005 Redistributable Package installed, this version is known to cause the problem. Any versions 2008 and above are okay. • Also be sure to run the SDK installer as an administrator. You may also want to close any other applications that are running. 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 To improve performance when zooming in or scrolling on PDF documents you can change the DrawMode ImGearControlParameter to the enumerated value ImGearPDFPageDrawMode.VISIBLE_AREA. By default, DrawMode is set to ImGearPDFPageDrawMode.ENTIRE_PAGE. ImGearFileFormats.Filters.Get(ImGearFormats.PDF).Parameters.GetByName("DrawMode").Value = 2; //VISIBLE_AREA  Call the SetSolutionName method in the ImGearLicense Class. For example: //Win32 ImGearLicense.SetSolutionName("AccuSoft 5-40-20"); //Win 64 ImGearLicense.SetSolutionName("AccuSoft 5-41-20"); We have two pages in our documentation that explain how to use our Recognition API in a multi-threaded environment: • Recognition API and Multi-Threading • Walkthrough: Multi-Threaded Recognition • Some tips: • When initializing the ImGearRecognition object, make sure to use the constructor with the createUnique parameter set to true:  using (var igRecognition = new ImGearRecognition(true)) This ensures that each ImGearRecognition object has its own settings collection and does not share one with other ImGearRecognition objects. Setting the createUnique parameter will help avoid System.AccessViolationExceptions. • Using the Dispose methods of the recognition objects should be done as soon as possible. • All PDF objects are based on underlying low-level PDF objects that are not controlled by .NET resource manager and garbage collector. Because of this, each PDF object that is created from scratch should be explicitly disposed of using that objects Dispose() method. Also, any ImGearPDEContent object obtained from ImGearPDFPage should be released using the ImGearPDFPage.ReleaseContent() in all cases. This should cause all temp files to be cleared when the application is closed. 1. Open our JQuiery Plugin Sample in Visual Studio 2010. 2. Right-click on the ImGearPluginSample project and select "Use IIS Express ..." in the context menu. If this menu item cannot be found in menu, then IIS Express is already used as a development server. 3. In the Properties Windows of project set SSL Enabled as true. 4. Modify the system.ServiceModel section of Web.config file as follow: 5. <behaviors> <servicebehaviors> <behavior name="simpleBehavior"> <servicemetadata httpgetenabled="true" httpsgetenabled="true"></servicemetadata> <servicedebug includeexceptiondetailinfaults="true"></servicedebug> </behavior> </servicebehaviors> <endpointbehaviors> <behavior name="webHttpBehavior"> <webhttp></webhttp> </behavior> </endpointbehaviors> </behaviors> <bindings> <webhttpbinding> <binding name="webHttpTransportSecurity"> <security mode="Transport"></security> </binding> </webhttpbinding> </bindings> <services> <service name="ImageGear.Web.ImGearService" behaviorconfiguration="simpleBehavior"> <endpoint binding="webHttpBinding" contract="ImageGear.Web.IImGearService" behaviorconfiguration="webHttpBehavior" bindingconfiguration="webHttpTransportSecurity"></endpoint> </service> </services> <servicehostingenvironment aspnetcompatibilityenabled="true"></servicehostingenvironment>  6. Remember the port value in Properties Window of project in field "SSL URL" 7. Build and run project. 8. In the browser, starts the same webpage with HTTPS protocol and port from "SSL URL" field of project. 9. Check the "Network" window of the "Developer Tool" in the browser to verify that all requests to the service are passing via HTTPS protocol. In an ImageGear.NET web application, you will need to define the location of the images and annotations directory in the "storageRootPath" and "artStorageRootPath" configuration property. In current version of ImageGear.NET, the "storageRootPath" and "artStorageRootPath" do not work with a network drive path "\\SERVER-NAME\sharefilename". The workaround for this would be creating a Symbolic link from a local directory to the network drive directory. To create a symbolic link: Open “Command Prompt” as Administrator Type in > mklink /d “local path” \\SERVER-NAME\sharefilename Pass in the path of the symbolic link as image or art storage root path in your web.config: storageRootPath="local path" artStorageRootPath="local path" Occasionally, permissions issues can prevent ImageGear from writing to a log file. • If one is using Microsoft Visual Studio, watch the output tab from the Debug view and see if any ImageGear.Web messages appear. If not, reconfigure the web.config file as outlined in the Error Logging Configuration Settings section of the ImageGear help file. Try enabling verbose logging by setting the switch named imageGearSwitch value to "Verbose". For example: <switches> <add name="imageGearSwitch" value="Verbose" /> </switches>  • When using Visual Studio, you have have a process of IIS Express running in your system tray: Sometimes it is necessary to stop that server and then restart the debugging process again. • The initializeData parameter in your web.config file must be set to a proper file name. The path is relative to the web.config file and the directory must have writable permissions and have the appropriate security permissions for the user debugging the application. Paths may be fully qualified specified locations if they begin with a hard drive location. • If the log file can be generated using Visual Studio debugging but fails to show when the application is deployed under IIS, it is most likely a security issue. Be sure that the directory picked has NETWORK SERVICE user name Read and Write permissions set. If there are files in the %TEMP% directory created by ImageGear that are not getting deleted, the most likely cause is that there are ImageGear objects in your code that are not being disposed of. The most common culprit is the ImGearPage object. This object has no Dipose method, but it does implement the IDisposable interface, so it can be disposed of. You can do so like this: if (igPage is IDisposable) { (igPage as IDisposable).Dispose(); } The other ImageGear objects can safely be disposed of using their Dispose methods. 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: 1. Log in. 2. Go to your Products tab. 3. Click the product/version you want to license. 4. Click deployment. 5. Click License. 6. Click License pools. 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 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. When trying to use ImageGear PDF support, you may not be able to load igPDFxxnu.dll, where "xx" is the version number of ImageGear. • Ensure the .dll is the same architecture as your application (x86, x64). • Ensure the Microsoft Visual C++ Redistributable 2010 is installed: 32-bit 64-bit • If you are using an ASP.NET project, ensure IIS Express is set to your installed architecture: Go to Tools > Options > Projects and Solutions > Web Projects > Use the 64 bit version of IIS Express • Make sure you are initializing the PDF component to the path with the .dll. Try pointing this to the ImageGear Public Bin folder string libraryPath = @"C:\Users\Public\Documents\Accusoft\ImageGear.NET v22 64-bit\Bin"; ImGearEvaluationManager.Initialize(); ImGearCommonFormats.Initialize(); ImGearFileFormats.Filters.Insert(0, ImGearPDF.CreatePDFFormat(libraryPath)); ImGearPDF.Initialize(libraryPath);  See Getting Started with PDF • Ensure that your project can access the bin folder that contains the DLL. • If you are using the .dlls in another folder, run the Deployment Packaging Wizard located in the Deployment Kit folder to copy all needed dependencies. Refer to the Help File under Deployment Packaging Wizard for more information. This is likely because you have not specified that the Recognition engine should be using its own unique collection of Recognition settings. When you create the ImGearRecognition object, simply pass in the boolean "true" to ensure that each thread uses its own Recognition setting collection. Like this:  using (var igRecognition = new ImGearRecognition(true)) For more help with Recognition and Multi-Threading, take a look at the following pages: • Recognition API and Multi-Threading • Walkthrough: Multi-Threaded Recognition • There are numerous reasons why an image may not appear. • Try using a common web debugger, such as the F12 console in Chrome and Firefox. Inspect the Network tab for any 404, 500, or other bad requests. • the ASP.NET controls are designed to generate logs. See the Error Logging Configuration Settings found in the Using ImageGear.Web.UI Namespace section of the ImageGear help file for setting up logging. • Please Contact Accusoft for assistance in analyzing your log files. Typically this error occurs when "Any CPU" is selected as the target in Microsoft Visual Studio when running an ImageGear.NET project. Simply update the target to x86 or x64 depending on your ImageGear.NET version to resolve this issue. You will need to set up your project to include PDF support if you want to work with PDF documents. Add a reference to ImageGear21.Formats.Pdf (If you're using another version, make sure you're adding the correct reference). Add the following line of code where you specify other resources: • using ImageGear.Formats.PDF; Add the following lines of code before you begin working with PDFs • ImGearFileFormats.Filters.Insert(0, ImGearPDF.CreatePDFFormat()); • ImGearPDF.Initialize(); Here is a link that shows how to add PDF support to a project The application is missing the ImageDataProcessor.dll. Changing the output path or copying all the required .dlls from the deployment wizard to the project/bin folder will address the issue. This is done to give the web browser user a more responsive feel. A low resolution full sized image is first loaded which is fairly quick and responsive. Then, a higher resolution image will typically follow for the portion of the image being viewed in the client viewer. This higher quality image can be the one showing a full image at better resolution or one or more tiles showing a portion of the image depending on how far zoomed in the image may be. When you scroll around or zoom into the client viewer, you may see the previously loaded low resolution view for a moment while a better quality image gets requested and then subsequently displayed. Please be sure to copy the license strings exactly. Even trailing spaces in quoted strings must be applied. Also, with IIS services, it sometimes is necessary to restart or recycle the Application Pool for which the hosted ASP.Net application resides and not just the IIS service itself. Interactive applications are much better at printing documents than web browsers. As browsers improve their ability to print application-generated content, Accusoft will expand the printing support in ImageGear ASP.NET. This issue can arise with multiple IIS app pools writing to the same folder and ASP temp directory. When one website creates files inside, others may not be able to read them. Try the following: • Give explicit permissions for each app pool user (e.g, IIS AppPool\[name]) on C:\Windows\Temp\Accusoft. • Do the same for C:\Windows\Microsoft.NET\Framework\[version]\Temporary ASP.NET Files #### ImageGear for Java 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. Using the link below, login using the email address and password you used to register the product. The earlier installers are here: http://support.accusoft.com/support/UpdateCenter/s_Product_Archive.aspx 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 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. 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: 1. Log in. 2. Go to your Products tab. 3. Click the product/version you want to license. 4. Click deployment. 5. Click License. 6. Click License pools. 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 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. Currently, our only product that supports XFA PDF content is ImageGear Professional for Windows DLL. There are a couple reasons why a license might stop working. The most common would be if the MAC addresses changed (on a virtual machine, or after significant hardware change). Additionally, a temporary two week license can be put on a machine via the Server Licensing Utility if there are no licenses available when you license a machine. Feel free to contact us at marketing@accusoft.com if you have additional questions. If you want a new license please contact sales@accusoft.com. #### ImageGear Medical If you get a "AccuSoft License Manager couldn't communicate with the licensing Web Service." error (it doesn't have to look exactly like this): when licensing versions 12-16 of ImageGear Pro, you will need to use a modified version of our License Manager. The older versions of our products pointed to our older licensing server. Use our updated Legacy License Manager. Currently there is no way to move a license key from one machine to another. Once a license key is tied to a machine, you can remove it from the machine (using the License Manager or manually deleting it from the registry), but that will not credit a license to your account. That said, if you run into an issue where you have licensed a machine by mistake, please contact sales@accusoft.com as they will work with you. We understand this is a current limitation of our licensing system and don’t want you to be adversely affected. Also, typically a development license comes with three "keys", so if you want to license an additional machine you most likely can. Run and log in to the License Manager and you can see the number of license keys remaining. 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. Using the link below, login using the email address and password you used to register the product. The earlier installers are here: http://support.accusoft.com/support/UpdateCenter/s_Product_Archive.aspx 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 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. 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: 1. Log in. 2. Go to your Products tab. 3. Click the product/version you want to license. 4. Click deployment. 5. Click License. 6. Click License pools. 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 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. Currently, our only product that supports XFA PDF content is ImageGear Professional for Windows DLL. There are a couple reasons why a license might stop working. The most common would be if the MAC addresses changed (on a virtual machine, or after significant hardware change). Additionally, a temporary two week license can be put on a machine via the Server Licensing Utility if there are no licenses available when you license a machine. Feel free to contact us at marketing@accusoft.com if you have additional questions. If you want a new license please contact sales@accusoft.com. 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. 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. #### ImageGear Professional If you get a "AccuSoft License Manager couldn't communicate with the licensing Web Service." error (it doesn't have to look exactly like this): when licensing versions 12-16 of ImageGear Pro, you will need to use a modified version of our License Manager. The older versions of our products pointed to our older licensing server. Use our updated Legacy License Manager. In order to print a series of images, PDF, or other multi-page document, use the IG_dspl_document_print. By using this function, IG Pro will print as a document rather than a single image, which will enable duplex support. Follow these steps to get started: 1. Create a array of HIGEAR handles 2. Load images or documents into each position 3. Call the IG_dspl_document_print function on the array, using PRINTDLG normally. 4. You may need to enable Duplex printing on the DEVMODE pointer in the PRINTDLG structure. The following sample code will outline this process. HIGEAR document[32]; //Document holding all the images //Get page count and load pages into array //"fd" a handle to the multi-page-document.pdf int pageCount = 0; IG_fltr_pagecount_file_format(IG_FORMAT_UNKNOWN, "multi-page-document.pdf", &pageCount); for(int i = 0; i < pageCount; ++i) { IG_fltr_load_FD_format(IG_FORMAT_UNKNOWN, (AT_INT)fd, 0, i + 1, 1, &document[i]); } PRINTDLG pd; if (PrintDlg(&pd)) { /* Try to enable Duplex printing via the DEVMODE pointer */ LPDEVMODE dev = (LPDEVMODE)GlobalLock(pd.hDevMode); dev->dmDuplex = DMDUP_VERTICAL; GlobalUnlock(pd.hDevMode); //Print the document IG_dspl_document_print(document, pageCount, IG_GRP_DEFAULT_PRINT, pd.hDC, 1, 1, 0, 0, TRUE, NULL, NULL); }  If your ImageGear application does not initialize in a browser, the following may help to solve the issue. For ImageXpress ActiveX applications, the same general troubleshooting steps apply. The most common cause of ActiveX controls not loading is missing dependencies. • Dependency Analyzer • Use the Dependency Analyzer to determine which JavaScript components must be associated with your IGCoreCtrl before use. Select the features of ImageGear that you are using. For example, to use the ART component, you must add the following associations. IGCoreCtl1.object.AssociateComponent( IGFormatsCtl1.object.ComponentInterface ); IGCoreCtl1.object.AssociateComponent( IGDisplayCtl1.object.ComponentInterface ); IGCoreCtl1.object.AssociateComponent( IGProcessingCtl1.object.ComponentInterface ); IGCoreCtl1.object.AssociateComponent( IGArtCtl1.object.ComponentInterface );  • Deployment Packaging Wizard • The Deployment Packaging Wizard will provide you with all required .ocx and .dll dependencies that you will need to include with your application. If you are using a .cab file, all of the dependencies from the wizard must be included in your .cab, and referenced inside an .INF file. See a sample .INF file. For more information, see Using INF Files on MSDN • Registering Domain-tied OEM keys In order to licence your product to run on a web page, your OEM licence key is added to a JavaScript file and tied to a number of domains of your choice. Log into the Web Licence Key Generator with your Accusoft username and password and follow the instructions. For more information, see the documentation: ActiveX Website Runtime Licensing By using the Deployment Packaging Wizard you can transfer all required ImageGear files, resources and dependencies needed for your application. The location of the Licensing Service has been moved and you will need to download a particular version of the License Manager from the appropriate link below. Once you download, please run the License Manager as you normally would and this should resolve your issue: 32 bit: http://ftp2.accusoft.com/ImageGear/ALM_IG.NET32.exe 64 bit: http://ftp2.accusoft.com/ImageGear/ALM_IG.NET64.exe This error can occur when attempting to code sign a Mac OS application. To correct this issue follow the steps below: 1) Move any resource files located in the frameworks root directory to the Resource folder ( ig_cmyk_profile.icm, ig_rgb_profile.icm, IGLZW18, IGMED18, IGPDF18 etc... ) 2) Then specify the path to the Resource folder which contains the ImageGear component modules using the following function: static char* path = "/Resource/"; IG_gctrl_item_set("COMM.PATH", AM_TID_MAKELP(AM_TID_CHAR), (LPVOID)path, strlen(path) + 1, NULL);  If you require assistance please contact us at marketing@accusoft.com 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: 1. Log in. 2. Go to your Products tab. 3. Click the product/version you want to license. 4. Click deployment. 5. Click License. 6. Click License pools. 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 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. #### ImagXpress Currently there is no way to move a license key from one machine to another. Once a license key is tied to a machine, you can remove it from the machine (using the License Manager or manually deleting it from the registry), but that will not credit a license to your account. That said, if you run into an issue where you have licensed a machine by mistake, please contact sales@accusoft.com as they will work with you. We understand this is a current limitation of our licensing system and don’t want you to be adversely affected. Also, typically a development license comes with three "keys", so if you want to license an additional machine you most likely can. Run and log in to the License Manager and you can see the number of license keys remaining. 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 If your ImageGear application does not initialize in a browser, the following may help to solve the issue. For ImageXpress ActiveX applications, the same general troubleshooting steps apply. The most common cause of ActiveX controls not loading is missing dependencies. • Dependency Analyzer • Use the Dependency Analyzer to determine which JavaScript components must be associated with your IGCoreCtrl before use. Select the features of ImageGear that you are using. For example, to use the ART component, you must add the following associations. IGCoreCtl1.object.AssociateComponent( IGFormatsCtl1.object.ComponentInterface ); IGCoreCtl1.object.AssociateComponent( IGDisplayCtl1.object.ComponentInterface ); IGCoreCtl1.object.AssociateComponent( IGProcessingCtl1.object.ComponentInterface ); IGCoreCtl1.object.AssociateComponent( IGArtCtl1.object.ComponentInterface );  • Deployment Packaging Wizard • The Deployment Packaging Wizard will provide you with all required .ocx and .dll dependencies that you will need to include with your application. If you are using a .cab file, all of the dependencies from the wizard must be included in your .cab, and referenced inside an .INF file. See a sample .INF file. For more information, see Using INF Files on MSDN • Registering Domain-tied OEM keys In order to licence your product to run on a web page, your OEM licence key is added to a JavaScript file and tied to a number of domains of your choice. Log into the Web Licence Key Generator with your Accusoft username and password and follow the instructions. For more information, see the documentation: ActiveX Website Runtime Licensing If you are in Visual Basic 6, set the NotateXpress Client property to the name of the ImagXpress control (example in VB6): NotateXpress1.Client = "ImagXpress1" If you are in another development environment, call the NotateXpress SetClientWindow method, passing the window handle of the ImagXpress control via the Hwnd property on the ImagXpress control (example in Delphi). NotateXpress1.SetClientWindow(ImagXpress1.hWnd); If you are using NotateXpress by reference in Visual Basic, you can call the SetClientWindow method also. If neither of these methods are available, use the InterfaceConnect method. (For more information, please see the page Connect to ImagXpress Client in the NotateXpress help documentation.) 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. 1) If you are using the .NET interface you must call the UnlockRuntime method in the Licensing class where the application begins and pass the unlock codes as the parameters. For example: imagXpress1.Licensing.UnlockRunTime (1234,1234,1234,1234); 2) If you are using the ActiveX control you must call the UnlockRuntime method where your application begins and pass the unlock codes as the parameters. For example: ImagXpress1.UnlockRuntime 1234,1234,1234,1234 To copy an image from the ImagXpress 8 .NET control, you can use the ToHdib method of the ImageX class as outlined in the code samples below. The sample code assumes the image data is in 1 bit per pixel format. For C# Developers: PegasusImaging.WinForms.ImagXpress8.ImagXpress ix = new PegasusImaging.WinForms.ImagXpress8.ImagXpress(); PegasusImaging.WinForms.ImagXpress8.ImageX theImageX = PegasusImaging.WinForms.ImagXpress8.ImageX.FromFile("c:\\Pegasus.tif"); scanFix1.FromHdib((System.IntPtr) theImageX.ToHdib(false)); For Visual Basic. NET Developers: Dim ix As New PegasusImaging.WinForms.ImagXpress8.ImagXpress() Dim theImageX As PegasusImaging.WinForms.ImagXpress8.ImageX theImageX = PegasusImaging.WinForms.ImagXpress8.ImageX.FromFile("c:\Pegasus.tif") ScanFix1.FromHdib(theImageX.ToHdib(False)) 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. Although ImagXpress may have limited ability to load PDFs, they are no longer supported. You may find this message around the documentation: Note: PDF support is deprecated in ImagXpress, please use PDF Xpress instead for PDF support. We strongly recommend using PDFXpress to load the wide range of PDFs documents. This is a known issue with Microsoft Visual Studio 2013 MSBuild component. To fix it, you need to change the project target to .NET Framework 3.5 and rebuild the project. After a successful sample run, you can switch the target back to .NET Framework 2.0 and continue working with the ImageXpress VB6 samples. 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. You can view which camera RAW formats are supported from the products' "Support File Formats" page: This information can be found in the Distributing ImagXpress section of the help documentation. .NET Help. ActiveX Help. 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. A possible cause for this is if the source image has a rectangular, or uneven, X and Y resolution (for example: 200 x 300 DPI). When you pass an image to one of PrintPRO's print functions, it's treating the source content with respect to its real pixel dimensions. So, in the case of images with uneven resolution values, they may appear warped - even when specifying to maintain the aspect. To resolve this, resize the incoming image content in such a way for it to be in a square resolution (for example: 300 x 300 DPI):  System.Drawing.Image picture = System.Drawing.Image.FromFile(samplePicture); Accusoft.ImagXpressSdk.ImageX scaleImage = Accusoft.ImagXpressSdk.ImageX.FromBitmap(ix, (System.Drawing.Bitmap)picture); Accusoft.ImagXpressSdk.Processor theProc = new Accusoft.ImagXpressSdk.Processor(ix, scaleImage); float bestResolution = 0; float scaleFactor = 0; float resNumerator = 0, resDenominator = 0; bestResolution = picture.HorizontalResolution; if(picture.HorizontalResolution > picture.VerticalResolution) { resNumerator = (float)picture.HorizontalResolution; resDenominator = (float)picture.VerticalResolution; bestResolution = picture.HorizontalResolution; scaleFactor = resNumerator / resDenominator; theProc.Resize(new System.Drawing.Size(picture.Width, (int)(picture.Height * scaleFactor)), Accusoft.ImagXpressSdk.ResizeType.Quality); } else if (picture.VerticalResolution > picture.HorizontalResolution) { resNumerator = (float)picture.VerticalResolution; resDenominator = (float)picture.HorizontalResolution; bestResolution = picture.VerticalResolution; scaleFactor = resNumerator / resDenominator; theProc.Resize(new System.Drawing.Size((int)(picture.Width * scaleFactor), picture.Height), Accusoft.ImagXpressSdk.ResizeType.Quality); } theProc.Image.Resolution.Units = System.Drawing.GraphicsUnit.Inch; theProc.Image.Resolution.Dimensions = new System.Drawing.SizeF(bestResolution, bestResolution); picture = theProc.Image.ToBitmap(true); ... //Other parameters to this function call would be provided by your application job.PrintImage(picture, new System.Drawing.PointF(startXPoint, startYPoint), new System.Drawing.SizeF(printWidth, printHeight), true);  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: 1. Log in. 2. Go to your Products tab. 3. Click the product/version you want to license. 4. Click deployment. 5. Click License. 6. Click License pools. 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 downloaded development kit includes code samples for supported platforms. Samples are available through the Start > Programs > Accusoft > ImagXpress menu. Please 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. 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. There are a couple reasons why a license might stop working. The most common would be if the MAC addresses changed (on a virtual machine, or after significant hardware change). Additionally, a temporary two week license can be put on a machine via the Server Licensing Utility if there are no licenses available when you license a machine. Feel free to contact us at marketing@accusoft.com if you have additional questions. If you want a new license please contact sales@accusoft.com. 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 issue can arise with multiple IIS app pools writing to the same folder and ASP temp directory. When one website creates files inside, others may not be able to read them. Try the following: • Give explicit permissions for each app pool user (e.g, IIS AppPool\[name]) on C:\Windows\Temp\Accusoft. • Do the same for C:\Windows\Microsoft.NET\Framework\[version]\Temporary ASP.NET Files 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. #### ISIS Xpress Currently there is no way to move a license key from one machine to another. Once a license key is tied to a machine, you can remove it from the machine (using the License Manager or manually deleting it from the registry), but that will not credit a license to your account. That said, if you run into an issue where you have licensed a machine by mistake, please contact sales@accusoft.com as they will work with you. We understand this is a current limitation of our licensing system and don’t want you to be adversely affected. Also, typically a development license comes with three "keys", so if you want to license an additional machine you most likely can. Run and log in to the License Manager and you can see the number of license keys remaining. 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. 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 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. 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. There are a couple reasons why a license might stop working. The most common would be if the MAC addresses changed (on a virtual machine, or after significant hardware change). Additionally, a temporary two week license can be put on a machine via the Server Licensing Utility if there are no licenses available when you license a machine. Feel free to contact us at marketing@accusoft.com if you have additional questions. If you want a new license please contact sales@accusoft.com. 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. #### MICR Xpress Currently there is no way to move a license key from one machine to another. Once a license key is tied to a machine, you can remove it from the machine (using the License Manager or manually deleting it from the registry), but that will not credit a license to your account. That said, if you run into an issue where you have licensed a machine by mistake, please contact sales@accusoft.com as they will work with you. We understand this is a current limitation of our licensing system and don’t want you to be adversely affected. Also, typically a development license comes with three "keys", so if you want to license an additional machine you most likely can. Run and log in to the License Manager and you can see the number of license keys remaining. 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. 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. 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. There are a couple reasons why a license might stop working. The most common would be if the MAC addresses changed (on a virtual machine, or after significant hardware change). Additionally, a temporary two week license can be put on a machine via the Server Licensing Utility if there are no licenses available when you license a machine. Feel free to contact us at marketing@accusoft.com if you have additional questions. If you want a new license please contact sales@accusoft.com. 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. #### PDF Xpress Currently there is no way to move a license key from one machine to another. Once a license key is tied to a machine, you can remove it from the machine (using the License Manager or manually deleting it from the registry), but that will not credit a license to your account. That said, if you run into an issue where you have licensed a machine by mistake, please contact sales@accusoft.com as they will work with you. We understand this is a current limitation of our licensing system and don’t want you to be adversely affected. Also, typically a development license comes with three "keys", so if you want to license an additional machine you most likely can. Run and log in to the License Manager and you can see the number of license keys remaining. PDF Xpress SDK enables you to build a PDF portfolio of multiple documents and document types, allowing for a single file to contain images, Word documents, spreadsheets, and more. 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 You'll want to check every page in your PDF document to see whether it has text on it or not. Loop through the pages in the document, calling the GetText() method. If, at any time, the method returns a string that's not empty, then the it could be considered that the document contains text. If you are using the .NET toolkit, please see the following guides: If you are using the ActiveX toolkit, please see the following guides 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. 1) If you are using the .NET interface you must call the UnlockRuntime method in the Licensing class where the application begins and pass the unlock codes as the parameters. For example: PDFXpress4.Licensing.UnlockRunTime (1234, 1234, 1234, 1234); 2) If you are using the ActiveX control you must call the UnlockRuntime method where your application begins and pass the unlock codes as the parameters. For example: PDFXpress4.UnlockRuntime 1234,1234,1234,1234 PDF Xpress is looking for the corresponding character map information for the fonts that it is finding in the loaded document in question. This tends to happen when PDF Xpress has been initialized without specifying the Font and CMap support folders that are to be deployed with the toolkit. To correct this, call the Initialize function and specify the appropriate Font and CMap paths respectively: (Example) pdfXpress.Initialize(Application.StartupPath + "\\Support\\Font", Application.StartupPath + "\\Support\\CMap"); 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 PdfXpress object must be disposed from the thread in which it is created, otherwise, the unmanaged resources could cause the application to crash. 1) If you are using the .NET interface please interface please read the PDF Xpress5 .NET help files for information about what needs to be included depending on your application logic requirements. It is found here . 2) If you are using the ActiveX interface please read the PDF Xpress5 ActiveX help files for information about what needs to be included depending on your application logic requirements. It is found here. 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. Please 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. Also, when after you have downloaded the toolkit, the Sample Code can be found in the start menu. 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. Currently, our only product that supports XFA PDF content is ImageGear Professional for Windows DLL. There are a couple reasons why a license might stop working. The most common would be if the MAC addresses changed (on a virtual machine, or after significant hardware change). Additionally, a temporary two week license can be put on a machine via the Server Licensing Utility if there are no licenses available when you license a machine. Feel free to contact us at marketing@accusoft.com if you have additional questions. If you want a new license please contact sales@accusoft.com. 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. You will need to explicitly dispose of the PDF Xpress object so that it will release all underlying PDF resources: if(pdfXpress1 != null) pdfXpress1.Dispose(); ExportXfdf does not return all PDF annotations. PdfXpress ignores or does not support some XFDF annotations, although all annotations are counted in GetAnnotationCount. Non-XFDF, 3D, Link, Stamp, Movie, Sound, and FileAttachment annotations are not supported in 7.0. These annotations will not appear in ExportXfdf. 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. #### PICTools Document PICTools SDKs are sold separately for each operating system. For example, PICTools Medical for 32-bit Microsoft Windows is a separate download, and opcodes in it are separately priced, from opcodes in PICTools Medical for 64-bit Microsoft Windows. The use of PICTools requires a licensing agreement with Accusoft Accusoft. This requires a discussion with an Accusoft sales representative about your desired use of PICTools and the specific features for your application deployment. The PICTools toolkit remains in evaluation mode until the completion of an agreement with an Accusoft sales representative. 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. Each PICTools SDK contains a doc directory containing helpful documentation about PICTools. A high level QuickStart Guide provides an overview of PICTools, discusses the architecture, and offers simple to use suggestions for getting started and can be found on each PICTools SDK documentation pages. The PICTools Programmer's Guide is a more comprehensive description of how to use PICTools, and the PICTools Reference Manual provides specific API information required to successfully code your application. Links to these materials can also be found on the respective PICTools documentation pages listed below: Reviewing the material in this order will make it easiest to understand. Each SDK also includes a simple code sample, delivered as a Visual Studio 2005 project for Windows toolkits, with makefiles for the Unix and Linux platforms. It also includes source code for the Apollo demo, which is a Windows application designed to highlight features associated with compression and decompression of many image types supported by PICTools, including: • Bitmap • Camera RAW • HD Photo/JPEG XR • JPEG 2000 • JPEG LS • Lossy and Lossless JPEG • RAW The PICTools development kits are provided to developers as fully functional evaluation versions. The only difference between the evaluation version of a toolkit and a registered version are some registration codes that make these Pause dialogs stop appearing. To a developer writing application code, these dialogs can be useful to see what is happening "under the covers" with version and opcode numbering and dll naming information being displayed in the Pause dialog itself. The Pause dialogs will appear the first time a particular "opcode" is used during the run of an application and then very infrequently randomly after that. They cause the application code to pause for approximately 5 seconds. If the Pause dialogs make operation timing difficult, it is a fairly straightforward procedure to do an operation once, start timing, and then repeat it for the desired number of iterations. Another option to conduct timing tests is to perform some series of operations one time so that each of the operations in the timing test have been performed once by the application before the timing run is made. PICTools is designed in a way that allows Accusoft to easily port it to different platforms, including optimizations for the targeted environment. If you don't see your desired platform currently supported by PICTools, contact us to discuss porting options. 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. #### PICTools Medical PICTools SDKs are sold separately for each operating system. For example, PICTools Medical for 32-bit Microsoft Windows is a separate download, and opcodes in it are separately priced, from opcodes in PICTools Medical for 64-bit Microsoft Windows. The use of PICTools requires a licensing agreement with Accusoft Accusoft. This requires a discussion with an Accusoft sales representative about your desired use of PICTools and the specific features for your application deployment. The PICTools toolkit remains in evaluation mode until the completion of an agreement with an Accusoft sales representative. 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. Each PICTools SDK contains a doc directory containing helpful documentation about PICTools. A high level QuickStart Guide provides an overview of PICTools, discusses the architecture, and offers simple to use suggestions for getting started and can be found on each PICTools SDK documentation pages. The PICTools Programmer's Guide is a more comprehensive description of how to use PICTools, and the PICTools Reference Manual provides specific API information required to successfully code your application. Links to these materials can also be found on the respective PICTools documentation pages listed below: Reviewing the material in this order will make it easiest to understand. Each SDK also includes a simple code sample, delivered as a Visual Studio 2005 project for Windows toolkits, with makefiles for the Unix and Linux platforms. It also includes source code for the Apollo demo, which is a Windows application designed to highlight features associated with compression and decompression of many image types supported by PICTools, including: • Bitmap • Camera RAW • HD Photo/JPEG XR • JPEG 2000 • JPEG LS • Lossy and Lossless JPEG • RAW The PICTools development kits are provided to developers as fully functional evaluation versions. The only difference between the evaluation version of a toolkit and a registered version are some registration codes that make these Pause dialogs stop appearing. To a developer writing application code, these dialogs can be useful to see what is happening "under the covers" with version and opcode numbering and dll naming information being displayed in the Pause dialog itself. The Pause dialogs will appear the first time a particular "opcode" is used during the run of an application and then very infrequently randomly after that. They cause the application code to pause for approximately 5 seconds. If the Pause dialogs make operation timing difficult, it is a fairly straightforward procedure to do an operation once, start timing, and then repeat it for the desired number of iterations. Another option to conduct timing tests is to perform some series of operations one time so that each of the operations in the timing test have been performed once by the application before the timing run is made. PICTools is designed in a way that allows Accusoft to easily port it to different platforms, including optimizations for the targeted environment. If you don't see your desired platform currently supported by PICTools, contact us to discuss porting options. 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. #### PICTools Photo PICTools SDKs are sold separately for each operating system. For example, PICTools Medical for 32-bit Microsoft Windows is a separate download, and opcodes in it are separately priced, from opcodes in PICTools Medical for 64-bit Microsoft Windows. The use of PICTools requires a licensing agreement with Accusoft Accusoft. This requires a discussion with an Accusoft sales representative about your desired use of PICTools and the specific features for your application deployment. The PICTools toolkit remains in evaluation mode until the completion of an agreement with an Accusoft sales representative. 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. Each PICTools SDK contains a doc directory containing helpful documentation about PICTools. A high level QuickStart Guide provides an overview of PICTools, discusses the architecture, and offers simple to use suggestions for getting started and can be found on each PICTools SDK documentation pages. The PICTools Programmer's Guide is a more comprehensive description of how to use PICTools, and the PICTools Reference Manual provides specific API information required to successfully code your application. Links to these materials can also be found on the respective PICTools documentation pages listed below: Reviewing the material in this order will make it easiest to understand. Each SDK also includes a simple code sample, delivered as a Visual Studio 2005 project for Windows toolkits, with makefiles for the Unix and Linux platforms. It also includes source code for the Apollo demo, which is a Windows application designed to highlight features associated with compression and decompression of many image types supported by PICTools, including: • Bitmap • Camera RAW • HD Photo/JPEG XR • JPEG 2000 • JPEG LS • Lossy and Lossless JPEG • RAW The PICTools development kits are provided to developers as fully functional evaluation versions. The only difference between the evaluation version of a toolkit and a registered version are some registration codes that make these Pause dialogs stop appearing. To a developer writing application code, these dialogs can be useful to see what is happening "under the covers" with version and opcode numbering and dll naming information being displayed in the Pause dialog itself. The Pause dialogs will appear the first time a particular "opcode" is used during the run of an application and then very infrequently randomly after that. They cause the application code to pause for approximately 5 seconds. If the Pause dialogs make operation timing difficult, it is a fairly straightforward procedure to do an operation once, start timing, and then repeat it for the desired number of iterations. Another option to conduct timing tests is to perform some series of operations one time so that each of the operations in the timing test have been performed once by the application before the timing run is made. PICTools is designed in a way that allows Accusoft to easily port it to different platforms, including optimizations for the targeted environment. If you don't see your desired platform currently supported by PICTools, contact us to discuss porting options. 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. #### PicVideo M-JPEG Codec 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. This watermark is being generated by the PICVideo codec (version 3 and below). When running in evaluation mode, it will display a watermark over the view when playing back M-MPEG compressed footage. Because the codec DLL files were most likely not installed using our installer, you can search for the following files on your system and remove them (They would have been placed in the Windows system folder by the installer - often c:windows\system32 or winnt\system32): pvmjpg21.dll, pvmjpg20.dll, pvmjpg20.hlp, pvljpg20.dll, pvwv220.dll, pvmjpg30.dll, and pvmjpg30.chm Alternatively, you could use any 3rd-party codec manager to remove the codec as well. Afterwards, PICVideo will be uninstalled. Any files that you saved through the PICVideo CODECs will have a permanent watermark. Any files saved with some other Motion JPEG CODEC will no longer display a watermark on viewing. #### Prizm ActiveX Viewer You may encounter the above error, or possibly errors as follows: - "The image file [FILENAME] could not be loaded" - “The image [FILENAME] could not be displayed because the image could not be queried” We have learned that Sophos anti-virus software can cause this behavior to occur. It has a feature called "Exploit Mitigation" which blocks Prizm from loading the file. We recommend communicating with Sophos support for details on creating an exception that will allow Prizm to gain access to the file. 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. Reference the Latest Builds page. You can check for the current version of the Prizm Viewer you have installed by using the About Box, accessible from the toolbar and the right click menu. If your web server is an internet web server: 1) Open Internet Explorer. 2) Click on the Tools and a menu displays. Click on Internet Options. 3) The Internet Options dialog box displays. Select the Security tab. 4) Near the bottom of the Security tab click on Custom level. The Security Settings - Internet Zone dialog box displays. 5) Scroll down to the section labeled Active X controls and plug-ins. 6) Under the option Allow previously unused ActiveX controls to run without prompt, select Enable. 7) Scroll down to the option Run ActiveX controls and plug-ins and select Enable. 8) Click OK. A Warning window displays asking: Are you sure you want to change the settings for this zone? 9) Click Yes. You will return to the Internet Options dialog box. 10) Click Apply. 11) Close Internet Explorer and then your internet settings are changed. If your web server is an intranet web server: 1) From Internet Explorer, click Tools on the menu bar. Click Internet Options at the bottom of the list. Choose the Security tab and click the green checkmark labeled Trusted sites. 2) Click the Sites button. 3) Uncheck the checkbox: "Require server verification (https:) for all sites in this zone". 4) Verify that http://yourintranetsite/ appears under "Add this website to the zone:" and click Add. 5) Check the "Require server verification (https:) for all sites in this zone" checkbox. 6) Click Close. To stop ActiveX warnings specifically for Prizm Viewer please use the following steps. Please note this assumes that IE 7 or IE 8 is being used. 1) From Internet Explorer, click Tools on the menu bar. 2) Click Manage Add-ons in the middle of the list. 3) Click the Show: dropdown menu in the top portion of the window and select All Add-ons. 4) Find the Pegasus Image Corporation group in the add-ons list. 5) Make sure the Prizm Viewer v8.0 entry has a status of Enabled. The entry name will include a service pack version number. 6) Double-click the Prizm Viewer v8.0 entry. 7) Modify the list of Restricted sites to include the sites that Prizm Viewer will be used with. 8) Close the two open windows. Your system administrator will need to set up an Annotation Server, and provide annotation mapping information for your organization. The Prizm Viewer help file discusses Annotation Mappings in Your Preferences\Annotations Preferences, and the Annotation Server help file includes extensive documentation. Both can be downloaded from the Prizm Viewer product pages. Internet Explorer 5.5 and above do not allow the Prizm Viewer to display JPEG files through the web. Internet Explorer insists on handling them natively. It routes all requests for image/jpeg files to itself even if a plug-in is registered. ActiveX controls have a higher priority than plug-ins, so IE's ActiveX for displaying JPEG files always handles JPEG files. Please contact technical support for ideas on how to work around this problem. This usually requires changes to the Web Server. If you have installed Prizm ActiveX Viewer 10 on your new system, you need to fully uninstall v10 before installing the earlier version. You will encounter problems with your system if you install the earlier version without first uninstalling the latest version. Follow these steps to uninstall Prizm ActiveX Viewer v10 if you have not also installed the older version. 1) Close all web browsers of any kind. 2) Open the Control Panel and select “Programs and Features”. 3) Locate and select the entry for Accusoft Prizm Viewer 10 MSI (or Accusoft Prizm Viewer 10 PDF MSI). 4) Select Uninstall. The product will then be removed. 5) Install the needed version of Prizm ActiveX Viewer, ensuring that all browsers are closed during installation. Follow these steps if you have installed the older release without first uninstalling the current release. In this situation both versions exist on your system, causing incorrect operation. Please be sure that all web browsers of any kind are closed during this process. 1) Close all web browsers. 2) Use the Control Panel to uninstall any listed versions of Accusoft Prizm Viewer as described above. 3) Reinstall the current incorrect release. This important step will ensure that that the incorrect release can then be fully uninstalled. 4) Use the Control Panel to again uninstall Accusoft Prizm Viewer. This should remove all traces of the incorrect version. 5) Install the older version of the product. Note that license keys are tied to a specific version of Prizm ActiveX Viewer, so please be certain that you are installing the version that matches your keys. 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. Apple Quicktime (or iTunes) causes the default viewer for TIFF images to change from Prizm ActiveX Viewer. The steps below outline how to make Prizm Viewer the default image viewer for TIFF images. 1) Open the file associations dialog from the start menu. Browse to Start | Programs | Prizm Viewer | File Associations. 2) To restore all file associations set at install time, select the Restore Defaults button to re-establish file associations created with Prizm Viewer was installed. Or if you prefer, simply scroll down in the list of file types until you locate the TIFF entry. 3) Click the checkbox to associate the Prizm Viewer with all TIFF and TIF documents. 4) Click Ok. 5) You may also, if you wish, check the box marked "Check file associations at startup and notify if mismatched." This will present you with an option to adjust your file associations if another application has re-set them since Prizm Viewer was last used. 6) Close all instances of IE. Microsoft Office contains the Microsoft Document Imaging Viewer which causes the default viewer for TIFF images to change to Microsoft Document Imaging Viewer. The steps below outline how to make Prizm Viewer the default image viewer for TIFF images. 1) Open the file associations dialog from the start menu. Browse to Start | Programs | Prizm Viewer | File Associations. 2) To restore all file associations set at install time, select the Restore Defaults button to re-establish file associations created with Prizm Viewer was installed. Or if you prefer, simply scroll down in the list of file types until you locate the TIFF entry. 3) Click the checkbox to associate the Prizm Viewer with all TIFF and TIF documents. 4) Click Ok. 5) You may also, if you wish, check the box marked "Check file associations at startup and notify if mismatched." This will present you with an option to adjust your file associations if another application has re-set them since Prizm Viewer was last used. 6) Close all instances of IE. When using Internet Explorer, the Prizm Viewer will open the following PDF documents: 1) PDF documents specified inside an image list file. 2) PDF documents referenced in HTML via an object tag that specifies the MIME type as "image/pdf". 3) PDF documents referenced in HTML via an object tag that specifies the CLASSID for Prizm Viewer. When using Firefox, the Prizm Viewer will open the following PDF documents: 1) PDF documents specified inside an image list file. 2) PDF documents referenced in HTML via an embed tag that specifies the MIME type as "image/pdf". 3) PDF documents stored on a Web Server that associates the MIME type "image/pdf" with PDF documents. You should first uninstall the existing version of Prizm Viewer to ensure that all traces of that version are removed from the system. This will ensure that your system is ready to install the new version. 1) Close all web browsers of any kind. 2) Open the Control Panel and select “Programs and Features”. 3) Locate and select the entry for Accusoft Prizm Viewer. (The listing might also be Accusoft Prizm Viewer PDF, Prizm Viewer or similar, depending on the version.) 4) Select Uninstall. The product will then be removed from your system. 5) Install the desired version of Prizm ActiveX Viewer version, ensuring that all web browsers are closed during installation. 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. 1) Open Internet Explorer. 2) Click on the Tools and a menu displays. Click on Internet Options. 3) The Internet Options dialog box displays. Select the Security tab. 4) Near the bottom of the Security tab click on Custom level. The Security Settings - Internet Zone dialog box displays. 5) Scroll down to the section labeled Active X controls and plug-ins. 6) Under the option Allow previously unused ActiveX controls to run without prompt, select Enable. 7) Scroll down to the option Run ActiveX controls and plug-ins and select Enable. 8) Click OK. A Warning window displays asking: Are you sure you want to change the settings for this zone? 9)Click Yes. You will return to the Internet Options dialog box. 10) Click Apply. 11) Close internet explorer and then your internet settings are changed. Because this setting changes security for your computer and not just Prizm Viewer, other ActiveX applications will also be permitted to run on your computer. You may want to check with your system administrator before making this change on your computer. Note: The Outlook Express email client presents a "Restricted sites" error message when trying to open email attachments with Prizm Viewer if you don't make the following changes. 1) In Outlook Xpress, open Tools|Options|Security tab. 2) Under the Virus Protection section and the "Select the Internet Explorer security zone to use", select the option: Internet Zone(Less Secure, but more functional). 3) Uncheck the "Do not allow attachments to be saved or opened that could potentially be a virus". 4) Choose OK and re-open your file attachment. It should now open fine with Prizm Viewer. Because this setting changes security for your Email client and not just Prizm Viewer, you may want to check with your system administrator before making this change on your computer. 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 Editor If the font in the document is not a font loaded on the server running PrizmDoc Editor, then Editor will attempt to substitute a font that is closest in appearance to the font used in the document. #### PrizmDoc Viewer Yes, and this FAQ will show you how! PrizmDoc comes packed with many tools that users can use to annotate documents; but what if you want to change the default properties of these annotations? Using our included Javascript API, it is very simple to do this! ### Example For example, the ellipse tool draws an ellipse with a red fill and a black border, but what if we want a red border and a transparent fill? Adding the following code after initializing our viewer will do this for us: // The tools used to create annotations on the viewer are called "Mouse Tools", PrizmDoc comes with a few predefined mouse tools. var ellipseMouseTool = PCCViewer.MouseTools.getMouseTool('AccusoftEllipseAnnotation'); // Get the ellipse mouse tool var template = ellipseMouseTool.getTemplateMark(); // Get the "template mark" that the mouse tool uses to create annotations // Now we make the changes we want to the template: template.setFillColor('transparent'); template.setBorderColor('#FF0000'); ellipseMouseTool.templateMark = template; // Finally, save the changes to the mouse tool ### References If you’re noticing that annotation tools will not stay selected upon release of the mouse this can be enabled by following the steps below. There are two states of selection for the annotation tools buttons: • On the first click the annotation tool will not remain selected when releasing the left mouse button after drawing/creating an annotation. • If the tool button is clicked twice before drawing/creating an annotation it will remain selected after releasing the left mouse button upon drawing/creating an annotation Here is the difference using the freehand tool as an example: One click: Second click: More information can also be found here: Currently there is no way to move a license key from one machine to another. Once a license key is tied to a machine, you can remove it from the machine (using the License Manager or manually deleting it from the registry), but that will not credit a license to your account. That said, if you run into an issue where you have licensed a machine by mistake, please contact sales@accusoft.com as they will work with you. We understand this is a current limitation of our licensing system and don’t want you to be adversely affected. Also, typically a development license comes with three "keys", so if you want to license an additional machine you most likely can. Run and log in to the License Manager and you can see the number of license keys remaining. There are some steps that can be taken to help deter legitimate end users from downloading, saving, sharing and printing your documents and data in PrizmDoc. See our page on configuring Digital Rights Management (DRM). The use of watermarks is also commonly used to prevent the leaking and exfiltration of data. Please refer to our help document on the use of watermarking in PrizmDoc. You can receive an audit log of user events from the Viewer when certain actions are performed. Please refer to the help documentation for full instructions on receiving JavaScript events from Prizm Content Connect/PrizmDoc. 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. On January 25th, 2017 Google began their rolling update of Chrome 56. Shortly thereafter it was discovered that this new update breaks our premiere document viewer, PrizmDoc. In Google Chrome 56, when accessing a web server running PrizmDoc v12.0 or v12.1, certain documents are affected by a rendering issue caused by scrolling (specifically with the mouse wheel) or by using the keyboard Page Up and Page Down keys, which causes the renderer to stop functioning properly. ##### To fix this issue: • This issue was fixed in PrizmDoc v12.2. Please update to the newest version of PrizmDoc if you're experiencing this issue. 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. To configure Prizm Application Services to point at the Accusoft Cloud-Hosted servers, modify the following values in the PAS configuration file: pccServer.hostName: "api.accusoft.com" pccServer.port: 443 pccServer.scheme: "https" pccServer.apiKey: "YOUR-API-KEY-HERE" ---- The configuration file is located in the following places. Windows: C:\Prizm\pas\pcc.win.yml Linux: /usr/share/prizm/pas/pcc.nix.yml A common approach to log file management on Linux is the use of logrotate. While there is no native Windows equivalent of logrotate, the same functionality can be achieved through the use of a third-party application. Below is an annotated configuration file for logrotate which can be configured to your preferences. Simply add the configuration below to your system's logrotate configuration file and your system will automatically manage your PrizmDoc log files. This configuration can also be extended by using the prerotate and postrotate options to add custom script execution to your regular rotation. # Configuration File Location: # ============================ # # Linux: /etc/logrotate.conf # Windows: C:/Program Files (x86)/LogRotate/Content/logrotate.conf # (After installing [logrotatewin](https://sourceforge.net/projects/logrotatewin/).) # # PRIZMDOC LOGROTATE CONFIGURATION # ================================ # # By default, PrizmDoc logs are located on Linux at: # # /usr/share/prizm/logs/* # # and on Windows at: # # C:/Prizm/logs/* # # For Windows, change the file paths below accordingly. # /usr/share/prizm/logs/*.log /usr/share/prizm/logs/**/*.log { # Rotate logs once per week. Available options are daily, weekly, monthly, and yearly. daily # If no *.log files are found, don't freak out missingok # Keep 14 files before deleting old log files (That's a default of 2 weeks of logs.) rotate 14 # Compress (gzip) log files compress # Don't rotate empty files notifempty # Run postrotate script after all logs are rotated. If this is not set, it will run postrotate after each matching file is rotated. sharedscripts # Script to run before rotation is done. prerotate echo "Pre-Rotate" endscript # Script to run after rotation is done. postrotate echo "Post-Rotate" endscript } Currently, by default PAS will start as many instances as there are Logical Processors/Cores available on the machine that it is installed. We hope to modify this functionality in a future release as it is not ideal on machines that have up to 32 cores. However, it is possible to manually modify the instances started by editing the "instances" parameter in the production.json file found in the "..\Prizm\pas\pm2\" directory. Example below: { "apps": [{ "name": "pas", "script": "app.js", "env": { "NODE_ENV": "production" }, "instances": 4, "exec_mode": "cluster_mode", "min_uptime": "15s", "max_restarts": 5, "out_file": "../logs/pas/pas-console.log", "error_file": "../logs/pas/pas-console.log" }] }  Below are the the possible ways to optimize viewing session loading times using using Viewing Session Properties. Each are Viewing Session properties you can pass in when first creating the viewing session using the PrizmDoc Server or Prizm Application Services Viewing Session RESTful APIs • startConverting- This property determines when the process to generate pages for viewing is started. This property requires that documentSource is "http" or "file" and contentType is set to a valid value. Valid values are: • "initialPages" means the process to generate pages for viewing is started during the initial POST /ViewingSession request. • "none" means the process to generate pages for viewing is started later during a request to POST /ViewingSession/{id}/Notification/SessionStarted, GET /Page or GET /PageAttributes, whichever comes first. • contentType - Determines the kind of content we will start pre-generating in the background so that it is ready for request more quickly. • In many cases, this property is optional (though it is required if documentSource is "http" or "file" and startConverting is "initialPages"). • Note that setting this property does not set the default content type for future requests for page content, nor does it limit in any way the types of content you may request. • It is only a hint so that we can begin to prepare the kind of content you will likely soon request. • Valid values are: • "png" • "svg" - paths only, no inline font (not supported in IE8) • "svga" - paths optimized with an inline font (not supported in IE8, IE10) • "svgb" - paths further optimized with an inline font (not supported in IE8, IE9, IE10, desktop Safari 9.x or Chrome on Windows) • "Swf" • countOfInitialPages - The default value is 0, which will cause PrizmDoc Server to behave in its default manner converting all pages (running enterprise=3) of the document as soon as any page is requested. • Setting countOfInitialPages to a value greater than 0 will instruct PrizmDoc Server to use two separate enterprise=3 operations: one to convert pages 0 through n-1 (where "n" the supplied value) and a second conversion to process pages "n" through the end of the document. • The second conversion will only occur when content that has not been converted is requested. This should allow the first "n" pages to be created and delivered to the Viewing Client without forcing the entire document to be converted. We have put together the following example script logic in bash and powershell that has proven to be very helpful in recovering an Unhealthy PCC/PrizmDoc servers: # Powershell Write-Host "Stopping Prizm" Stop-Service Prizm -Force Write-Host "Deleting C:\Prizm\Cache\*" remove-item -path "C:\Prizm\Cache\*" -Recurse -Force Write-Host "Deleting C:\ProgramData\Accusoft\Prizm\Temp\*" remove-item -path "C:\ProgramData\Accusoft\Prizm\Temp\*" -Recurse -Force Write-Host "Deleting C:\ProgramData\Accusoft\Prizm\Work\*" remove-item -path "C:\ProgramData\Accusoft\Prizm\Work\*" -Recurse -Force Write-Host "Deleting C:\ProgramData\Accusoft\Prizm\workOfficeConverter0\*" remove-item -path "C:\ProgramData\Accusoft\Prizm\workOfficeConverter0\*" -Recurse -Force Write-Host "Deleting C:\ProgramData\Accusoft\Prizm\workOfficeConverter1\*" remove-item -path "C:\ProgramData\Accusoft\Prizm\workOfficeConverter1\*" -Recurse -Force Write-Host "Starting Prizm" start-service Prizm Write-Host "Resetting IIS" iisreset  # BASH #!/bin/bash # # #Stop the services sudo service pccis stop sudo service pas stop #Alternatively you may have to perform the following steps: #sudo /usr/share/prizm/scripts/pccis.sh stop #sudo /usr/share/prizm/pas/pm2/pas.sh stop # #Clear the cache directories sudo rm -rf /usr/share/prizm/cache/ContentConversionCache/ ;\ sudo rm -rf /usr/share/prizm/cache/GroupState/ ;\ sudo rm -rf /usr/share/prizm/cache/RedactionCache/ ;\ sudo rm -rf /usr/share/prizm/cache/TempCache/ ;\ sudo rm -rf /usr/share/prizm/cache/WorkfileCache/ \ #Start the Services sudo service pccis start sudo service pas start  Please keep in mind that the above scripts are examples and must be tailored to your specific environment, particularly with cache locations. If you want to restart Prizm Application Services (PAS) the following commands can be given: Windows Desktop: Right Click on Windows Icon, Select Run, type in Services.msc, Right Click on Prizm Application Services and select Restart Windows in PowerShell: Restart-Service PrizmApplicationServices In Linux: sudo service pas restart PAS(Prizm Application Services) exposes RESTful API endpoints to communicate with your application implementation. It is possible to interact with these APIs selectively to test connections and potential application workflows. We typically use Postman | Supercharge your API workflow(a RESTful API client) to test this and have put together the following collection that can be imported and used as a template for all PAS API endpoints. When running the Prizm Licensing Utility in Linux using setup.sh and selecting Node Locked deployment licenses, you may receive an error: The licensing configuration file you provided is invalid. Please retry your request or break the licensing process: 1) Retry [r] 2) Break [b] Choose 1 or 2: r This can typically be due to one of the following reasons: • File Does Not Exist • The name of the path or filename entered in the Prizm Licensing Utility was misspelled. • The solution name entered in the Prizm Licensing Utility was misspelled. • You do not have permission to the file • There is a newline at the end of the configuration file 1. To clear the possible newline at the end of the file run truncate -s -1 <FileName> (Replace <FileName> with the name of your license configuration file) 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. This is the documentation on logs (you can see the part about which directory they go in and what “level” gets recorded): http://help.accusoft.com/PCC/v11.2/HTML/webframe.html#How%20to%20Configure%20Log%20File%20Locations.html The levels are rated in order of high to low importance: FATAL, ERROR, WARN, INFO, DEBUG, and TRACE. If you choose ERROR you will not receive logs rated below ERROR. So choosing FATAL will give you the least logs. Applying new licenses to your PrizmDoc instance is simple and fun! To do this properly, follow these steps: #### Stop the PrizmDoc instance. On Windows: 1. Open "Services" (Windows + R, enter "services.msc"). 2. Find "Prizm Application Services" and "Prizm". 3. Stop both services. On Linux: 1. Run the command "/usr/share/prizm/scripts/pccis.sh stop". 2. Run the command "/usr/share/prizm/pas/pm2/pas.sh stop". #### Run the Prizm License Utility (PLU). On Windows: 1. Navigate to "C:\Prizm\plu" in the file explorer. 2. Open "RunPLU.exe". 3. Follow the prompts to apply a new license. On Linux: 1. Run the command "java -jar /usr/share/prizm/plu/plu.jar". 2. Follow the prompts to apply a new license. #### Start the PrizmDoc instance. On Windows: 1. Open "Services" (Windows + R, enter "services.msc"). 2. Find "Prizm Application Services" and "Prizm". 3. Start both services. On Linux: 1. Run the command "/usr/share/prizm/scripts/pccis.sh start". 2. Run the command "/usr/share/prizm/pas/pm2/pas.sh start". That's it! Your existing PrizmDoc instance now has a new license applied it to! NOTE: If you encounter issues at any point, please ensure that you have the necessary permissions for these operations and start from the beginning. On Windows, this means following this procedure as a local administrator. On Linux, this means following this procedure as root. The port that the network.publicPort config value corresponds to is dependent on whether PCC is running in single-server or multi-server mode. In single-server mode, it is mapped to the sep_port (Server Entry Point), and in multi-server mode it is mapped to cep_port (Cloud Entry Point). This way, regardless of which mode PCC is running in, the public port is where external requests should be directed. In multi-server mode, network.clusterPort is used for sep_port. So when enabling multi-server mode in the central configuration file(prizm-services-config.yml) you have to keep in mind that by default the cep_port will be 18681 and the sep_port will be 18682. If you have code in your implementation that relies upon port 18681 as the sep_port you can swap the ports. For example, if you are in Multi-Server Mode, by default to access your admin page you will need to navigate to http://localhost:18682/admin After swapping the default network.publicPort and network.clusterPort you can then navigate to http://localhost:18681/adminIf you decide to swap the ports so that 18682 is the cep_port(the default in previous multi-server mode configurations) then you will need to make sure to change pcc server port in the pcc.win.yml file(PAS configuration file) By default in Windows you can locate the pcc.win.yml file in the C:\Prizm\pas directory. In Linux this file is by default located in the /usr/share/prizm/pas directory and named pcc.nix.yml. Below are screenshot examples of a configuration in which the cep_port is 18682 and the sep_port is 18681. The following describes amended steps that need to be performed in order to install Asian fonts on RHEL 6 based distributions, such as CentOS 6. In these distributions, the old language font group packages are no longer available. Instead, these releases have “group” lists which bundle multiple packages together. In order to see all language packages available through this interface, you can type the following command: # yum grouplist This will output all group packages, the last section of which is “Available Language Groups”. Note that some packs may already be installed, in which case, they will be visible under “Installed Language Packs” at the top of the list. In this case, “chinese-fonts” is now “Chinese Support”. To install this package, run the following command: # yum groupinstall "Chinese Support" To install all languages listed in the help file, run the following commands: # yum groupinstall "Chinese Support" # yum groupinstall "Japanese Support" # yum groupinstall "Korean Support" # yum groupinstall "Kannada Support" # yum groupinstall "Hindi Support" If special language characters still do not appear in the Flash viewer when using the legacy ProxyServer service, add the following parameter to the conversion URL specified in your application: flashver=9 Entering the following commands in a terminal will correctly install and start PrizmDoc 11.2: wget http://products.accusoft.com/PrizmDoc/11.2/prizmdoc_server_11.2.x86_64.rpm.tar.gz wget http://products.accusoft.com/PrizmDoc/11.2/prizmdoc_client_11.2.x86_64.rpm.tar.gz tar -xzvf prizmdoc_client_11.2.x86_64.rpm.tar.gz tar -xzvf prizmdoc_server_11.2.x86_64.rpm.tar.gz cd prizmdoc-server_11.2.0.625_rpm/ sudo su yum install --nogpgcheck *.rpm cd ../prizmdoc_client_11.2.0031.6266.x86_64.rpm/ yum install --nogpgcheck ./*.rpm sh /usr/share/prizm/setup.sh yum install xorg-x11-server-Xvfb Xvfb :20 >/dev/null 2>&1 & export DISPLAY=:20 /usr/share/prizm/scripts/pccis.sh start  Entering the following commands in a terminal will correctly install and start PrizmDoc 12.0: wget http://products.accusoft.com/PrizmDoc/12.0/prizmdoc_client_12.0.x86_64.rpm.tar.gz wget http://products.accusoft.com/PrizmDoc/12.0/prizmdoc_server_12.0.x86_64.rpm.tar.gz tar -xzvf prizmdoc_server_12.0.x86_64.rpm.tar.gz tar -xzvf prizmdoc_client_12.0.x86_64.rpm.tar.gz sudo su yum install --nogpgcheck ./prizmdoc_server_12.0.0.1730.x86_64.rpm/*.rpm yum install --nogpgcheck ./prizmdoc_client_12.0.0032.2955.x86_64.rpm/*.rpm sh /usr/share/prizm/setup.sh /usr/share/prizm/scripts/pccis.sh start  Entering the following commands in a terminal will correctly install and start PrizmDoc 12.0: wget http://products.accusoft.com/PrizmDoc/12.0/prizmdoc_client_12.0.x86_64.rpm.tar.gz wget http://products.accusoft.com/PrizmDoc/12.0/prizmdoc_server_12.0.x86_64.rpm.tar.gz tar -xzvf prizmdoc_server_12.0.x86_64.rpm.tar.gz tar -xzvf prizmdoc_client_12.0.x86_64.rpm.tar.gz sudo su yum install --nogpgcheck ./prizmdoc_server_12.0.0.1730.x86_64.rpm/*.rpm yum install --nogpgcheck ./prizmdoc_client_12.0.0032.2955.x86_64.rpm/*.rpm sh /usr/share/prizm/setup.sh /usr/share/prizm/scripts/pccis.sh start yum install xorg-x11-server-Xvfb Xvfb :20 >/dev/null 2>&1 & export DISPLAY=:20  Entering the following commands will install and start PrizmDoc 12.2 client, server and demo: wget http://products.accusoft.com/PrizmDoc/12.2/prizmdoc_client_12.2.amd64.deb.tar.gz wget http://products.accusoft.com/PrizmDoc/12.2/prizmdoc_server_12.2.amd64.deb.tar.gz tar xzvf prizmdoc_client_12.2.amd64.deb.tar.gz tar xzvf prizmdoc_server_12.2.amd64.deb.tar.gz dpkg --force-depends -i ./prizmdoc_server_12.2.0.2931.amd64.deb/*.deb dpkg --force-depends -i ./prizmdoc_client_12.2.0.263.amd64.deb/*.deb sudo apt -f install sudo /usr/share/prizm/setup.sh Please see our online help documentation for more information. Enjoy! When installing PrizmDoc on a headless Linux machine you must make sure to install an X11 Virtual Framebuffer Server To do so, you will need to follow Step 4 on the following page of our help documentation: http://help.accusoft.com/PrizmDoc/v11.1/HTML/webframe.html#Installation%20on%20a%20Headless%20Environment.html If after performing the above steps the PrizmDoc Services are still Unhealthy, it may be because the C library language locale is not properly set. In that case you will want to execute the following steps to set your locale: First make sure your library language is installed • sudo apt-get install language-pack-en-base Then, as superuser, shorten the work by allowing Ubuntu to automatically configure them: • sudo dpkg-reconfigure locales  Check your setup, if it's correct then good. But if you have the LANG= or LANGUAGE= settings blank, run this in command line: • locale -a  Which generates the locales installed and available to you. Choose the locale from the output generated that fits your situation, and export that setting to replace your locales, for example: • export LC_ALL="en.utf-8" Lastly, restart prizm • /usr/share/prizm/scripts/pccis.sh start To install PrizmDoc on a Microsoft Azure Ubuntu (14.04 LTS) Virtual Machine follow the instructions found here and here. Finally add this command to satisfy library dependencies: sudo apt-get install libxi6 libgconf-2-4 ##### Fetch the *.deb archives from our evaluation download page: ##### Unpack and execute in each respective folder: • sudo dpkg --force-depends -i *.deb • sudo apt-get -f install ##### Add the following to /etc/apache2/apache2.conf around line 176: • Alias /pccis_sample /usr/share/prizm/Samples/php <Directory /usr/share/prizm/Samples/php> AllowOverride All Require all granted </Directory> ##### Get sample dependencies: • sudo apt-get install php5-curl libapache2-mod-php5 ##### Restart all the things! • sudo apachectl restart && sudo /usr/share/prizm/pas/pm2/pas.sh restart && sudo /usr/share/prizm/scripts/pccis.sh restart && sudo /usr/share/prizm/scripts/demos.sh restart ##### Try it: Please see our online help documentation for more information. This is a quick check list to use when installing PrizmDoc on Windows:  1. Make a new VM. 2. Give it at least 32 GB of RAM* 3. Give is at least 4 CPU cores* 4. Install a supported Operating System* (Linux is best. 64 bit Windows 7 or newer, or 64 bit Windows Server 2008 R2 or newer will work) You must install all Windows Updates!! 5. Install the IIS, ASP, and .net 4.0 (or higher) features. 6. If you have an MSO license you must install Microsoft Office 2013 or 2016 Standard Edition. License, activate and run Microsoft Office. 7. Reboot. 8. Install the Windows Updates 9. Reboot 10. Right click and select “Run as Administrator” on the PrizmDoc Server installer. 11. Reboot 12. Right click and select “Run as Administrator” on the PrizmDoc Client installer, unless you are installing the client on another machine, which we recommend 13. Ensure that "Microsoft XPS Document Writer" is the default printer in "Devices and Printers. 14. Once it is running, never make any configuration changes. 15. Set Windows to make restore points so you can roll back to a known working system in case of failure. 16. Take frequent snapshots. This gives you a second way you can restore to a known working system.  *PrizmDoc Tech Specs **PrizmDoc Installing Self-hosted **PrizmDoc Installing Cloud-hosted If you're attempting to apply a node-locked deployment license to a machine running in headless mode that has no internet connection, you'll need to make use of the X11 protocol. The first step in this process is to install an X Virtual Framebuffer Server on the headless machine. To do this, follow these steps: 1. Run the following command: For Debian/Ubuntu: sudo apt-get install xvfb For Red Hat/CentOS: yum install xorg-x11-server-Xvfb 2. Start the service by running the following command, and then export the instance to the DISPLAY environment variable expected by the PrizmDoc Server: Xvfb :20 >/dev/null 2>&1 & export DISPLAY=:20 The next step, is to install XMing and PuTTY on the machine that will be remote accessing the headless machine: Now that everything is installed, a XMing server needs to be started on the connecting machine. To do this open an XLaunch session and navigate through the dialog, setting the configuration to the following: Display settings: "Multiple windows" Session type: "Start a program" Start program: "Using PuTTY" (here you’ll need to enter the headless machine's local IP and login credentials) Additional parameters: leave as default Finish The XMing server should now be running. The next step is to create a new PuTTY session, enabling X11 forwarding, like so: Next, point the PuTTY session to the remote machine and open the connection. Run the following commands to initiate the setup: cd /usr/share/prizm sh ./setup.sh Finally, continue through the steps outlined here: http://help.accusoft.com/PrizmDoc/v11.2/HTML/Deployment%20Licensing_Licensing%20on%20a%20Device%20without%20an%20Internet%20Connection.html If you would like a script that would check the health of a PrizmDoc server and attempt to start it automatically then the following bash script is for you. It works as is or can be modified to suit your needs. It works by checking Prizm's health at http://127.0.0.1:18681/PCCIS/V1/Service/Current/Health and if it does not receive an "OK" back it runs /usr/share/prizm/scripts/pccis.sh restart and /usr/share/prizm/pas/pm2/pas.sh restart to restart Prizm and PAS. DISCLAMER: This is just a suggestion.  #!/bin/bash while true; do if curl -sSf http://127.0.0.1:18681/PCCIS/V1/Service/Current/Health then echo " It is up!" sleep 3 else echo "Prizm is dead, sleeping 60 seconds just in case..." sleep 60 if curl -sSf http://127.0.0.1:18681/PCCIS/V1/Service/Current/Health then echo "It is back up" else echo "Prizm is still dead, trying to restart now..." /usr/share/prizm/scripts/pccis.sh restart & /usr/share/prizm/pas/pm2/pas.sh restart & sleep 180 fi fi done   PrizmDoc High Availability Best Practices Overview PrizmDoc can be configured to run as on a single server. It can also be installed on several machines and be configured to run in a multi-server mode. When in multi-server mode each server has a cloud entry port (by default this is TCP port 18681) and a server entry port (by default 18682). The request from Prizm Application Service (PAS) or you web tier should be directed to the cloud entry port. Once the server receives the request it will analyze this request and if it has an affinity token (see: SAAS Affinity Tokens and PrizmDoc Affinity Tokens) the server will route this request to the correct server's server entry port. If there is no affinity token the server will send it either to its own server entry port or the server entry port of another server based. This functions as a random load balancer. See: PrizmDoc Multi-Server Mode By default PrizmDoc server installs in a single server configuration. To put a server in mulit-server mode some changes should be made to the server's central configuration file (by default in Windows this is C:\Prizm\pas\pcc.win.yml and in Linux this is in /usr/share/prizm/pas/pcc.nix.yml) You should have these lines (be sure to put in the IP addresses of your servers) network.publicPort: 18682 network.clustering.enabled: true network.clustering.clusterPort: 18681 network.clustering.servers: {"192.168.0.1", "192.168.0.2", 192.168.0.3"} The above example should be put into all 3 computers (at 192.168.0.1, 192.168.0.2, and 192.168.0.3) After changing the configuration file the Prizm and Prizm Application Service must be restarted. To achieve high availability with PrizmDoc servers you should implement your own load balancer which checks to see if each PrizmDoc instance is healthy. A server's health can be checked programmatically at this page: http://localhost:18682/admin (In single server mode this is found at http://localhost:18681/admin (notice the different port number)) See here: Checking PrizmDoc Health If the server does not respond with a webpage containing the word "healthy" the entry for that server should remove from the configuration in each of the remaining healthy servers and the load balancer does not forward requests to that server. The updated list can to a server with this command (this should be done to each healthy server and should be exactly the same for each server): PUT http://192.168.0.1:18681/PCCIS/V1/Service/Properties/Servers { "servers": [ { "address": "192.168.0.1", "port": "18682" }, { "address": "192.168.0.2", "port": "18682" } ] } The above example would take 192.168.0.3 out of the list of servers being used. See: Checking PrizmDoc Health An effective method of troubleshooting the functionality/healthiness of the PrizmDoc Server services is to use our Static Viewer Test. You can do this by navigating to the following page on your PrizmDoc Server: http://localhost:18681/PCCIS/V1/Static/Viewer/Test The localhost portion should be changed to the IP of the PrizmDoc Server if it resides on a separate machine. When the page is loaded you can drag and drop a document or click to browse to a document of your choice. This test will verify that the PrizmDoc Services are running properly and rendering issues may be due to your implementation. If the Static Viewer Test fails please see our troubleshooting guide here you may be having the issue listed here: https://www.accusoft.com/faqs/#faq-question-17803-prizmdoc If this still doesn't work, please try our troubleshooting guide here: http://help.accusoft.com/PrizmDoc/v12.2/HTML/webframe.html#Troubleshooting.html Please note this tool is available in the following versions of PrizmDoc/PCC: 9.3, 10.(0-5) , 11, 12 1. Download Apache. You can find it at the Apache Lounge. 2. Extract it in C:\ 3. In Apache24\conf\httpd.conf uncomment the lines containing these phrases: 1. proxy_module 2. proxy_http_module 3. mod_vhost 4. Include conf/extra/httpd-vhosts.conf 4. Change the contents of Apache24\conf\extra\httpd-vhosts.conf to this:  ServerAdmin YOUREMAILADDRESS DocumentRoot "C:/Apache24/htdocs" ServerName PrizmDocURL ErrorLog "logs/proxy.log" CustomLog "logs/proxy.log" common ProxyRequests On ProxyPreserveHost Off Order deny,allow Allow from all <Location "/"> ProxyPass "http://PrizmDocURL:18681/" connectiontimeout=5 timeout=300 ProxyPassReverse "http://PrizmDocURL:18681/"  5. In that same file change where it says "PrizmDocURL" to your actual URL and "YOUREMAILADDRESS" to your actual email address 6. Open a command prompt with administrtor privilges (click the start button, type 'cmd', right click the icon, select "Run As Adminstrator"). 7. Type c:\Apache24\bin\httpd -k start Wow! That was easy. Accusoft has an amazing support team! The following step by step directions show how to change all the HTTP API calls traveling between PrizmDoc and PAS into HTTPS traffic. If you have a policy requiring that all your "data in transit" be encrypted, this may be your solution. This assumes that PAS and PrizmDoc are on separate servers which communicate through the network. Install PAS (aka PrizmDoc client) on Ubuntu 14.04. Name it PAS1. Install PrizmDoc on Ubuntu 14.04. Name it PrizmDoc1. The PAS server is named PAS1. The PrizmDoc server is named PrizmDoc1. These commands will make self-signed certificates (this is from the Official Ubuntu Certificates Documentation). Do this on both PAS1 and PrizmDoc1: sudo su cd openssl genrsa -des3 -out server.key 2048 openssl rsa -in server.key -out server.key.insecure mv server.key server.key.secure mv server.key.insecure server.key openssl req -new -key server.key -out server.csr openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt sudo cp server.crt /etc/ssl/certs sudo cp server.key /etc/ssl/private sudo mkdir /etc/ssl/CA sudo mkdir /etc/ssl/newcerts sudo sh -c "echo '01' > /etc/ssl/CA/serial" sudo touch /etc/ssl/CA/index.txt openssl req -new -x509 -extensions v3_ca -keyout cakey.pem -out cacert.pem -days 3650 sudo mv cakey.pem /etc/ssl/private/ sudo mv cacert.pem /etc/ssl/certs/ sudo openssl ca -in server.csr -config /etc/ssl/openssl.cnf cat server.crt server.key > server.pem Now we need to put the public certification from PAS1 onto PrizmDoc1 and vice versa. This allows each server to verify the other's identity. This example installs the SSH server and then uses secure copy (SCP) to move it over. Replace "user" with your actual username. On both servers do: sudo apt-get install openssh-server This installs and starts the SSH server On PAS1 do: scp PAS1.crt user@PrizmDoc1:~ This copies the certificate from PAS1 to PrizmDoc1 On PrizmDoc1 do: cp /home/user/PAS1.crt /usr/local/share/ca-certificates/ Certs in the ca-certificates folder are trusted update-ca-certificates --fresh This updates the list of certs scp PrizmDoc1.crt user@PAS1:~ This copies PrizmDoc1's cert to PAS1 On PAS1 do: cp /home/user/PrizmDoc1.crt /usr/local/share/ca-certificates/ update-ca-certificates --fresh These commands will install the HAProxy 1.7. (From here) Do these same commands on both PrizmDoc1 and PAS1: apt-get install software-properties-common add-apt-repository ppa:vbernat/haproxy-1.7 apt-get update apt-get install haproxy Now lets change the config files in HAProxy at /etc/haproxy/haproxy.cfg. In PrizmDoc1 replace your file with this: global log 127.0.0.1 local0 notice maxconn 2000 user haproxy group haproxy log /dev/log local0 log /dev/log local1 notice chroot /var/lib/haproxy stats socket /run/haproxy/admin.sock mode 660 level admin stats timeout 30s user haproxy group haproxy daemon defaults log global mode http option httplog option dontlognull timeout connect 5000 timeout client 50000 timeout server 50000 errorfile 400 /etc/haproxy/errors/400.http errorfile 403 /etc/haproxy/errors/403.http errorfile 408 /etc/haproxy/errors/408.http errorfile 500 /etc/haproxy/errors/500.http errorfile 502 /etc/haproxy/errors/502.http errorfile 503 /etc/haproxy/errors/503.http errorfile 504 /etc/haproxy/errors/504.http frontend ToPAS bind *:3001 ssl crt /root/PrizmDoc1.pem option http-server-close option forwardfor reqadd X-Forwarded-Proto:\ https reqadd X-Forwarded-Port:\ 3001 # set HTTP Strict Transport Security (HTST) header rspadd Strict-Transport-Security:\ max-age=15768000 # some ACLs and URL rewrites... default_backend PAS backend PAS #server PAS1 PAS1:3000 server PAS1 PAS1:3001 ssl verify none frontend ToPrizmDoc bind *:18684 ssl crt /root/PrizmDoc1.pem option http-server-close option forwardfor reqadd X-Forwarded-Proto:\ https reqadd X-Forwarded-Port:\ 18684 # set HTTP Strict Transport Security (HTST) header rspadd Strict-Transport-Security:\ max-age=15768000 # some ACLs and URL rewrites... default_backend PrizmDoc backend PrizmDoc server PrizmDoc 127.0.0.1:18681  Replace the configuration file (/etc/haproxy/haproxy.cfg) of PAS1 with: #working out SSL #notes enable SSL caching on webserver global log 127.0.0.1 local0 notice maxconn 2000 user haproxy group haproxy log /dev/log local0 log /dev/log local1 notice chroot /var/lib/haproxy stats socket /run/haproxy/admin.sock mode 660 level admin stats timeout 30s user haproxy group haproxy daemon defaults log global mode http option httplog option dontlognull timeout connect 5000 timeout client 50000 timeout server 50000 errorfile 400 /etc/haproxy/errors/400.http errorfile 403 /etc/haproxy/errors/403.http errorfile 408 /etc/haproxy/errors/408.http errorfile 500 /etc/haproxy/errors/500.http errorfile 502 /etc/haproxy/errors/502.http errorfile 503 /etc/haproxy/errors/503.http errorfile 504 /etc/haproxy/errors/504.http frontend ToPAS bind *:3001 ssl crt /root/PAS1.pem bind *:443 ssl crt /root/PAS1.pem option http-server-close option forwardfor reqadd X-Forwarded-Proto:\ https reqadd X-Forwarded-Port:\ 3001 # set HTTP Strict Transport Security (HTST) header rspadd Strict-Transport-Security:\ max-age=15768000 default_backend PAS backend PAS server PAS 127.0.0.1:3000 frontend ToPrizmDoc bind *:18684 option http-server-close option forwardfor default_backend PrizmDoc backend PrizmDoc server PrizmDoc1 PrizmDoc1:18684 ssl verify none  Now that HAProxy is configured we can start the server. Do this command on both servers: service haproxy start start the PrizmDoc service on PrizmDoc1 /usr/share/prizm/scripts/pccis.sh start Start the PAS service on PAS1 /usr/share/pas/pm2/pas.sh start Congratuations!! Your backend is encrypted. Document viewing works on a viewing session basis (as managed by the viewingSessionId). This means that all of the document data (such as SVG payload, attributes, text, etc.) are all unique to a given viewing session. Though the shared resources (JavaScript, CSS, icons, etc.) are all cached in the browser, the document content is not cached, because those are unique resources for each session. PCCIS does not, in a usability sense, preserve any data on the server. Instead, it is a processor. PCCIS takes in a document and produces a series of output files, some of which will be delivered to the viewer when a document is requested. Those files are cached by PCCIS, but that caching is for performance reasons, and it is intended as a short term convenience. As such, every time PCCIS receives a request to view a document, it generates a unique viewing session. That viewing session ID acts as a unique identifier that indicates which content the browser is requesting, meaning that that the browser sees the content for each request as unique content. An example of how the viewer uses unique, non-cachable content is watermarking. In this case, even though the physical document is the same every time, the watermark is dynamically generated server content. Each new request for a document creates new content for the browser and so each version of that content could have also have a unique watermark. Note, however, that re-requesting resources while in the same session does leverage the browser cache. For example, scrolling through a large document causes previously loaded pages to be discarded from the DOM. When the document is scrolled back to previously viewed pages, those pages are fetched from the local browser cache. This is the expected behavior as long as the current viewing session is valid (i.e. – has not timed out) On Windows installing PrizmDoc Server takes about 2.3 gigabytes and installing PrizmDoc Client uses about 400 megabytes. If you are installing the PrizmDoc server you will want much more free disk space for the cache. For caching information see our caching strategies help page page and our configuring the PrizmDoc Server. You can choose to encrypt all the data sent from the web server to the client using HTTPS. You also have the option of using content encryption by following these directions. These encryption options prevent a third party from viewing or altering your documents and data while in transit through the Internet from the server to the viewing client. Encryption will not prevent a legitimate viewer of the data or document for saving or sharing it. see: Enabling Content Encryption During an uninstall of the PrizmDoc Client from a Windows system you may receive the error below. This issue might be caused by the IIS Server Role being removed prior to the uninstall attempt. PrizmDoc Client uninstallation encountered an error. Your system has not been modified. To uninstall this program at a later time, run the installer again. Click the finish button to exit the Installer. To fix the issue follow the steps below: • Add the IIS Server Role back to your Windows system • Restart the system • Attempt to uninstall the PrizmDoc Client again 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. Most likely this is because you only installed PrizmDoc Server, and not PrizmDoc Client. If you are doing a self-hosted installation, you will need to install PrizmDoc Client as well. See this page for help with installation Starting at version 11, the PrizmDoc client and backend components have become less strict to where it's possible to use different builds across a version. However, some build-specific client-side features may not be supported when using prior client builds with a later backend. As always, if you do notice abnormal behavior, verify whether this behavior persists when matching the client and backend versions. If so, this may be an issue to report to Accusoft Support. Yes and No. While there is no artificial limit to the number of viewing sessions that the PrizmDoc server can manage simultaneously, it is important to keep in mind that viewing sessions require a certain amount of hardware resources and network bandwidth. That being said, the number of viewing sessions your server can handle simultaneously will be directly dependent upon the resources available to it. Important considerations are: • CPU and RAM resources - for document processing and general server operations. • Storage Capacity - for document artifacts and server cache. • Network bandwidth - for communication between different components of the PrizmDoc server. Any one of these resources can act as a limiting factor to the number of active viewing sessions that your server can handle. For guidance on sizing your server to fit your particular needs, please refer to the server sizing guide, found in the PrizmDoc documentation: Yes. If you are looking for a troubleshooting guide for PrizmDoc please refer to this Windows Troubleshooting Guide or this Linux Troubleshooting Guide Note: This is only valid for versions 11.2 and earlier, maxRequestLength has been deprecated on versions 12.0+ By default /usr/share/prizm/pccis/servicehost/host.config contains the following limitation: /usr/share/prizm/pccis/servicehost/host.config "httpRuntime": { ... "maxRequestLength": 50000000 }  which limits maximum document file size to 50Mb, and so PCCIS will return HTTP-500 when larger files are uploaded to the service. If you are dealing with larger files it will necessary to change the "maxRequestLength" option to a more appropriate value. ISSUE: When loading larger PDF's or PDF's with large raster content in the PrizmDoc viewer, you may receive a "Page Load Failed" error. CAUSE: The may be caused by the process taking longer than 20 minutes to convert the file on the PrizmDoc Server RESOLUTION: 1. Make a backup of the Prizm\prizm-services-config.yml file 2. Modify the original file and remove the # and space in front of setting processIds.lifetime: 20m and set it from 20m to 1h 3. Restart the prizm service. NOTE: You made need to make this setting higher depending on size and content of file. ISSUE: Receive a "Page Load Failed" error when viewing Word, Excel, PDF, or Text files in PrizmDoc viewer, however, can view PNG, JPEG, and ACAD when running on CentOS7. ROOT CAUSE: This issue may be due to a missing library. Please ensure you verify all required libraries are installed. For a list of libraries please see: http://help.accusoft.com/PrizmDoc/v13.1/HTML/webframe.html#Linux_Requirements.html RESOLUTION: To resolve this specific issue please run the following command on your CentOS7 PrizmDoc server: sudo yum install -y libjpeg Restart your server and you should now be able to view those document types. Some find that PrizmDoc log files are growing too large on their Windows systems. If you want to delete old log files you can use the following PowerShell script: $limit = (Get-Date).AddDays(-2) #Set the negative number to your retention period. Example is 2 days
$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 us 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",
. . .
},
}
}

#### 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'
You can view our security bug fix policy here.
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

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.

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.

PrizmDoc is just the rebranding of Prizm Content Connect starting in version 11. They are the same product.
When starting the Prizm service, the service enters a running state, however, you are unable to get a server status when running http://localhost:18681/admin. The root cause of this issue may be  due to McAfee security blocking the execution of WMIC.EXE on the server. To fix the issue, disable  the rule blocking WMIC.exe from being executed on the server running Prizm services. NOTE: The Prizm Application Service may also error when attempting to start if installed on the same server.
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;.

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 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 only reliable and absolute fix for this bug is to upgrade to the newest version of PrizmDoc. If you believe this bug is affecting your system, please contact marketing at marketing@accusoft.com with your Prizm server logs. Please zip the entire directory and upload the file to our FTP site using the following guide: "I have some very large files that I need to upload. Is there an FTP location that you can provide to upload the files to?"
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.

#### ScanFix Xpress

Currently there is no way to move a license key from one machine to another. Once a license key is tied to a machine, you can remove it from the machine (using the License Manager or manually deleting it from the registry), but that will not credit a license to your account. That said, if you run into an issue where you have licensed a machine by mistake, please contact sales@accusoft.com as they will work with you. We understand this is a current limitation of our licensing system and don’t want you to be adversely affected. Also, typically a development license comes with three "keys", so if you want to license an additional machine you most likely can. Run and log in to the License Manager and you can see the number of license keys remaining.
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.

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.

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.

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

Currently there is no way to move a license key from one machine to another. Once a license key is tied to a machine, you can remove it from the machine (using the License Manager or manually deleting it from the registry), but that will not credit a license to your account. That said, if you run into an issue where you have licensed a machine by mistake, please contact sales@accusoft.com as they will work with you. We understand this is a current limitation of our licensing system and don’t want you to be adversely affected. Also, typically a development license comes with three "keys", so if you want to license an additional machine you most likely can. Run and log in to the License Manager and you can see the number of license keys remaining.
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