February 21, 2007.
PDFTron Systems Inc. today announced an update to PDFNet SDK (v.3.6),
a high-quality, comprehensive PDF SDK for PDF creation, manipulation,
and rendering.
What’s New PDFNet SDK Version 3.6 ?
-
Improved JBIG2 handling. JBIG2 decoder can now process any valid
JBIG2 stream (previously the JBIG2 decoder could only process streams
compressed using PDFNet). -
Improved font substitution (especially for CJKV fonts). There are
also new methods that allow the user to override the default PDFNet
font substitution algorithm. Using PDFNet.AddFontSubst() it is
possible to override font substitution for individual font names as
well as for various character collections. Check out the PDFDraw
sample project for an example of how to use PDFNet.AddFontSubst(). -
ICC support for device color spaces. Although ICC support was
available in PDFNet for a while, the only way to control color
conversion of device color spaces was by embedding ICC profiles in the
PDF document and overriding default color spaces. Starting with PDFNet
3.6, it is possible to adjust color conversion without having to
modify source documents. The relevant methods in the ‘PDFNet’ class
are SetColorManagement() , SetDefaultDeviceRGBProfile() , and
SetDefaultDeviceCMYKProfile(). The PDFDraw sample project also shows
how to use these functions. -
Significant reduction in memory requirements related to processing
of monochrome images. -
New Page Labels API and sample project. Page labels allow for non-
sequential page numbering or the addition of arbitrary labels for a
page (such as the inclusion of Roman numerals at the beginning of a
book). -
Cross-platform support for Unicode file-systems.
-
Cross-platform support for Unicode strings and new utility methods
for handling ‘PDF Text Strings’ as Unicode strings. -
Improved conversion of text to Unicode.
-
Unlimited number of colorants/tint components for DeviceN color
spaces. -
PDFDraw.Export can now also export images in indexed color space
resulting in a smaller file size, possibly at the expense of some
image quality. To export the rasterized image using 8-bit, palettized
PNG format, use “PNG8” to identify the export filter (e.g.
pdfdraw.Export(page, “out.png”, “PNG8”). -
A new option in ElementWriter to simplify switching off compression
of page streams. The ElementWriter.Begin() method has couple of
additional options: -
background: An optional flag indicating whether new content
should be added as a foreground or background layer to the
existing page. -
compress: An optional flag indicating whether the page content
stream should be compressed. -
Correct rendering of highlight annotations.
-
A new type of event in PDFClass that is raised every time the
current page number changes (e.g. during page scrolling). This feature
makes it easier to update GUI elements representing the current page
within the document. The delegate (PDFViewCurrentPage delegate) that
handles this event can be registered using
PDFView::SetCurrentPageProc. -
Extended C# PDFView sample project illustrating how to create
additional interactive PDF tools such as rectangular zoom, link
creation and navigation tool, markup annotation, etc. -
Various bug fixes.
New Types and Methods:
PDFNet.SetColorManagement()
PDFNet.SetDefaultDeviceCMYKProfile()
PDFNet.SetDefaultDeviceRGBProfile()
PDFNet.AddFontSubst()
class UString
Obj.FindObj()
Obj.GetAsPDFText()
class PDF.PageLabels
PDFDoc.SetPageLabel()
PDFDoc.RemovePageLabel()
PDFDoc.GetPageLabel()
Page.IsValid()
PDFRasterizer.Dispose()
PDFView.SetCurrentPageProc(PDFViewCurrentPageDelegate, …);
PDFDraw.Dispose()
ColorPt.SetColorantNum()
ColorPt.Set(c, idx)
ColorPt.Get(idx)
Other Changes:
Obj.GetStr() is deprecated. Use Obj.GetAsPDFText() instead.
ColorSpace::MaxColornats is deprecated.
Function::maxcardinality is deprecated.
SDF::Erase() returns void.