Technical FAQs

Question

What type of license should I be using?

Answer

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

Evaluation License:

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

Toolkit License:

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

Runtime License:

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

distance learning system

College and university will look very different this fall. While some schools are making the leap back to on-campus learning, many are opting for hybrid educational models or hitting pause on the entire process to help limit COVID-19 concerns.  No matter the academic approach, however, post-secondary schools share a common challenge, finding a distance learning system or learning management system (LMS) that has all the functionality they need without the cost. Teachers, schools, and universities are all scrambling to find a tool that fits their needs especially during a time when nothing is certain. That’s where learning management systems can help bridge the gap, by offering secure document collaboration with unique features like viewing, annotation, commenting, redaction, and more.

Current Collaboration Issues

As noted by the Harvard Business Review, while the last-decade uptake of massive open online courses (MOOCs) offered the potential to displace face-to-face learning, COVID’s effect on e-learning was nowhere near student and staff expectations. Post-secondary schools have been forced to deploy MOOC-like frameworks at a frantic pace as they attempt to minimize learning disruption and ensure students have access to critical educational resources.

It’s one thing to implement collaborative and communicative solutions — it’s another to ensure these deployments are efficient and effective. While Zoom calls, text chats, and email chains offer some ability for staff and students to connect, they’re not enough in isolation. As a result, schools now face three key collaboration challenges:

  • Enhancing Student Engagement If students aren’t engaged, success isn’t possible. Schools need learning management systems that simplify engagement initiatives.
  • Ensuring Staff EfficacyIf staff spend all their time managing documents, they sacrifice student connection. Simplified document viewing, conversion, and editing tools help streamline this process and improve student outcomes.
  • Expanding Solution ScopeAs e-learning becomes common practice, schools need to ramp up solution scope. Here, process automation tools are critical to bridge the digital divide.

Potential Platform Pitfalls

While initial shifts to online and blended learning were given a measure of leeway as schools struggled to cope with the emerging impacts of a global pandemic, students and staff now want focused, functional online learning tools.

As noted by Inside Higher Ed, for example, while students are willing to be flexible, they also want assurances that their education will include regular communication opportunities with staff and classmates, and won’t sacrifice their career potential at the expense of an untested, rapidly-evolving educational model. Academic staff, meanwhile, need the ability to both engage with students and evaluate their work at a distance to ensure at-home learners enjoy the same advantages as their on-campus counterparts. 

Here, digital platforms offer both promise and potential pitfalls. For example, if document management tools can’t offer the flexibility and functionality required to easily convert, view, and edit multiple file types, time is wasted for both staff and students. Customization is also critical, since every school has specific processes around document formatting, grading, and user access.

In addition, concerns exist for schools making at least a partial return to on-site education. As student numbers ramp up, campuses must reduce the potential risk of virus transmission by eliminating as many common touch points as possible. Here, barcoded student ID cards already used by many schools offer built-in practical potential — but only if the right infrastructure exists to support these solutions at scale

The Learning Management System Answer

So how do universities and colleges support both hybrid and entirely e-learning approaches? It all comes down to content management — the combination of key solutions and services to both empower student success and reduce staff frustration. For post-secondary schools, essential tools include:

  • On-Demand Document ViewingWith students now required to submit work electronically for assessment and evaluation, instructors and administrators need on-demand document tools that let them easily view, add comments, and insert redactions across multiple file types.
  • Comprehensive File ConversionTo help standardize document management and storage, comprehensive file conversion is critical. By converting multiple file formats into searchable, scalable PDFs, schools can unify document management and ensure edits are only possible with specific permissions.
  • End-to-End Document AutomationThe sheer volume of information now processed by post-secondary schools — from organizational sign-up forms and healthcare waivers to loan applications and contact tracing documents — demands end-to-end document automation that ensures all forms are routed through the same, secure process for simplified security and storage.
  • Superior Barcode Support Barcodes not only help schools manage physical resources such as books, computers, and lab equipment but can also be leveraged on ID cards to support no-contact transactions in bookstores, food service establishments, and other campus facilities. As a result, schools need superior barcode support capable of quickly reading codes — even if they’ve been damaged or worn down thanks to continuous student use.

Blended learning strategies will remain part of post-secondary life for the foreseeable future. As a result, it’s critical to bolster both student and staff success with learning management solutions and distance learning systems capable of delivering both on-campus and off-site collaboration, communication, and connection. If you are looking to enhance your current learning management system or create an application that can help educators during these challenging times, contact us for a free consultation.

FinTech applications have become indispensable to the financial services sector, enabling users to easily engage with financial offerings in a manner that suits them, while also boosting operational efficiency. The industry’s ongoing digital transformation continues to redefine FinTech functions, with developers tirelessly crafting new apps capable of handling tasks formerly dispersed across numerous systems and software.

Among the most crucial features of FinTech applications is the ability to view and share documents. Developers have a range of document lifecycle solutions at their disposal to circumvent the challenging process of building these features from the ground up. However, the financial sector presents distinct security and compatibility prerequisites when it comes to choosing partners for integration. To truly grasp these technical hurdles, it’s important to understand the significance of Java in the development of FinTech applications.

A (Brief) History of Java in the Financial Sector

Financial institutions pioneered the adoption of automated workflows. The advent of the first electronic communication network that facilitated the trading of financial products off the trading floor was seen as early as the 1960s. During the 1970s, computerized order flows saw greater acceptance, with most financial companies crafting their own proprietary systems. The digital revolution truly ignited in the 1980s and early 1990s with the launch of the Bloomberg terminal and the Financial Information eXhange (FIX) protocol. By the late 1990s, the Nasdaq enabled the execution of securities trades autonomously, without the need for manual interference, through the incorporation of Island ECN.

Java shook up the programming language world when it debuted in 1995, and its timing couldn’t have been better. The financial industry witnessed an extensive wave of mergers and acquisitions in the late 1990s and early 2000s, which resulted in several companies grappling with the integration of a multitude of applications and data. Java’s ability to support diverse platforms was an appealing solution to this challenge, and numerous financial applications were translated into Java. Sun Microsystems, which first introduced Java to the market, even adopted the slogan “Write once, run anywhere” to promote its flexibility. Java’s simplicity of use and significantly enhanced speed compared to legacy code on outdated platforms quickly made it the language of choice for developers.

In a few short years, Java ascended to become the leading programming language within the financial services industry. Its popularity surged again following the launch of OpenJDK, a free and open-source version of the language, in 2007. An Oracle report in 2011 estimated that over 80% of electronic trading applications and virtually all FIX engines were written in Java. Even close to three decades after its debut, Java continues to be the primary programming language employed by financial services, surpassing other open-source alternatives by a considerable margin.

Java’s Enduring Appeal for the Financial Industry

The enduring preference for Java among financial sector developers isn’t simply due to tradition or resistance to change. Java’s unique attributes are an exceptional fit for financial applications, spanning both long-established enterprise-level banking systems and pioneering FinTech solutions.

Security

In the realm of financial services, security is the highest priority for developers. Applications related to banking and trading must have robust security provisions to guard financial data and personally identifiable information against unauthorized access. Java simplifies data access restriction and provides an array of memory safety features to diminish potential vulnerabilities, particularly those stemming from prevalent programming mistakes. Oracle consistently rolls out regular updates to fix recognized vulnerabilities and tackle the most recent cybersecurity threats.

Portability

Java, being a platform-independent language, allows applications to operate on virtually any device. This has always been a substantial benefit in the financial sector, but it has proven even more crucial in the era of cloud computing and mobile applications. Developers can employ the same code to roll out software in a virtual environment and render it accessible to end-users via their smartphones, computers, or other devices. The ability of Java virtual machines to support additional programming languages only adds to the language’s versatility.

Reliability

Given the nearly three-decade-long consistent use and the backing of a robust development community, Java has established itself as one of the most dependable programming languages globally. Potential instabilities have long been addressed, and there is a wealth of developer tools and documentation at hand to ensure software is built on a solid foundation. This reliability is critically significant for banking and financial applications, which demand high performance levels coupled with fault tolerance.

The Value of Java-Based Document Viewing and Sharing

As FinTech developers continue to build novel applications aimed at simplifying life for clients and employees in the financial industry, they’re facing a growing expectation from users for superior document viewing and sharing capabilities. Users want to bypass the time-consuming and resource-heavy task of manually processing paper documents, and most organizations strive to eliminate the security hazards associated with using external applications for managing digital documents.

However, developers face significant challenges when attempting to build these complex document viewing capabilities from scratch. Although there are numerous integrations that can introduce document lifecycle features, most aren’t based in Java and need extra development work to embed them into existing FinTech solutions. Without the option to natively view, share, and edit documents within the Java application, users frequently resort to external programs, a practice that presents potential security issues and version discrepancy risks.

Facilitating Java-based Document Functionalities through PrizmDoc® for Java

Accusoft’s PrizmDoc® for Java, formerly VirtualViewer®, is a robust, Java-based HTML5 document viewing tool designed to assure optimal compatibility with FinTech applications without compromising functionality and security. By supporting an array of document types, such as PDF, TIFF, JPEG, AFP, PCL, and Microsoft Office, PrizmDoc® for Java creates a streamlined viewing experience that eliminates the need for external viewing solutions.

As an integration built on Java, PrizmDoc® for Java can operate on nearly any operating system and is simple to deploy. There’s no need to install software on the user’s desktop, enabling FinTech developers to deploy a scalable solution that fulfills their crucial security and business continuity needs within a single, high-velocity application. PrizmDoc® for Java’s server component swiftly renders and dispatches individual document pages for local viewing as required, allowing users to access, view, annotate, redact, and manipulate financial documents instantaneously. Since documents are rendered within the web-based viewer, users never have to download or transfer files, which could put sensitive data at risk.

Experience PrizmDoc® for Java’s features for yourself by signing up for a free trial!

scalable vector graphics

The scalable vector graphic (SVG) format continues to enjoy steady adoption across the web. According to data from W3Techs, SVG now accounts for 25 percent of website images worldwide. But it wasn’t always this way. In 1998, it became apparent that vector-based graphics had a future on the web, and the W3C received six different file format submissions from technology companies that year. Some were mere proposals ready for a complete revamp, while others were proprietary products that W3C wasn’t permitted to modify. Instead of forging a format from one of the submissions, however, W3C’s SVG working group decided to start from the ground up — and SVG was born.

While the file format had lofty ambitions, focusing on common use rather than specific syntax, the original iteration was cumbersome and complex. However, SVG has improved year after year after year. With increased support came more streamlined functionality and usable features. Now, SVG is often the first choice for meeting the evolving demands of scalable, responsive, and accessible web content.


What is a Scalable Vector Graphic (SVG) and how does it work?

Today, SVG is the de-facto standard for vector-based browser graphics. But what exactly is this file format, and how does it work?

Based on XML, SVG supports three broad types of objects: 

  • Vector graphics including paths and outlines that are both straight and curved
  • Bitmap images such as .jpeg, .gif, and .png
  • Text

What sets SVG apart from bitmap-based images is the use of lines and curves along the edges of graphical objects. Because bitmap images use a fixed set of pixels, scaling them up creates blurriness where the edges of pixels meet. In the case of vector images, meanwhile, a fixed-shape approach allows the preservation of smooth lines and curves no matter the image size.

SVG also offers the benefit of interoperability. Because it’s a W3C open standard, SVG plays well with both other image format and web markup languages including JavaScript, DOM, CSS, and HTML. This allows the format to easily support responsive design approaches that scale websites and web content based on the user device rather than defining standardized size parameters. Thanks to the curves and lines of SVG, scaling presents no problem for responsive designers looking to ensure consistency across device types.


The Benefits of SVG

While scalability is often cited as the biggest benefit of SVG, this format also offers other advantages, including:

  • Responsiveness — Images can be easily scaled up or down and modified as necessary to meet web design and development demands.
  • Accessibility — Since SVG is text-based, content can be indexed and searched, allowing both users and developers to quickly find what they’re looking for.
  • Performance Image rendering is quick and doesn’t require substantive resources, allowing sites to load quickly and completely.
  • Use in Web ApplicationsBrowser incompatibilities and missing functions often frustrate web design efforts, forcing developers to use multiple tool sets and spend time checking content and images for potential format conflicts. SVG, meanwhile, offers powerful scripting and event support, in turn allowing developers to leverage it as a platform for both graphically rich applications and user interfaces. The result? Better-looking sites that enhance the overall user experience.
  • InteroperabilityBecause SVG is based on W3C standards, the format is entirely interoperable, meaning developers aren’t tied to any specific implementation, vendor, or authoring tool. From building their own framework from the ground up to leveraging third-party SVG applications, web developers can find their format best-fit.

SVG in PrizmDoc Viewer

Accusoft’s PrizmDoc Viewer offers multiple ways for developers to make the most of SVG elements at scale, such as:

  • File TransformationConversion is critical for effective and efficient web design. If development teams need different file transformation tools for every format, the timeline for web projects expands significantly. PrizmDoc Viewer streamlines this process with support for the conversion of more than 100 file types — including PDFs, Microsoft Office files, HTML, EML, rich text, and images — into browser-compliant SVG outputs. In practice, this permits near-native document and image rendering that’s not only fast, but also accessible anytime, anywhere, and from any device.
  • HTML5 FunctionalityUsing SVG in PrizmDoc Viewer is made easier thanks to native HTML5 design. The use of HTML5-native framework not only improves load times with smaller document sizes but means that PrizmDoc Viewer works in all modern web browsers — while also dramatically enhancing document display quality.
  • Pre-Conversion One of the biggest challenges with viewing large documents in a browser is delay. Pages toward the end of the document may take longer to load and frustrate users looking to quickly find a specific image or piece of information. PrizmDoc Viewer solves this problem with a pre-conversion API that returns the first page as an SVG while the rest of the document is being converted, allowing users to interact with documents as conversion takes place and lowering the chance that files will experience format-based delays.

SVG hasn’t always been the go-to web image format. Despite a promising start based on open, interoperable standards, the lack of early support and specific use cases for vector-based file formats saw SVG sitting on the sidelines for decades. 

The advent of on-demand access requirements and mobile-first development realities has changed the conversation. SVG is now continuously gaining ground as companies see the benefit in this scalable, streamlined, and superior-quality file format. Get the big picture and see SVG in action with our online document viewing demo, or start a free PrizmDoc Viewer trial today!

 

Far from just another tech industry buzzword, artificial intelligence (AI) is fast becoming a mainstay of data collection and analysis for many organizations. According to research by Accenture, not only do 84 percent of executives think leveraging AI is critical to meeting growth objectives, but three out of four of them believe they will risk going out of business if they don’t scale those initiatives.

That fear of being left behind is why 88 percent of companies have already invested in AI or machine learning technology or plan to do so in the near future. With some 175 zettabytes of data expected to be created in 2025, organizations without the AI data processing tools necessary to analyze and make sense of that data will struggle to develop effective business strategies and deliver a competitive customer experience.

It’s a tremendous opportunity for independent software vendors building the next-generation of applications across various industries. In order to deliver on the promise of AI, however, these software solutions also need to provide the tools that allow users to leverage their capabilities to streamline business processes. After all, a powerful AI solution isn’t of much use if it can’t be integrated with existing workflows.

Getting the Most Out of AI Data Processing

The most successful developers understand that AI data processing is only one piece of the puzzle. Their innovative AI technology is driving the car, but they still need the frame and wheels around it if the application is going to take their customers anywhere. That means building the less glamorous, but equally essential technology that helps AI data processing solve everyday tasks.

Take, for instance, document or image management. Organizations that gather data from physical forms or scanned documents need some way of extracting information so it can be converted into a format AI data processing tools can utilize. Manual data entry is both time-consuming and prone to error, so requiring users to transfer information by hand is simply not viable. By building document and image processing capabilities into their applications, developers can greatly enhance the versatility of AI data processing by automating key aspects of the collection process.

There’s also the question of what can be done with all of that data once it’s been gathered. Legal organizations, for example, often need to apply that information to contract creation, while insurance agents turn to it when assessing risk. By combining AI data processing capabilities with document assembly tools and search functionality, organizations can further automate key business processes to improve efficiency. Why painstakingly draft legal contracts or master service agreements from scratch when applications can use automation tools in conjunction with AI to assemble documents with greater speed and accuracy?

Build vs. Buy?

This often presents a challenge for software developers with limited resources. On the one hand, they need to invest as much time and energy as possible into their innovative AI data processing capabilities in order to meet the collection and analysis needs of their customers. But without also providing some way of interacting with and using that data to improve other key tasks, they will struggle to persuade potential users to adopt their innovative platform.

One solution is to build that functionality in-house. For software developers with substantial resources, this might sound like a good option. Unfortunately, the reality often proves less than ideal. Even something as basic as viewing and converting documents can quickly become a massive undertaking that draws valuable developer resources away from the AI data processing capabilities that are supposed to help the product stand out in a crowded market. 

In many cases, the company ends up having to outsource the work or push back key deadlines. Even worse, it may also end up creating more problems than it solves by relying on open source toolkits and libraries. The biggest problem has to do with security vulnerabilities. A recent study found over 2,600 bugs reported in open source projects between 2015 and early 2020. Even worse, many of these vulnerabilities were not formally reported to the National Vulnerability Database (NVD) until well after they were first exposed, giving hackers and other hostile actors time to exploit the security gaps.

The Integration Solution

Developers can avoid delays and security risks by turning to proven SDK and API integrations for their application needs. This is especially effective for complex, but essential functionality like viewing, conversion, compression, editing, and assembly. By relying on code-based integrations that are actively supported, they can ensure that users will be able to leverage their AI data processing solutions securely and effectively.

Rather than building features from the ground up and wasting valuable development resources, independent software vendors can devote more time and energy on the core competencies that will make their application more competitive. That allows them to build more powerful AI data processing capabilities and bring those features to market even faster.

Enhance Your AI Data Processing Application with Accusoft Integrations

Accusoft’s family of SDK and API integrations helps software developers realize the potential of their applications by delivering proven document and image processing functionality. Whether you need document assembly tools to get the most out of your legal AI sifters or powerful HTML5 viewing capabilities to harness the power of risk management automation, our easy-to-implement, code-based integrations can help you realize the full potential of your application’s AI data processing.

Find out more about how the Accusoft development team is incorporating machine learning into their processes or talk to one of our integration specialists today to learn how we can enhance your AI data processing application.

For many years, the legal industry proved resistant to the changes that were pushing other organizations toward digital transformation. Although the serious shocks of the 2008 financial crisis were not enough to spark a revolution in LegalTech automation, they did at least get many firms to start thinking differently about how they deployed technology. 

After enduring the disruption of the 2020 COVID-19 pandemic, firms are finally implementing the software applications that will help them to deliver legal services far more effectively. In order to understand what’s driving today’s LegalTech trends, it’s important to first recognize why changes that didn’t take place in 2008 are happening now.

Why 2020 Differs From 2008

The legal industry was not spared the impacts of the 2008 financial crisis. Rather than reassessing their fundamental business model, most firms reacted to the recession by laying off personnel. According to the National Association of Law Placement (NALP), nine percent of US associates lost their jobs over a nine month period between 2009 and 2010. 

While this strategy managed to protect profits in the short term, it had a negative impact on their talent pipelines in the long run. More importantly, firms also had little immediate incentive to rethink their business processes. Reducing personnel and increasing rates allowed them to meet their immediate revenue goals, and the basic structure of delivering legal services remained mostly unchanged. And, to be fair, many LegalTech automation platforms were not yet mature enough at that time to deliver clear value, especially when compared to the costs of implementation. 

The COVID-19 pandemic, however, has presented firms with a very different set of conditions. Almost every sector was impacted and it was not immediately clear how long the disruption would last. Social distancing requirements made it all but impossible for attorneys to meet with clients in person. After the initial wave of salary cuts and furloughs, firms were forced to think about how they could continue to deliver services in the midst of a pandemic.

Customer expectations have also changed dramatically since 2008. Legal clients expect faster, more efficient services delivered at a competitive price point. In order to grow revenue beyond 2020, firms will need to reorient themselves to do more with less, adopting the technology infrastructure that allows them to build more efficient processes and automate low value tasks so partners and associates can focus on other areas.

Post-2020 LegalTech Trends

Historically, the business model of most legal firms focused on immediate priorities and a reactive demand model that proved resistant to automation and efficiency. Since firms tend to look to metrics like PEP (Profit per Partner) to judge the health of the business, investing in process-oriented technology that would enable support staff to work more efficiently was rarely appealing. That’s because such investments would eat into short-term profits without offering a clear benefit in the future. 

But those benefits had very real potential, especially for firms and legal departments willing to look at different, less partner-driven business models that put more emphasis on customer-centric services. The firms that made the difficult decision to invest in LegalTech automation early now find themselves in a better position to thrive in a post-2020 landscape than competitors who were slower to adopt.

While premier “big law” firms will likely continue to offer high-value legal work to clients that require more specialized, strategic services, other firms and departments will be in an ideal position to capitalize on the type of work that benefits more from LegalTech automation. Specifically, they can leverage technology to meet known demand, or the day-to-day low to mid-level legal services that many customers expect and budget for. This is the type of work where efficient processes and automation make it possible for firms to take on more work and quickly scale their operations. It’s also a more customer-centric approach that acknowledges the ability to deliver legal services swiftly and cost-effectively will be a tremendous competitive advantage in the years ahead.

A Second Chance at Digital Transformation

Moments of crisis and disruption typically provide organizations with the opportunity to innovate and rethink their approach to how they do business. The legal industry, however, largely failed to adapt significantly in the aftermath of the 2008 financial crisis. Firms were often unwilling to change their processes or invest in new technology solutions, which makes it even more vital for them to adapt in the wake of the COVID-19 pandemic.

In some respects, the industry is getting a second chance to undergo true digital transformation. Due to the unique circumstances of the 2020 downturn, there is every reason to expect that the demand for legal services will grow substantially in 2021 and beyond. From cases and contracts that could not be resolved during the pandemic to a broad range of lawsuits related to COVID-19, legal organizations will need to put the right digital tools in place to handle caseloads efficiently. 

Stay Ahead of LegalTech Trends with Accusoft Integrations

In order to keep pace with rapidly developing LegalTech trends, developers need to be able to build versatile and reliable software that they can bring to market quickly. Building innovative tools to facilitate contract negotiation and eDiscovery is challenging enough without also creating the content processing and conversion capabilities that facilitate them. That’s why LegalTech development teams under resource and time constraints frequently turn to specialized integrations that allow them to add essential features without pulling their attention away from their core area of focus. This helps them get their products to market faster to keep their customers ahead of the latest LegalTech trends.

Accusoft’s collection of powerful SDK and API integrations allows developers to build the features they need on their own terms. For instance, PrizmDoc Editor’s document assembly capabilities allow firms to automate the contract creation and editing process to minimize human error and boost efficiency. PrizmDoc Viewer’s conversion, annotation, and redaction features make it an ideal fit for eDiscovery workflows that require high levels of flexibility and security. And when it comes to managing different types of documents and files throughout the legal process, having an image processing SDK like ImageGear that can convert, compress, and OCR a broad range of file types can transform a LegalTech application into a content management powerhouse.

To learn more about how Accusoft’s collection of processing solutions can help your team meet today’s LegalTech automation challenges, talk to one of our industry specialists.

development team
It doesn’t matter if you are a small startup or an enterprise giant, or if you have in-house development teams or contractors. The effectiveness of your tech teams is an integral part of your business success and strategic growth.

We live in a world driven by technology, and technology is changing fast. Companies can’t escape this reality. It’s either evolve with technology or become extinct. Don’t take my word for it. Think about the evolution of technology in industries like transportation (Uber), retail (Amazon), and video (Netflix). You can try to escape reality, but you will probably fail.

One of the first things that comes to mind when talking about software development teams is to ask if teams are absolutely necessary. Can’t we rely on individual tech professionals instead of teams working for our companies? Maybe the whole is not more than the sum of its parts?

The fact is that, in general, teams outperform individuals. When people work in a team toward a common goal, they combine their skills. In a team, individual performance increases, and people are able to solve more complex problems, efficiently and effectively.

My name is Joshua Candamo. I’m a technology leader with a PhD in computer science. My background is pretty diverse, and includes considerable experience programming as well as over 14 years of technology leadership.

I am currently a Director of Development for Accusoft, a software development company specializing in content processing, conversion, and automation solutions. My engineering group collaborates with about 40 people including in-house software developers, offshore contractors, technical writers, product management, quality, marketing, and sales professionals.

I want to share what I’ve learned from my personal experience of building development teams over the last 14 years, and a few useful tips to doing so successfully.

Without further ado, let’s talk about the three simple things that I found can make or break development teams.

To get started, let’s point out the obvious. Don’t fight nature; embrace it.

If you try to plant a rose in the middle of the desert, it will most certainly die.

You can’t fight nature. However, if you understand nature, you can embrace it and make decisions that align with it.

You can simply build a greenhouse in a harsh environment and succeed at growing a rose pretty much anywhere. Using the same logic, there are some foundational pieces that you have to anticipate in order to build a successful team. Avoiding basic considerations of team building will likely make your development team fail or underperform.

Team building is a broad and complex topic. And, it’s also a topic that I’m passionate about. Not everything around team building is complicated. However, most initiatives require a methodical approach to correctly execute them.

I’ll go over three ideas that are straightforward to implement, and don’t require major capital investment. Learn more in the rest of my article here.

 


 

Josh Candamo, Director of SDKs

Josh Candamo, Director of SDKs

Joshua Candamo, PhD, Development Director for the SDK product group, oversees the development and maintenance of 22 of Accusoft SDK imaging products. He believes that your most valuable intellectual property has nothing to do with patents or technology, but everything to do with your people. He is passionate about team building and creating the right corporate culture to develop amazing software products. Josh joined Accusoft in 2015 after a career in software development that included technology leadership, entrepreneurship, consulting, and both back-end and front-end development. He holds a PhD degree in Computer Science from the University of South Florida, specializing in pattern recognition and image processing.

OCR form

An automated forms processing solution can significantly improve accuracy and efficiency when it comes to managing large quantities of documents containing structured content. Whether an organization needs to digitize existing records or is continuously processing new documents within application workflows, having a versatile optical character recognition (OCR) component working to identify and extract text from multiple languages allows them to capture data more effectively.  Solid OCR form capture is critical.

Although a good OCR engine operates quickly and efficiently, the process of recognizing and extracting text is a highly complex undertaking that can be impacted by a variety of factors. Under optimal conditions, for example, the OCR component within Accusoft’s FormSuite can generate results quickly and accurately, with the ability to read several languages from around the world. However, if an application’s forms processing workflow is not set up efficiently or overlooks a few important considerations, recognition performance may suffer in terms of speed and accuracy.

6 Ways to Achieve the Best Results with the Accusoft OCR Component in FormSuite

 

1. Pay Attention to Image Resolution

As a general rule, OCR components should be provided with high resolution images so the recognition engine is able to distinguish the details that would otherwise be missed on low resolution images. This helps them to recognize the differences between “l” and “i” or “O” and “0” (zero), which results in better, more accurate results.

However, there could be a problem if the image resolution is too high. These images require much more time to process without delivering any benefits since the required letter properties are clearly distinguishable in a lower resolution.

To strike a balance between speed and accuracy, it’s better to scan all images in a 150-400 dots-per-pixel range. This allows the recognition engine to identify all possible letter properties and avoid being bogged down with analyzing a lot of data at the same time.

2. Don’t Lose Image Properties While Preparing to Recognize

To achieve the best results, it’s important to provide the recognition engine with a few helpful hints. In some cases, resolution properties may be lost while an image is being prepared for recognition, leading to worse than expected results. This happens most frequently when working with System.Drawing.Image or SystemDrawing.Bitmap classes directly during operations like clipping, merging, or reducing the bit depth. 

In this case, the best solution is to make sure that HorizontalResolution and VerticalResolution properties are set correctly and reflect initial image resolution values. The ScanFix component within FormSuite can perform this task automatically and is designed to be compatible with the OCR component to help achieve better recognition results.

3. Clean Up Underlined Text Before Recognition

Specks, dirt, and other imperfections within the source image can significantly reduce recognition quality. Sometimes, however, even a seemingly good image can be recognized incorrectly when there are underlined words like URLs, emails, or specifically formatted generic text. 

From the software’s point of view, this kind of text isn’t very different from other types of image distortion. ScanFix’s LineRemovalOptions can clean up the text by eliminating lines that could interfere with recognition. The API also features special parameters that ensures characters with low hanging elements (such as “j” or “y”) will be restored after line removal to avoid another potential recognition problem.

4. Use Long-Living Objects to Avoid Recognition Performance Drop

Creating a new instance requires OCR engine initialization and loading neural network data suitable for specific recognition parameters. This process is not resource free because of the data complexity and may cause delays from ~200 msec to 2 sec depending on the hardware and recognition properties. 

Existing Accusoft OCR instances may be reused to recognize other images with different properties. This will speed up the overall process because initialization will be done only once during the first AnalyzeField call and subsequent calls will be much cheaper in terms of computing resources.

5. Assign Instances to Their Own Worker Threads

Objects are thread safe and can be called from different threads. However, assigning an object to its own thread can avoid extra locking. One of the simplest ways to do this is to use C# Parallel.ForEach loop and create ConcurrentQueue with the pre-allocated objects. 

This ensures that the number of threads will not exceed the number of available CPUs. Any available instance can then be automatically assigned to recognize the images in their own thread while extra possible threads will wait until busy instances will be free to acquire.

Other common patterns are producer-consumer and map-reduce, which are more complex to implement but provide better flexibility when managing input data.

6. Dispose Objects to Avoid Memory High Memory Consumption

This is a generic rule for the C# to call a Dispose for the objects which use non-managed resources. FormSuite’s OCR component uses an external recognition engine, so it is highly recommended to call Dispose when the instance will not be required anymore. This can avoid a situation where the memory will not be available for different parts of the application, especially when a high amount of data exists for post-processing or the amount of available memory is low because of the different processes running in parallel.

Get Accurate OCR Data Capture Results with FormSuite

When properly configured and incorporated into a forms processing workflow, the FormSuite OCR component can accelerate automated data capture and reduce manual errors. Its zonal field recognition capabilities allow it to hone in on predefined field types to improve processing speed and accuracy. Developers can also adjust confidence values for recognition results to determine how frequently manual review is necessary. 

To get a hands-on look at how FormSuite incorporates OCR seamlessly into its collection of forms processing tools, schedule a free trial today.

TAMPA, FLA. (Dec. 1, 2021) Last night, the Tampa Bay Software CEOs (TBSC) met for their quarterly social meeting at the Current Hotel in the Rox Rooftop Bar. Hosted by Accusoft, this networking event provided a great venue for discussion about attracting top talent to the area’s innovative businesses, driving growth opportunities for the high tech industry in Tampa, and sharing mutual problems and uncovering solutions.

“Our tech community and the opportunity for further innovation in Tampa Bay is growing”,  said Jack Berlin, CEO at Accusoft. “With this great collaboration of software CEOs, we can bring the local tech community together, to attract top talent, effectively communicate to our leaders what our tech community needs, and learn from each other to drive further growth.”

The Software CEO Council comprises the area’s premier businesses, executives, and entrepreneurs of Tampa Bay’s technology community. Its mission is to create the largest communal ecosystem for tech startups in the state of Florida and put Tampa Bay on the map as a beacon for innovation and success, to foster talent and fuel growth. Council companies include A-LIGN, Accusoft, Applied Data Corporation, ComplianceQuest, CrossBorder Solutions, Digital Hands, Geographic Solutions, Haneke Design, MercuryWorks, Sourcetoad, Spirion, Transcendent and Vendita.

Pictured above left to right: Greg Ross-Munro, Prashanth Rajendran, Kevin Coppins, Dan Gaertner, Chris Karlo, Shamus Hines, Charlotte Baker, Jack Berlin, Jody Haneke.

For more information about TBSC, visit the group’s website at https://www.tampasoftwareceos.com/.

About Tampa Bay Tech

Tampa Bay Tech is a 501(c)6 non-profit technology council that has been engaging and uniting the local technology community for 20 years. With over 100 companies representing thousands of tech employees – as well as thousands of students within the area’s colleges and universities – Tampa Bay Tech provides programming and initiatives to support all those in the technology space. Through their membership and partnerships, their mission is to build a radically connected, flourishing tech hub where opportunity is abundant for all. Join the TBTech community at tampabay.tech and follow us on Facebook, Linkedin, Instagram, and Twitter.

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.

Question

What is the proper way of using affinity tokens in cluster mode where multiple file IDs using multiple affinity tokens need to be combined?

Answer

If you are using PrizmDoc Server in cluster (multi-server) mode, and you are using Content Conversion Services to merge multiple files into one, or whenever multiple file ids using multiple affinity tokens need to be combined; your requests need to use a single affinity token. Because affinity tokens need to go in the header, you might think you are required to include all/both of the files’ affinity tokens in the header.

If you find yourself in this situation, the correct method is to re-use the first affinity token you get for all subsequent resources you create. For example, if you create a work file, you’ll get an affinity token back in the response. That affinity token needs to be set in the Accusoft-Affinity-Token request header of any subsequent resources (work files, content converter, viewing sessions, etc.) that you create later and want to use together.

An example is located here:

https://help.accusoft.com/PrizmDoc/latest/HTML/affinity-tokens-and-cluster-mode.html

The main takeaway here is that the initial request that is made to the server for a workfile will return an affinity token. This very same affinity token must be used in the header Accusoft-Affinity-Token for all subsequent requests in this conversion/stitching process.

The most relevant quote from that page is:

“In cluster mode, the PrizmDoc Server API will automatically generate an affinity token when it receives a POST request for a new ViewingSession, WorkFile, MarkupBurner, RedactionCreator, or ContentConverter resource and return it in the response. Once you have obtained an affinity token, you will need to pass this in with related requests using the Accusoft-Affinity-Token HTTP custom header.”

Here is a separate custom example of stitching two TIFF images together by converting them to a PDF.

First TIFF image

Request with no affinity token:

POST /PCCIS/V1/WorkFile HTTP/1.1
Host: prizmdocservername:18681
Content-Type: application/octet-stream

Response:

{
    "fileId": "I3GRFEfrw_K8fX4VJ7Z1bQ",
    "fileExtension": "tif",
    "affinityToken": "ZSTudgjA42h1CVCj0KkGuYiKn5nEFhmFrvA0AkMxDxc="
}

Second TIFF image

Request:

POST /PCCIS/V1/WorkFile HTTP/1.1
Host: prizmdocservername:18681
Content-Type: application/octet-stream
Accusoft-Affinity-Token: ZSTudgjA42h1CVCj0KkGuYiKn5nEFhmFrvA0AkMxDxc=

Response:

{
    "fileId": "I-CTRdFnaL8FLNQDUawTHw",
    "fileExtension": "tif",
    "affinityToken": "ZSTudgjA42h1CVCj0KkGuYiKn5nEFhmFrvA0AkMxDxc="
}

Content Conversion

Request:

POST /v2/contentConverters HTTP/1.1
Host: prizmdocservername:18681
Content-Type: application/json
Accusoft-Affinity-Token: ZSTudgjA42h1CVCj0KkGuYiKn5nEFhmFrvA0AkMxDxc=

{
    "input": {
        "sources": [
            { 
                "fileId": "I3GRFEfrw_K8fX4VJ7Z1bQ"
            },
            { 
                "fileId": "I-CTRdFnaL8FLNQDUawTHw"
            }
        ],
        "dest": {
            "format": "pdf"
        }
    }
}

Response:

{
    "input": {
        "dest": {
            "format": "pdf",
            "pdfOptions": {
                "forceOneFilePerPage": false
            }
        },
        "sources": [
            {
                "fileId": "I3GRFEfrw_K8fX4VJ7Z1bQ",
                "pages": ""
            },
            {
                "fileId": "I-CTRdFnaL8FLNQDUawTHw",
                "pages": ""
            }
        ]
    },
    "expirationDateTime": "2018-10-03T19:12:52.005Z",
    "processId": "1u6k5Y_l7yRfhWyfL1t4Yw",
    "state": "processing",
    "percentComplete": 0,
    "affinityToken": "ZSTudgjA42h1CVCj0KkGuYiKn5nEFhmFrvA0AkMxDxc="
}

Content Conversion Request:

/v2/contentConverters/{processId}

GET /v2/contentConverters/1u6k5Y_l7yRfhWyfL1t4Yw HTTP/1.1
Host: prizmdocservername:18681
Accusoft-Affinity-Token: ZSTudgjA42h1CVCj0KkGuYiKn5nEFhmFrvA0AkMxDxc=

Content Conversion Complete Response:

{
    "input": {
        "dest": {
            "format": "pdf",
            "pdfOptions": {
                "forceOneFilePerPage": false
            }
        },
        "sources": [
            {
                "fileId": "I3GRFEfrw_K8fX4VJ7Z1bQ",
                "pages": ""
            },
            {
                "fileId": "I-CTRdFnaL8FLNQDUawTHw",
                "pages": ""
            }
        ]
    },
    "expirationDateTime": "2018-10-03T19:12:52.005Z",
    "processId": "1u6k5Y_l7yRfhWyfL1t4Yw",
    "state": "complete",
    "percentComplete": 100,
    "output": {
        "results": [
            {
                "fileId": "tK4UbzryHWFoqOC6JJAjAg",
                "sources": [
                    {
                        "fileId": "I3GRFEfrw_K8fX4VJ7Z1bQ",
                        "pages": "1"
                    },
                    {
                        "fileId": "I-CTRdFnaL8FLNQDUawTHw",
                        "pages": "1"
                    }
                ],
                "pageCount": 2
            }
        ]
    }
}

Download The WorkFile:

/PCCIS/V1/WorkFile/{fileId}

GET /PCCIS/V1/WorkFile/1u6k5Y_l7yRfhWyfL1t4Yw HTTP/1.1
Host: prizmdocservername:18681
Accusoft-Affinity-Token: ZSTudgjA42h1CVCj0KkGuYiKn5nEFhmFrvA0AkMxDxc=