Atalasoft Imaging SDK Development Blog

Document Imaging and Developer Commentary

Blog Home RSS Feed Old Archive Atalasoft.com

Recent blog posts

This is our new blog page. If you're looking for posts before 2012, see our archive.

NPAPI Has Left the Building: What WingScan Users Should Know

Currently, our web-based scanning solution, Atalasoft WingScan, uses Mozilla’s COM technology NPAPI to run native code in the browser. Before now this was the only way to do any kind of TWAIN based scanning hosted in a webpage. Starting with Atalasoft SDK version 10.5.2, we are moving away from this technology and helping you do the same. Why? Well the simple answer is this: Google is removing NPAPI support from their Chrome browser. Our goal here at Atalasoft is to have what we call “working software,” so we are taking this change very seriously. We have known this was coming since the announcement and Google appears to be staying on schedule. Read on to learn about the changes and about our new release to address this. The next big change comes later this month, when Google plans to remove the whitelist (which doesn’t really affect us, as we are not on the whitelist).  Come April, they plan to disable the support altogether, unless the browser i...

Read More

Posted by Spike McLarty on 02/09/2015 with 0 comments

An Introduction Is In Order…

Hello – My name is Brendan Day and I am the Sales and Marketing Director here at Atalasoft . A little about me - I have been in the Imaging SDK space for about 12 years and with Atalasoft for the last 5.  When I first started here, Atalasoft was a small independent software company in Western Massachusetts. Since then, we have been acquired by Kofax, a strong and visionary organization in the technology industry. The great news is that we are still located here in Western Massachusetts, and as a division of Kofax, have a loyal and innovative team, and we have continued to grow and expand since the acquisition. Last summer I was promoted to run Atalasoft when our founder Bill Bither moved on to seek new opportunities. Bill is a great guy and successful entrepreneur, and as such, he will certainly be missed around here, but we are all excited about what the future will bring in terms of continued product development and of course, new offerings. Stay tuned for a futu...

Read More

Posted by Brendan Day on 02/05/2015 with 0 comments

What is Behind the Rendering Design of DotPdf?

In implementing DotPdf’s mechanism for rendering, I wanted a design that would map reasonably well onto the PDF rendering set, something that would be directly usable by my customers (if they chose to do so), a design that allows easy the building of a convenience layer of common things to represent in PDF, and finally a way that would make it easy for me to create a visual renderer in the future. In this design the rendering model is represented by two basic elements: a renderable object and a renderer which responds to commands from the renderable object. A renderable object is an object that implements the interface IPdfRenderable, which amounts to this: public interface IPdfRenderable {     string Name { get; set; }     void Render(PdfPageRenderer r); } This is small and not particularly onerous – we like that. Technically, the Name property is not necessary, however, I’ve found that it’s often useful to have a...

Read More

Posted by Steve Hawley on 11/24/2014 with 0 comments

Interruptions, Memory, and Health

Recently, I recalled attending a get-together with my friend Dan, who is longtime programmer and researcher. This particular gathering was a mix of people and not just your typical computer types and researchers, which made for some very entertaining conversations. “Hi, how have you been?” asked a non-computer (NCT) type partygoer. “Not great. My Sun died last week,” replied a computer type (CT). “Oh – I’m so sorry!” the NCT was horrified. “It’s ok. I’m getting another one and naming it Bullwinkle,” the CT said excitedly. The NCT, unaware that there was a Sun/son homophone in play, stood there aghast that someone could possibly be so cheerful about the death of a child and would consider naming one Bullwinkle. Dan, unlike this particular NCT, was much better at bridging the gap between computer types and non-computer types. In a separate conversation, he was explaining to ...

Read More

Posted by Steve Hawley on 09/22/2014 with 0 comments

Tech Conference Survival Guide

You just hit submit and registered for the conference. Visions of large convention halls, bright lights, and jet-level audio can make your head spin. It’s time to map out your game plan. We’re here to help. Here are some insights that will make your visit to JavaOne a productive and more enjoyable experience.   Start Your Research. o   Jot down a list of questions you want to find answers to and/or a list of subjects you want to learn more about. o   Install the conference “app”. Sometimes it’s just a mobile enabled website schedule and other times it is a full-blown application with tools and schedules allowing you to get the most out of the convention. Either way, it is a great way to organize your time. o   Plan your schedule: Using the app, list exhibits/exhibitors you want to visit including scheduled speakers and presentations. So if a last minute a new opportunity comes up, y...

Read More

Posted by Kevin Hulse on 09/18/2014 with 0 comments

PDF Forms: Appearances Can be Deceiving

This blog will cover some of the complexities that lurk behind programmatically creating, editing, or filling in a text form field in a PDF document using DotPdf. There are a number of challenges in presenting an API for a “simple” PDF text field (in our API, it's a TextWidgetAnnotation). There has to be a balance between hiding complexity and presenting flexibility. This is even more challenging because the PDF specification for how the contents of a text field should appear has gone through three completelu different and largely incompatible revisions over the current life of the PDF specification. In DotPdf, I try to shield you from the complexities of the PDF specification. In this case, I’m left somewhat helpless because of the changes in PDF. The possibilities for how a text field may appear include: Nothing supplied. Your viewer makes the decision on how the field contents appear. A default appearance. In PDF this is an embedded stri...

Read More

Posted by Steve Hawley on 09/16/2014 with 0 comments

Document Tree Viewer with Atalasoft, Part Two

In Part One of this series, I designed an API for a Document Tree Viewer now called WebDocumentRepository. Since then, I have completed its coding and created a working sample of it using our WebDocumentViewer and WebDocumentThumbnailer. The new control is easy to setup and configure: _repo = new WebDocumentRepository(_viewer, _thumbs, $("#Tree")); The constructor takes the WebDocumentViewer control, the WebDocumentThumbnailer, and the jQuery object where the tree view is to be placed. Once that has been called, the AddDocument method of the WebDocumentRepository is used to add each document: _repo.AddDocument(doc.Path, doc.Name, doc.Url, doc.ToolTip); Arguments: Path – The folder structure to display in the Repository Viewer (e.g. “Documents/Educational”) Name – The display name of the Document in the Repository Viewer URL – The URL that the WebDocumentViewer will use to open the file ToolTip – The display...

Read More

Posted by Kevin Hulse on 09/08/2014 with 0 comments

Hammers Vs. Nails

While working on our recent port of DotPdf to Java, I added a number of tools to our overall toolset to enable more functional programming in the class IterableHelper, which is available in the ProductAPI jar. Of course, one of the tools I put in was fold, which has the following signature: public static <State, T> State fold(Folder<state, T> folder, State initialState, Iterable<T> sequence) This particular signature lets me do all kinds of interesting folds which I need in my code base. Technically, I don’t need them, but there are circumstances where a fold or a function based on fold is much easier to read and maintain. Recently, I ported a chunk of code that summed the width of all columns in an iterable data structure. In F#, I might write this function to do the job: let totalWidth cols = cols |> List.fold (fun sum elem -> sum + elem.Width) 0.0 I could write this in Java, but this is what it will look like (without lambda expressio...

Read More

Posted by Steve Hawley on 08/25/2014 with 0 comments

Document Tree Viewer with Atalasoft, Part One

Two weeks ago, we surveyed our customers to find out what features they wanted to see in future versions of our SDKs.  There were many inspiring feature suggestions that ended up logged in TFS. One feature, suggested more than once, stood out as a perfect feature to implement externally, then write about the process and provide sample code that developers could use directly next to our SDK. The goal of this new feature is to create WebDocumentRepositoryViewer with a tree view of the structure of documents within the repository.  It’s essentially an HTML5 treeview of available documents that links to our web viewers to display the selected document. When a document is selected in the repository, the WebDocumentViewer and WebDocumentThumbnailer open the new file allowing you to scroll through the pages as usual – all with no plugins necessary. It is my plan to create this control using a jQuery control called FancyTree, and provide the following API ...

Read More

Posted by Kevin Hulse on 08/21/2014 with 0 comments

Atalasoft 10.5 SDKs Released

General Atalasoft SDK Changes Drag and Drop Thumbnails in the Web Document Viewer Control Customers have asked and now we've delivered! You now have the ability to rearrange pages in a document through the WebDocumentViewer by dragging thumbnails in the WebDocumentThumbnailer. Changes will automatically be reflected in the connected WebDocumentViewer. Calling save() after rearranging the thumbnails will cause the users’ changes to the document to automatically save in a new file on the server side. Enhanced IE11 Support With the release of 10.4.1, we added support for IE11 and with any new browser there are complexities that are not always seen up front. With 10.5, we have found and removed corner cases with small thumbnails, right-to-left languages, and JavaScript alert errors when there wasn’t a logical error. DotImage PDF Bundle Changes PDF Forms in the Web Document Viewer Harnessing the power o...

Read More

Posted by Rick Casucci on 07/30/2014 with 0 comments
 |<  < 1 - 2 - 3 - 4 - 5 - 6 - 7  >  >| 



Register to receive our monthly newsletter.
preload preload preload