Release Notes
The full official release notes for DotImage can be found below:
Release
Notes Page
Individual releases
Initial Release (Aug 2017)- v11.0.0.0.00297
FixPack
1 (Sep 2017) - v11.0.0.1.00338
FixPack
2 (Oct 2017) - v11.0.0.2.00358
FixPack
3 (Nov 2017) - v11.0.0.3.390
FixPack
4 (Dec 2017) - v11.0.0.4.408
FixPack
5 (Jan 2018) - v11.0.0.5.418
FixPack
6 (March 2018) - v11.0.0.6.432
FixPack
7 (April 2018) - v11.0.0.7.458
FixPack
8 (June 2018) - v11.0.0.8.478
FixPack
9 (August 2018) - v11.0.0.9.498
Fixpack
10 (September 2018) - v11.0.0.10.507
FixPack
11 (November 2018) - v11.0.0.11.517
Support has received many requests to make a more "search friendly" version
of the release notes.
Your wish is our command:
INFO: 11.0 Full Release Notes
New Feature
WebDocumentThumbnailer Multiple Select (11.0.0.7 and later)
With the release of 11.0.0.7 (April 2018) we have added Multiple Selection to
the WebDocumentThumbnailer control
Please see the following KB article for full details:
INFO: WebDocumentThumbnailer Multi Select (New in 11.0.0.7)
Breaking Changes
Tesseract3Engine OCRResources Updated - v11.0.0.10 AND NEWER
As of Fixpack 10 (v11.0.0.10.507), we've updated our Tesseract3Engine
OCRResources. We used Tesseract 3.02 previously, but a fix for a
SystemAccessViolationException required that we move to 3.04
Please see:
INFO: Tesseract Resoruces (Tessdata) d to 3.04 in 11.0.0.10
WebDocumentViewer Resource Changes - v11.0.0.1.00338 and newer
WebDocumentViewer resources - updated Jquery and JqueryUI versions
Old File |
New File |
jquery-1.7.1.min.js |
jquery-1.11.0.min.js |
jquery-ui-1.8.14.custom.css |
jquery-ui-1.10.4.min.css |
jquery-ui-1.8.14.custom.min.js |
jquery-ui-1.10.4.min.js |
clipboard.js |
-- removed -- |
clipboard.min.js |
clipboard.min.js (re-added in
11.0.0.2.00358) |
This means you will need to update your script references from
<script
src="WebDocViewer/jquery-1.7.1.min.js"
type="text/javascript"></script>
<script
src="WebDocViewer/jquery.easing.1.3.js"
type="text/javascript"></script>
<script
src="WebDocViewer/jquery-ui-1.8.14.custom.min.js"
type="text/javascript"></script>
<script
src="WebDocViewer/raphael-min.js"
type="text/javascript"></script>
<script src="WebDocViewer/atalaWebDocumentViewer.js"
type="text/javascript"></script>
<link
href="WebDocViewer/jquery-ui-1.8.14.custom.css" rel="Stylesheet" type="text/css"
/>
<link href="WebDocViewer/atalaWebDocumentViewer.css"
rel="Stylesheet" type="text/css" />
<meta name="viewport"
content="initial-scale=1, maximum-scale=1, user-scalable=no">
to
<script
src="WebDocViewer/jquery-1.11.0.min.js"
type="text/javascript"></script>
<script
src="WebDocViewer/jquery.easing.1.3.js"
type="text/javascript"></script>
<script
src="WebDocViewer/jquery-ui-1.10.4.min.js"
type="text/javascript"></script>
<script
src="WebDocViewer/raphael-min.js"
type="text/javascript"></script>
<!-- clipboard-min.js
Removed in 11.0.0.0 - 11.0.0.1, required in 11.0.0.2 and newer -->
<script
src="WebDocViewer/clipboard-min.js"
type="text/javascript"></script>
<script
src="WebDocViewer/atalaWebDocumentViewer.js"
type="text/javascript"></script>
<link
href="WebDocViewer/jquery-ui-1.10.4.min.css" rel="Stylesheet" type="text/css"
/>
<link href="WebDocViewer/atalaWebDocumentViewer.css"
rel="Stylesheet" type="text/css" />
<meta name="viewport"
content="initial-scale=1, maximum-scale=1, user-scalable=no">
Known Issues
Jp2Encoder deprecated - new Jpeg2000Encoder available in 11.0.0.3 and
newer
The Jp2Encoder (For encoding Jpeg2000 files and for using Jpeg2000
compression) was discovered to throw an exception when attempting to use less
common WavletFilterMethod settings. When engineering analyzed the situation,
they realized that fixing it would cause a breaking change for existing
Jp2Encoder users and changing several default settings. Therefore, the decision
was made to deprecate the Jp2Encoder class but keep it in DotImage... and
provide a replacement Jpeg2000Encoder which had the correct properties and
settings to allow for less common configuration settings
While you do not need to change your solution to use Jpeg2000Encoder unless
you're receiving exceptions on save due to WavletFilterMethod and other advanced
settings, it is recommended to use the Jpeg2000Encoder if possible
Also note, the Legacy Demos will
be getting updated to use the Jpeg2000Encoder which means that if you are using
11.0.0.2 or earlier you will not be able to compile as the Jpeg2000Encoder class
is not present until 11.0.0.3 -you can resolve this issue by changing any
instance of Jpeg2000Encoder in the code back to use Jp2Encoder instead
Missing Classic ASP.NET Web Resource Files (FIXED in 11.0.0.2 and
newer)
Users that use Web Resources folders with older ASP.NET controls (This does
NOT apply to WebDocumentViewer or WebCapture) may note that the folloing files
are missing
C:\Program Files (x86)\Atalasoft\DotImage
11.0\bin\WebResources\ajax-loader_drk.gif
C:\Program Files
(x86)\Atalasoft\DotImage 11.0\bin\WebResources\AtalaCanvas.js
C:\Program
Files (x86)\Atalasoft\DotImage
11.0\bin\WebResources\Background_Splash.gif
C:\Program Files
(x86)\Atalasoft\DotImage 11.0\bin\WebResources\ClientTools.js
C:\Program
Files (x86)\Atalasoft\DotImage
11.0\bin\WebResources\CommentMinimized.png
C:\Program Files
(x86)\Atalasoft\DotImage 11.0\bin\WebResources\Enums.js
C:\Program Files
(x86)\Atalasoft\DotImage
11.0\bin\WebResources\excanvas-compressed.js
C:\Program Files
(x86)\Atalasoft\DotImage 11.0\bin\WebResources\mask.png
C:\Program Files
(x86)\Atalasoft\DotImage 11.0\bin\WebResources\spacer.gif
C:\Program Files
(x86)\Atalasoft\DotImage 11.0\bin\WebResources\WebAnnotation.js
C:\Program
Files (x86)\Atalasoft\DotImage
11.0\bin\WebResources\WebAnnotationController.js
C:\Program Files
(x86)\Atalasoft\DotImage
11.0\bin\WebResources\WebAnnotationViewer.js
C:\Program Files
(x86)\Atalasoft\DotImage
11.0\bin\WebResources\WebAnnotationViewerSplash.gif
C:\Program Files
(x86)\Atalasoft\DotImage 11.0\bin\WebResources\WebImageViewer.js
C:\Program
Files (x86)\Atalasoft\DotImage
11.0\bin\WebResources\WebImageViewerChild.js
C:\Program Files
(x86)\Atalasoft\DotImage
11.0\bin\WebResources\WebImageViewerSplash.gif
C:\Program Files
(x86)\Atalasoft\DotImage
11.0\bin\WebResources\WebThumbnailViewer.js
C:\Program Files
(x86)\Atalasoft\DotImage
11.0\bin\WebResources\WebThumbnailViewerChild.js
C:\Program Files
(x86)\Atalasoft\DotImage
11.0\bin\WebResources\WebThumbnailViewerSplash.gif
C:\Program Files
(x86)\Atalasoft\DotImage 11.0\bin\WebResources\Zoom.cur
C:\Program Files
(x86)\Atalasoft\DotImage 11.0\bin\WebResources\ZoomIn.cur
C:\Program Files
(x86)\Atalasoft\DotImage 11.0\bin\WebResources\ZoomOut.cur
This is a known issue and should be addressed in 11.0.0.2 in end of October
2017
In the meantime, we've attached WebResources_11.0.0.1.00338.zip to this
case
TempFile Extraction for Atalasoft.PdfIum.dll
Atalasoft changed to a new PDF engine in 11.0. Due to internal reasons, we
need to extract the Atalasoft.PDFium.dll into the TEMP directory of the current
user's profile.
For the vast majority of users, this should be completely transparent.
However, if you have a particularly locked down system and receive permissions
errors relating to the Atalasoft.PDFium.dll or the temp folders, here is the
information you will need to resolve the issue:
For windows users/apps running under "normal" accounts that would be
c:\users\YOUR_NAME\AppData\Local\Temp\
(full path would be
c:\users\YOUR_NAME\AppData\Local\Temp\Atalasoft\DotImage\VERSION_NUMBER\x86orx64\Atalasoft.PDFium.dll
)
For services running under system accounts.. including web applications under
IIS, the user account that runs it may be a non-interactive account without a
profile. In those cases it falls back on
c:\Windows\TEMP\
(full path
would be
c:\Windows\TEMP\Atalasoft\DotImage\VERSION_NUMBER\x86orx64\Atalasoft.PDFium.dll
)
Once it's extracted for that version, it should be able to read from others,
and you may just be able to (depending on how locked down your system is) set
read/execute permissions to be a bit more Open.
If you're encountering this in a web app or service, your other option would
be to ensure that the user running the IIS process / windows service has an
actual user profile of its own and that each app has a unique user.
As of 11.0.0.9, we added configuration options to allow you to specify location to extract to.
For applications with appl.config, the entry is done there along these lines:
<Atalasoft>
<PdfDecoder PdfiumLocation="C:\Folder\Subfolder\SubSubFolder"/>
<!-- Components sections -->
...
</Atalasoft>
For web apps and services that have a web.config, you need to add the correct sections:
<?xml version="1.0"?>
<configuration>
<configSections>
<section name="Atalasoft" type="Atalasoft.Shared.AtalasoftConfigSection, Atalasoft.Shared"/>
</configSections>
<runtime>
<gcServer enabled="true"/>
</runtime>
<Atalasoft>
<PdfDecoder PdfiumLocation="C:\someFolder\YourAppFolder\YourAppName\bin" />
</Atalasoft>
<system.web>
... removed for brevity here...
</system.web>
</configuration>
Or, if you're using IIS 7.5, it is possible to configure temp folder for each
app
https://serverfault.com/questions/350550/is-it-possible-to-configure-the-location-of-temporary-asp-net-files-folder-in
PdfReader Related License Changes
DotImage 11.0 includes an entirely new PdfReader assembly.
Users with existing PRS2 / PRSX2 licenses will be issued new PRP2 / PRPX2
serial numbers automatically.
New purchases of PdfReader add-on will provide PRP2 / PRPX2 serials only.
What this means is that for licensing 11.0 and newer, users will want to
activate their new PRP2 / PRPX2 serials instead of their PRS2 / PRSX2 serials.
If you are a currently licensed user of the PdfReader add-on and have
existing PRS2 / PRSX2 serials under maintenance, and have not received your new
PRP2/PRPX2 serial(s) from Atalasoft, please check with the person within your
company who handles the Atalasoft billing/renewals.
If you're unsure of who within your company would have received the updated
serials, you may open a support ticket and we can assist.
NOTE: if you need to activate / license a 10.7 or older DotImage with
PdfReader, you will need to use your PRS2 / PRSX2 serial(s) as the PRP2/ PRPX2
serials are only for 11.0 and newer.
Support for Large PDF Files > 2 GiB
As a "side effect" of updating to the newer Pdfium engine, we now can support
PDF files > 2 GiB in size (previously even on 64 bit systems, the max size
for a PDF file was 2 GiB due to the use of signed 32 bit integers for stream
position pointers internal in the PdfReader library
This limit is no longer in place, so you should be able to read from/ write
to PDF files up to 4 GiB in size
Client-Side (JavaScript) API Documentation Moved
The DevelopersGuide.pdf which comes with DotImage (C:\Program Files
(x86)\Atalasoft\DotImage 11.0\Help\DevelopersGuide.pdf) no longer contains
client-side JavaScript API documentation for WebDocumentViewer and
WebDocumentThumbnailer. that documentation has been moved to
WebDocumentViewer JavaScript API:
https://atalasoft.github.io/web-document-viewer/
Additionally, we are no longer shipping WingScan API Reference.pdf in the
WebCapture Resources folder:
C:\Program Files (x86)\Atalasoft\DotImage
11.0\bin\WebResources\WebCapture
That documentation has been moved to:
WebCaptureService (WingScan) JavaScript API:
https://atalasoft.github.io/web-capture-service/
.NET 2.0 and .NET 4.0 dlls updated to 3.5 and 4.5.2
DotImage has shipped with .NET 2.0 dlls since version 6.0 and with .NET 4.0
dlls since version 9.0. Microsoft is dropping support for .NET frameworks 2.0
and 3.0 and also for .NET 4.0, 4.5, and 4.5.1.
DotImage in 11.0 and newer will no longer provide .NET 2.0 and .NET 4.0 DLLs,
and instead will ship with .NET 3.5 and .NET 4.5.2 respectively. The .NET 4.5.2
DLLS will work with the .NET 4.6 / 4.7 + variants as well.
Support for ASP.NET Core Apps for WebDocumentViewer and WebCapture
We have support for ASP.NET Core targeting .NET Framework for our
WebDocumentViewer and WebCapture components.
Please see FAQ: Support for ASP.NET Core / .NET Core for full details.
NOTE: we do not support .NET Core native (full .NET Core) just the ASP.NET
Core subset when targeting .NET Framework with our modern web controls. There is
no support for ASP.NET Core or .NET Core for our legacy web controls or any
other controls.
Annotation Burning in WebDocumentViewer
We've added annotation burning to WebDocumentViewer. to use this feature, you
need to set the burn property of a given annotation to "true" and update the
annotation. Then on save, the annotation will be burned to the saved document
instead of saved in annotation data.
// Burn all annotations on a single page
function burnAllAnnosOnPage(pageIndex) {
var
annos = _viewer.getAnnotationsFromPage(pageIndex);
if
(annos != null) {
for(var i=0; i < annos.length;
i++){
var anno = annos[i];
anno.burn = true;
anno.update();
}
}
}
// burn all annos on all pages
function burnAllAnnos()
{
var
pageCount = _viewer.getDocumentInfo().count;
if
(pageCount != null && pageCount > 0) {
for
(var i = 0; i < pageCount; i++) {
burnAllAnnosOnPage(i);
}
}
}
now, when you call save on the viewer, any annotations with
burn=true will be burned to the image
Reloading Individual Pages in WDV/WDT
11.0 introduced the new feature of being able to reload a single changed page
in the WebDocumentViewer and WebDocumentThumbnailer controls
If using WDT with WDV, then calling
_thumbs.document.reloadPage(pageIndex);
will reload the thumbnail
_viewer.document.reloadPage(pageIndex);
will reload the Web Document Viewer page
PdfGeneratedDocument (DotPdf) ImportPages and Form Merge Conflict
Resolution
PdfGeneratedDocument now has a new ImportPages feature designed to easily
allow for importing pages from additional external PDFs.
PdfDocument can not combine PDFs where more than one of the documents has
AcroForm elements. The new ImportPages feature of PdfGeneratedDocument includes
conflict resolution events to allow for handling such cases
Q10428 - HOWTO: CombineMultiple PDF Files With Fillable Forms (AcroForms)
Quick Example:
private void
MergePdfWithFormsConflicResolution(string baseFile, string importFile, string
outFile)
{
using (FileStream baseFileStream = new FileStream(baseFile,
FileMode.Open, FileAccess.Read, FileShare.Read))
{
using
(PdfGeneratedDocument genDoc = new
PdfGeneratedDocument(baseFileStream))
{
using
(FileStream importFileStream = new FileStream(importFile, FileMode.Open,
FileAccess.Read, FileShare.Read))
{
genDoc.ImportPages(importFileStream, new ImportOptions
{
//// These are additional options
available
//InsertIndex = -1,
//PagesToImport = new int[] {1,3,5,7},
//OwnerPassword =
"",
//UserPassword = "",
//RepairOptions = new
Atalasoft.PdfDoc.Repair.RepairOptions(),
//// This option
is the key one for merging with acroforms conflict
resolution
FormFieldsConflictHandler =
ResolveFormFieldsConflict
});
using (FileStream outFileStm = new
FileStream(outFile, FileMode.Create))
{
genDoc.Save(outFileStm);
}
}
}
}
}
/// <summary>
/// Example conflict
resolution where we'll let the forms just bring in their fields normally, and
only rename fields if needed
/// the rename here is VERY SIMPLE and may not
be complex enough (we just pre-end "new" to the field name of any conflicting
field"
/// You could do something involving random numbers/letters , GUID
etc..
/// </summary>
/// <param
name="sender"></param>
/// <param
name="args"></param>
private static void
ResolveFormFieldsConflict(object sender, FormFieldsConflictEventArgs
args)
{
if (args.AreFieldTypesEqual)
{
// no conflict
really so just let it ride
args.ConflictResolution =
FormFieldsConflictResult.KeepCurrentFieldAndMergeChildren;
}
else
{
// generate new name for field
args.ExternalField.FieldName = "new" + args.ExternalField.FieldName;
args.ConflictResolution = FormFieldsConflictResult.KeepBoth;
}
}
Original Article:
Q10443 - INFO: Changes Introduced in DotImage 11.0