Technical FAQs

Question

How do I remove XMP Data from my image using ImageGear .NET?

Answer

When removing XMP data in ImageGear, the simplest way to do this is to set the XMP Metadata node to null, like so:

ImGearSimplifiedMetadata.Initialize(); 
doc.Metadata.XMP = new ImGearXMPMetadataRoot();

Or, you can traverse through the metadata tree and remove each node from the tree:

// Example code. Not thoroughly tested
private static void RemoveXmp(ImGearMetadataTree tree)
{
ArrayList toRemove = new ArrayList();
foreach (ImGearMetadataNode node in tree.Children)
{
    if (node is ImGearMetadataTree)
        RemoveXmp((ImGearMetadataTree)node);

    if (node.Format != ImGearMetadataFormats.XMP)
        continue;

    toRemove.Add(node);
}

foreach (ImGearMetadataNode node in toRemove)
    tree.Children.Remove(node);
}
Question

How do I ensure temp files are deleted when closing ImageGear .NET?

Answer

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 object’s 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.

Question

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

The module igPDF18a.ocx failed to load

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

Answer

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

regsvr32 igPDF18a.ocx

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

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

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

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

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

Question

How do I ensure temp files are deleted when closing ImageGear .NET?

Answer

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 object’s 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.

Question

I am combining multiple PDF documents together, and I need to create a new bookmark collection, placed at the beginning of the new document. Each bookmark should go to a specific page or section of the new document.
Example structure:

  • Section 1
    • Document 1
  • Section 2
    • Document 2

How might I do this using ImageGear .NET?

Answer

You are adding section dividers to the result document. So, for example, if you are to merge two documents, you might have, say, two sections, each with a single document, like so…

  • Section 1
    • Document 1
  • Section 2
    • Document 2

…The first page will be the first header page, and then the pages of Document 1, then another header page, then the pages of Document 2. So, the first header page is at index 0, the first page of Document 1 is at index 1, the second header is at 1 + firstDocumentPageCount, etc.

The following code demonstrates adding some blank pages to igResultDocument, inserting pages from other ImGearPDFDocuments, and modifying the bookmark tree such that it matches the outline above, with "Section X" pointing to the corresponding divider page and "Document X" pointing to the appropriate starting page number…

// Create new document, add pages
ImGearPDFDocument igResultDocument = new ImGearPDFDocument();
igResultDocument.CreateNewPage((int)ImGearPDFPageNumber.BEFORE_FIRST_PAGE, new ImGearPDFFixedRect(0, 0, 300, 300));
igResultDocument.InsertPages((int)ImGearPDFPageNumber.LAST_PAGE, igFirstDocument, 0, (int)ImGearPDFPageRange.ALL_PAGES, ImGearPDFInsertFlags.DEFAULT);
igResultDocument.CreateNewPage(igFirstDocument.Pages.Count, new ImGearPDFFixedRect(0, 0, 300, 300));
igResultDocument.InsertPages((int)ImGearPDFPageNumber.LAST_PAGE, igSecondDocument, 0, (int)ImGearPDFPageRange.ALL_PAGES, ImGearPDFInsertFlags.DEFAULT);

// Add first Section
ImGearPDFBookmark resultBookmarkTree = igResultDocument.GetBookmark();
resultBookmarkTree.AddNewChild("Section 1");
var child = resultBookmarkTree.GetLastChild();
int targetPageNumber = 0;
setNewDestination(igResultDocument, targetPageNumber, child);

// Add first Document
child.AddNewChild("Document 1");
child = child.GetLastChild();
targetPageNumber = 1;
setNewDestination(igResultDocument, targetPageNumber, child);

// Add second Section
resultBookmarkTree.AddNewChild("Section 2");
child = resultBookmarkTree.GetLastChild();
targetPageNumber = 1 + igFirstDocument.Pages.Count;
setNewDestination(igResultDocument, targetPageNumber, child);

// Add second Document
child.AddNewChild("Document 2");
child = child.GetLastChild();
targetPageNumber = 2 + igFirstDocument.Pages.Count;
setNewDestination(igResultDocument, targetPageNumber, child);

// Save
using (FileStream stream = File.OpenWrite(@"C:\path\here\test.pdf"))
{
    igResultDocument.Save(stream, ImGearSavingFormats.PDF, 0, 0, igResultDocument.Pages.Count, ImGearSavingModes.OVERWRITE);
}

...

private ImGearPDFDestination setNewDestination(ImGearPDFDocument igPdfDocument, int targetPageNumber, ImGearPDFBookmark targetNode)
{
    ImGearPDFAction action = targetNode.GetAction();
    if (action == null)
    {
        action = new ImGearPDFAction(
            igPdfDocument,
            new ImGearPDFDestination(
                igPdfDocument,
                igPdfDocument.Pages[targetPageNumber] as ImGearPDFPage,
                new ImGearPDFAtom("XYZ"),
                new ImGearPDFFixedRect(), 0, targetPageNumber));
        targetNode.SetAction(action);
    }
    return action.GetDestination();
}

(The setNewDestination method is a custom method that abstracts the details of adding the new destination.)

Essentially, the GetBookmark() method will allow you to get an instance representing the root of the bookmark tree, with its children being subtrees themselves. Thus, we can add a new child to an empty tree, then get the last child with GetLastChild(). Then, we can set the action for that node to be a new "GoTo" action that will navigate to the specified destination. Upon save to the file system, this should produce a PDF with the below bookmark structure…

Bookmarks example

Note that you may need to use the native Save method (NOT SaveDocument) described in the product documentation here in order to save a PDF file with the bookmark tree included. Also, you can read more about Actions in the PDF Specification.

 

Enterprises are continuously engaged in a process of evaluating their operations to identify opportunities for improvement. When one of the world’s leading mortgage lenders took a closer look at how it was handling documents to process applications, it quickly recognized the need to implement a solution that would allow them to scale capacity and enable faster loan processing. The company’s diversified businesses included banking, capital markets, and insurance, all of which combined to handle more than $1 trillion in mortgages, with nearly $2 billion in new loans each day.

Overview

For many years, the lender had processed applications by hand, entering information from paper and electronic forms into a mortgage processing application. While users had to thumb through paper documents, electronic loan documents were made available through a content management system and a dual-monitor workstation. One screen contained the loan processing application and a list of electronic loan documents. The other screen displayed the selected document and allowed the user to browse its contents. 

In examining their loan purchasing process, the lender discovered that while it took 7-9 days to close a paper document loan, electronic documents closed in just 4-5 days. Unfortunately, the legacy content management system limited scalability and performance, and a grossly underpowered document viewing application further impacted user productivity. The potential revenue gain in expanding their use of electronic documents was enormous – in terms of enhanced efficiency alone. To retain their competitive edge in a challenging market, the lender made the decision to replace their legacy CMS with an enterprise solution.

Challenges

But in order to realize the full productivity potential of the new enterprise CMS system, the lender also needed to upgrade its client document viewing application. The new viewer needed to provide reliable viewing for various types of electronic forms, including scanned documents, faxes, and emails in TIFF, JPEG, and PDF formats. To meet productivity demands, the first page of each document had to be accessed within two seconds. The technology also had to be entirely web-based since no documents could be stored on a client’s desktop or hard drive due to compliance constraints. From a user experience standpoint, the viewing solution also needed to provide scalable thumbnail rendering, accommodate mouse and keyboard navigation with “hot keys,” and be able to meet rigorous load-testing requirements. 

After a thorough review of available options, the lender selected Accusoft’s PrizmDoc® for Java, formerly VirtualViewer®, HTML5 viewing technology to address its complex functionality and security requirements. Critically, PrizmDoc® for Java supported the lender’s required document set of PDF, TIFF, and JPEG, as well as AFP, PCL, MS Office, and many other important business document formats, which provided the growing lender with additional flexibility for future expansion. The viewer also delivered a variety of thumbnail features, including page rotation sync, full panel view, and adjustable size options. PrizmDoc® for Java’s configurable user interface would also make it easy to implement navigation options and hot keys that enhanced productivity. 

The lender had little time to dedicate to the integration with its new enterprise CMS solution, especially since much of the integration time would be taken up by the load-testing process. Fortunately, PrizmDoc® for Java’s intuitive API made it easy to incorporate the product seamlessly while leaving plenty of time for load testing. 

Results

Replacing their legacy content management system and integrating Accusoft’s powerful PrizmDoc® for Java high-speed HTML5 viewer enabled the lender to achieve its desired performance standards. Because PrizmDoc® for Java is completely web-based and requires no software to be installed on the client’s desktop, the lender could easily roll out a scalable solution that met critical security and business continuity objectives within a single, high-speed viewing application. 

The viewer’s server component renders and delivers individual pages to the client quickly and seamlessly, well within the lender’s required sub-two-second access requirements, even when accessing large, multi-page loan documents in various geographical locations. PrizmDoc®for Java now helps to increase the mortgage lender’s productivity by allowing users to access, view, annotate, and manipulate loan documents on the fly without ever touching the client’s local hard drive.

As a result, the lender can now import daily peak loads of more than half a million documents and deliver them to users across the enterprise in under two seconds, improving their overall mortgage processing time by more than 40 percent.

About Accusoft

Founded in 1991, Accusoft is a software development company specializing in content processing, conversion, and automation solutions. From out-of-the-box and configurable applications to APIs built for developers, Accusoft software enables users to solve their most complex workflow challenges and gain insights from content in any format, on any device. Backed by 40 patents, the company’s flagship products, including Dcoubee, PrizmDoc Viewer, and ImageGear, are designed to improve productivity, provide actionable data, and deliver results that matter. The Accusoft team is dedicated to continuous innovation through customer-centric product development, new version release, and a passion for understanding industry trends that drive consumer demand. Visit us at www.accusoft.com. 

Accusoft Banner

Introduction

A large government agency with millions of employees needed to manage personnel records and payment information while also making documents and images easily accessible for all users. Each document trail spanned the duration of the employee’s time with the agency, resulting in a repository containing hundreds of millions of documents. The existing system used a combination of custom-developed, Windows-based image viewers that were cumbersome, difficult to maintain, and presented security risks. 

Overview

As the system struggled to keep up with demand, employees became increasingly frustrated with the system. Rather than viewing documents within the system, they began using workarounds like printing out files or saving them to another device, both of which presented serious security risks since the records contained personally identifiable information. The agency needed a solution that could manage hundreds of millions of documents while still providing users with simple, secure, and quick access to personnel records and payment information. 

Although the document repository’s legacy viewing solution was no longer able to meet the agency’s needs, developing a new document viewer was prohibitively expensive and required expertise its IT team did not possess. Rather than building a solution from scratch, it made more sense to evaluate viewing integrations available on the market. The agency set out to find a viewer that could support multiple document types, including TIFF and PDF/A, for both viewing and archival purposes. Whatever solution the IT team chose to adopt would have to integrate smoothly into the existing legacy system to avoid a costly and time-consuming overhaul. 

Challenges

After evaluating several options, the agency turned to Accusoft’s PrizmDoc® for Java, formerly VirtualViewer®. As a Java-based viewer that uses HTML5 to render files for viewing, PrizmDoc® for Java would allow the document repository to access files quickly and easily. PrizmDoc® for Java’s extensive file format support allowed the agency to render PDF, Word, Excel, AFP, DWG, TIFF, and more in one universal viewer. The integration’s built-in library eliminated the need for a third-party application or additional license, further simplifying the agency’s document management processes. 

Another key priority was giving employees the ability to access documents from multiple devices. In the past, the system’s legacy viewer only allowed them to open and view documents on a desktop with the right software installed. To streamline the employee experience, the agency required a viewer that could be accessed from any device that supports a web browser, including tablets and smartphones. PrizmDoc® for Java’s true cross-platform support and complete mobility provided the flexibility the agency needed to access documents from anywhere, at any time. The integration’s HTML5 technology and Java-based viewing allowed users to view and manipulate files within the browser, eliminating the need for an external application. 

PrizmDoc® for Java’s quick installation and integration process made it the ideal solution for the agency. Installing PrizmDoc® for Java’s document viewer took less than 10 minutes for proof of concept (POC) testing on any desktop, laptop, or virtual machine. The integration also provided APIs and developer tools to make integrating and leveraging the technology simple and easy, including RESTful content handlers that allowed for a more flexible development and deployment process.

Results

PrizmDoc® for Java’s high-speed viewing for large files allowed document rendering and processing to be split between the server and browser, delivering an extremely high-speed response. The integration’s advanced features, including annotation, redaction, splitting, merging, and more, provided far more functionality than was possible under the legacy viewer. PrizmDoc® for Java’s robust thumbnail panels also simplified working on large documents using full-panel thumbnail displays, as well as the option to adjust thumbnail size. 

By implementing PrizmDoc® for Java, the government agency was able to provide more streamlined access to personnel and payroll records, saving employees and HR personnel time and money while eliminating security and management issues associated with the previous viewing solution. Millions of users are now able to view critical information related to their records via any device that has access to a web browser. PrizmDoc® for Java’s robust document support and easy-to-use interface made it an essential tool for the agency’s document management and collaboration processes. The agency was able to continue using their existing repository system while also gaining the benefits of a modern, user-friendly document viewer.

About Accusoft

Founded in 1991, Accusoft is a software development company specializing in content processing, conversion, and automation solutions. From out-of-the-box and configurable applications to APIs built for developers, Accusoft software enables users to solve their most complex workflow challenges and gain insights from content in any format, on any device. Backed by 40 patents, the company’s flagship products, including Docubee, PrizmDoc Viewer, and ImageGear, are designed to improve productivity, provide actionable data, and deliver results that matter. The Accusoft team is dedicated to continuous innovation through customer-centric product development, new version release, and a passion for understanding industry trends that drive consumer demand. Visit us at www.accusoft.com.  

InsurTech SDK

The insurance market is booming. As noted by research firm Deloitte, the property and casualty (P&C) sector saw a massive income uptick in 2018 and steady growth last year that’s predicted to carry forward through 2020. To help manage the influx of new clients and handle more claims, many firms are spending on insurance technology (insurtech) — digital services and solutions that make it possible to reduce error rates and enhance operational efficiency. InsurTech SDKs are important components of this transformation.

Both in-house insurtech solutions and third-party platforms often excel in specific areas but come up short in others, putting insurance firms at risk of writing off potential gains. While solution switching and ground-floor rebuilds offer one route to success, there’s another option that’s more custom to your business needs: software development kits (SDKs). Here’s a look at three top SDKs that offer customized functionality potential.


FormSuite for Structured Forms: Solving for Data Capture

Time is money. The faster insurance companies accurately complete and file documents, the greater their revenue potential. And as noted by KPMG, the need for speed is more pressing than ever. Many insurance sectors have seen substantial increases in both claims and new applications as the COVID-19 crisis evolves. 

As a result, accurate and agile forms processing is critical to keep up with demand. If current insurance software can’t quickly capture forms data, recognize standard form fields, and let users easily create standard form libraries, policy processing falls behind.

FormSuite for Structured Forms makes it easy for developers to build in form identification and data capture that includes comprehensive form field detection with OCR, ICR, and OMR functionality and the ability to automatically identify scanned forms and match them to existing templates.

ImageGear for .NET and C/C++: Simplifying Conversion

Conversion is critical for insurance firms. Depending on the type and complexity of insurance claims, companies are often dealing with everything from Word documents for initial client assessments and .GIF or .JPG images of existing damage to contractor-specific PDFs or spreadsheets that detail necessary materials, time, and labor costs. The result? A mash-up of multiple file types that forces adjusters to spend valuable time searching for specific data instead of helping clients get their claims process up and running. This makes it difficult to recognize value from emerging digital initiatives. 

Accusoft’s ImageGear for .NET and ImageGear for C/C++ empower developers to integrate enterprise-class file viewing, annotation, conversion, and image processing functions into existing applications, allowing staff to both quickly collaborate on key tasks and find essential data across a single, easy-to-search document.

 


ImageGear: Streamlining PDF Capabilities

While insurance technology offers substantive opportunities for end-users to capture, convert, and retain data, this technology can also come with the challenge of increased complexity. According to recent research from PWC, for example, firms looking to capitalize on insurtech potential must be prepared to rapidly develop new product offerings and embrace the expectations

As a result, companies need applications that streamline current functions and allow them to focus on creating cutting-edge solutions. For example, PDF is a file format that is still used by enterprises worldwide to maintain document format consistency and maximize security. When it comes to converting multiple files into a PDF, software can be expensive and introduce data security issues. 

This can all be solved with an SDK like ImageGear, which makes it possible to integrate the total PDF package into any document management application, both reducing overall complexity and freeing up time for staff to work on new insurance initiatives.

Insurtech forms the framework of functional futures in policy applications, claims processing, and compliance reporting, but existing software systems may not provide the complete capability set companies need to make the most of digital deployments. These top SDKs offer insurance IT teams the ability to integrate key services, improve speed, and boost security at scale. Learn more about Accusoft’s SDKs at www.accusoft.com/products

TAMPA, Fla. – Accusoft, the leader in document and imaging solutions for developers, is proud to announce its beta release testing program, which provides participants with real-time access to its latest product developments.

Customer input is a key factor in Accusoft’s mission to build better software integrations that deliver functionality like OCR, image cleanup, forms processing, file manipulation, and viewing solutions. Thanks to the new beta program, participants will get early access to brand new products and have the opportunity to provide feedback on the latest features for existing products. Developers can also customize what types of betas they would like to opt into so they can focus on products most relevant to their business.

“Our previous betas for PrizmDoc Editor and PrizmDoc Cells were extremely beneficial for everyone involved, “ says Mark Hansen, Product Manager. “Our team received rapid feedback that helped make our products better, while participants had the opportunity to shape those products to meet their specific requirements.”

By signing up for the beta program now, you can participate in the active beta for PrizmDoc Forms integration, which will allow you to repurpose (or use) your PDF forms to easily create, customize, and deploy as web forms anywhere. You’ll also be the first to know about new product offerings and have the ability to opt into beta releases for Accusoft’s existing products, such as ImageGear, FormSuite for Structured Forms, and PrizmDoc Suite.

To learn more about Accusoft’s exciting new beta program, please visit our website at https://www.accusoft.com/company/customers/beta-release-program.

About Accusoft:

Founded in 1991, Accusoft is a software development company specializing in content processing, conversion, and automation solutions. From out-of-the-box and configurable applications to APIs built for developers, Accusoft software enables users to solve their most complex workflow challenges and gain insights from content in any format, on any device. Backed by 40 patents, the company’s flagship products, including OnTask, PrizmDoc™ Viewer, and ImageGear, are designed to improve productivity, provide actionable data, and deliver results that matter. The Accusoft team is dedicated to continuous innovation through customer-centric product development, new version release, and a passion for understanding industry trends that drive consumer demand. Visit us at www.accusoft.com.