Product Updates
Debenu Quick PDF Library is regularly updated with new features, bug fixes and general enhancements. Here you can check to see if you are using the latest version.
The latest release of Debenu Quick PDF Library is version 11.13 and it can be downloaded from here:
Release history
Debenu Quick PDF Library 11.13
- None
- Fixed text extraction bounding box issues with CVision OCR'd PDF's
- Fine tuning of underlined fonts and the underline thickness for EMF
- Fixed a regression issue in NormalizePage with CropBoxes
- Fixed GetPageImageList exporting 8-bit CMYK images
- Fixed a font rendering issue with a true type font
- Fixed Arc rendering routines when angle was greater than 180 degrees
- Improved importing of EMF font mappings when not embedding fonts
- Fixed linearization issue with encrypted files
- Fixed linearization issue that caused incomplete files on output
- Fixed an issue in GetSubFormNames with PDF's with indirect references
- Fixed crash in ReleaseSignProcess
- Added support of rendering embeded TrueType Font Collections (.TTC) fonts
- Fixed rendering of some JBIG2 issues with ImageMask=TRUE
- Fixed DA rendering issue with images using indirect Indexed ColorSpace lookup entry
- Fixed error handling of PDF files with an invalid Trailer dictionary
- Fixed crash in NormalizePage with a rare malformed PDF file
- Fix for GetDocumentMetadata to return correct Metadata in all cases
- Improved reading of malformed Linearised files from Aspose
- Fixed a rare rare JPEG rendering exception
- StrParm was not handling 0 length string correctly in C++ import headers
- Font rendering problem with malformed OpenType font
- Fixed incorrect handling of EMF brushes when calling EmfDeleteObject
- Fixed import of EMFPie function when importing EMF files
- Improvements to customer version of ReplaceFonts
- Allow devmode PaperSize to specify option 0 to allow for custom paper sizes
- Bug fixes for files larger than 2GB in DAAppendFile and TransformFile functions
- Add code to prevent a stack overflow in FindImages for a particular malformed PDF
- Fix DrawWideTextBoxMatrix so it restores the previous graphics state
- Choose correct LineWidth for rotated transformations when drawining lines
- Rendering problem with ImageMask is mtColorKey and colour1 > colour2
- Fix return value for LoadFromFile when file cannot be opened in rare cases
- Fixed QPLBuffer DistanceTo.. Functions
- Annotation rendering issues fixed
- Added Option 10 to ReplaceFonts removes embedded fonts if it matches the 14 std fonts
- Improved documentation for DrawCapturePage and CapturePage to explain things more
- Experimental : Allow GetPageImageList to extract masked images as PNG files
- Improved text extraction. Handle rotated italic text with ignoreOverlaps and ignoreRotation
Debenu Quick PDF Library 11.12
- GetTextBlockAsString
- DAGetTextBlockAsString
- Bug fixes for Linearization
- Fixed import of TIFF images with the strips are also tiles
- Fixed NormalizePoge to not process Annots when Page rotation is already 0 degrees
- Fixed TPDFIndObj.Decode to correctly decode PDF attachments
- Fixed rendering of a malformed Type1 font
- Fixed rendering of line thikness on certain PDF's
- Fixed autosubsetting of fonts with DrawHTMLText in certain cases
- Fixed combobox issue
- Fixed DrawEllipticArc and EMFArc importing issues
- None
Debenu Quick PDF Library 11.11
- AppendToString
- SetAppendInputFromString
- AppendToVariant
- SetAppendInputFromVariant
- ConvertToFileSpecString
- AddRelativeLinkToFile
- AddRelativeLinkToFileEx
- AddRelativeLinkToFileDest
- AddRelativeLinkToLocalFile
- RenderPageToDCClip
- GetFormFieldCaptionEx
- DASetPageMode
- DASetPageLayout
- DANormalizePage
- LinearizeFile
- PrintMode
- SetSignProcessCustomSubFilter
- SetDecodeMode
- Optimised printing not printing 1bit or 8bit images has been fixed
- Fixed an EMF import problem with thin dashed lines
- Fixed Print Preview problem in MFC with thin lines being thickened
- Fixed a problem with encrypted streams in PDF functions inside patterns
- Fixed various text extraction issues for rare cases
- Fixed AGG printing of annotations that should not be printed
- Fixed White lines when printing
- Fixed Tiling pattern not rendering in AGG
- Fixed opening of PDF with empty user password
- Fixed issues with creating Full Circle using GetCanvasDC() and CDC
- Fixed rendering of pattern in DA mode
- Fixed rendering in AGG with transparency
- Fixed isuess with rendering Barcode datamatrix
- Fixed rendering that resulted in blank pages displayed
- Fixed AddBoxToPath used a different Y origin
- Fixed Tiling Pattern with image
- Fixed issue with barcode and text printing
- Fixed artifacts in background tiles in AGG and GDI+
- Fixed infinite looping when processing a malformed ToUnicode table
- Fixed text extraction of composite fonts using ligatures
- Fixed URI extraction of Annotation entries with non unicode string
- Fixed rendering of Indexed CalRGB inline images
- Fixed note annotation appearance stream
- Fixed a bug with CopyPageRanges and a malformed PDF file
- Fixed a rendering issue with Oracle generated reports
- Fixed partially image and pattern drawing
- Fixed rendering of Windows 8 fonts with version 3 postscript tables
- Fixed extraction of masked Tiff images when used with GetPageImageList function
- Fixed DrawHTMLText to preserve text case
- Added check for negative Index values being passed
- Added support for Delphi XE7
- Updated SelectRenderer and SetDPLRFileName Documentation/FunctionReference.xml to explain more about how and where to use and find the AGG DLL
- Add option to ExtractFilePagesEx to remove FormFields an XFA entries
- Add SetTextExtractionOption 15 to remove lines that are made up of Underscores + Docs
- All text rendering routines now support automatic truetype font subsetting / updating
- All link functions pointing outside the PDF document now respect PDF specification paths creation
- Added support to set the PrintOption AutorotateCentre to -1 to force opposite rotation
- Added code to ReplaceFonts to also replace subsetted TrueType fonts that match
- Improved the space estimation for the linearization hint table stream object
- Improved page object tree traversal
- Added Options Parameter to ReplaceFonts function
Debenu Quick PDF Library 10.16
- None
- Image rendering problem fixed (Color Key Masking support added)
- Fix rendering exception caused by infinity loop in Type1 font decoder
- Inline image printing problem resolved
- Fixed palette bug with image decoding for Debenu PDF Library Rendering engine (AGG)
- Fixed issue with XMP (setting the title was actually changing the subject)
- Fixed malformed PDF handling for specified but missing objects
- Fixed memory leak in FindFonts
- Fixed issue with HasFontResources not detecting font
- ETO_PDY flag is now being used correctly
- Use offsets to calculate text width
- Update DA/GetTextBlockBlockBounds documentation to report correct order of coordinates
- Add workaround for text extraction where no ascent values are specified in the font
- Added improved detection for invalid xref entries
- Improved EMF import of Asian / CJK fonts
- Fix for import Arc's in EMF files
- FormFieldChoice fields are now treated as UTF8 where required
- Fixed rendering of JPEG2000 images with a DeviceN ColorSpace in GDI+ renderer
- Fixed rendering of JPEG2000 images with a DeviceN ColorSpace in AGG renderer
- Fixed image extraction of masked JBIG2 images
- Fixed an endless loop for image loading
- Fixed stream detection slowdown from 10.13
- SetObjectFrom* functions now support stream objects
- More accurate line dash rendering in GDI Plus renderer
- Color conversion of /Separation images uses direct CMYK to RGB conversion
- Changes to AddTrueTypeSubsettedFont for automatic subset updating
- Text extraction routines now converts   to a space for word breaks
- Speed optimization for saving files with millions of objects
Debenu Quick PDF Library 10.15
- GetPageUserUnit
- SetPageUserUnit
- AddPageMatrix
- GetCanvasDCEx
- Fixed a rendering exception for images using large patterns
- Fixed a small memory leak in SetFormFieldRotation
- Reverted TextAscent and TextAscent to previous values
- Fixed GetAnnotStrProperty(111) to perform a UTF-8 conversion on the string to return a Unicode value
- Fixed GetPageText to use CapHeight if Ascent and Descent are not specified
- Fixed a minor regression in GetPageText(4) with some rare text combinations
- Fixed a regression in malformed PDF file loading for a particular malformed PDF
- Fixed an obscure CJK font rendering issue
- Added automatic C40 encoding to DrawDataMatrixCode to allow for more characters to be encoded
- Fixed DrawArc function for cases when StartAngle is bigger than EndAngle
- Improvements to non-embedded TrueType fonts in EMF files and other fixes
- Revert EMF header changes back to previous revision due to regressions
- Fix to SetFormFieldValue to all setting a one character subname correctly
- RemoveXFAEntries now removes Extensions and StructTreeRoot entries
- Text extraction results now returned based on SetOrigin and SetMeasurementUnits values
- Rewrite ReplaceImage to use recursion to find nested XObject images
- Updated GetTextBlockBound function to return values based on current SetOrigin and SetMeasurementUnits values
- Small Improvements to CheckFileCompliance
- Fix drawing of rotated DataMatrix barcodes
- FlattenAnnot will flatten and delete Annots with no appearance stream
- Changes for EMF Import to make IncludedFonts part of the Document and not local Image
- Various EMF font subsetting improvements and non embedded font improvements
- Fixed a small linedash rendering problem
- Improved text extraction on text drawn using large overlapping CharSpacing values
- Fixed AddImageFromFile with B/W bitmaps that were being inverted
- Fixes to EMF SmallTextOut when using embedded fonts
- Updated documentation for GetFormFieldBorderColor(+Type) and GetFormFieldBackgroundColor(+Type) functions
- Support for Delphi XE6
- Added constant ImageID output to GetImageListItemIntProperty
Debenu Quick PDF Library 10.14
- GetAnnotEmbeddedFileName
- GetAnnotEmbeddedToFile
- GetAnnotEmbeddedFileString
- AddStampAnnotationFromImageID
- GetFormFieldSubmitActionString
- Fixed and obscure rendering bug caused by malformed PowerPoint files that added strange lines in the render output
- Fixed regression in SetFormFieldValue when setting multiple choice field entries
- GetFormFieldPage was not returning correct page number for malformed for PDF's with an indirect Kids reference
- Fixed processing of vector graphics with /Indexed /CalRGB colorspace
- Fixed text alignment in the DrawTextArc function
- Fixed rendering of images with /DCTDecode filter and /Separation /DeviceCMYK colorspace
- Fixed handling of certain TrueType fonts with mismatched glyph and points arrays
- Corrected handling of /DCTDecode /Lab images and /Indexed /Lab images
- Fixed a minor indexed image decoding issue relating to the indexed data stream
- Corrected inversion of inline stencil mask images with Debenu PDF Library Renderer
- Updated form fields appearance stream
- Fixed strip printing of large images
- Various small bug fixes for text extraction when extracting malformed Type3 fonts
- Fixed text extraction issues when there was not Resources dictionary present
- Fixed a problem with the EMF import and the EMR_MASKBLT command
- Fixed a problem with EMF and Deleting of Pens and subsequent line thickness values
- Fixed an issue with the AddFreeTextAnnotation text placement
- Allow Annotation strings to use Unicode for text based properties such as title, subject, contents
- Attempt to fix EMF regression in GetCanvasDC from 10.13, 10.12
- Fix a rendering exception for images using large patterns
- AddFreeTextAnnotation now supports 0, 90, 180 and 270 degree text rotation
- Copyright notice updated in source code files
- LoadFromFile sets LastErrorCode to 401 for files that cannot be found
- Improvements to handling of duplicate object positions in malformed xref tables
- Add new TextExtractionOption to output not ASCII characters in the output results
- Improvements to handling of invalid entries in malformed xref tables and byte shifted documents
- Rewrite of Metafile import to create subsetted fonts to significantly reduce output file size
Debenu Quick PDF Library 10.13
- RemovePageBox
- AddLinkToDestination
- GetFontMetrics
- GetFontIsSubsetted
- GetFontIsEmbedded
- DrawRoundedRotatedBox
- DrawRotatedTextBoxEx
- GetAnnotEmbeddedFileName
- GetAnnotEmbeddedFileToString
- GetAnnotEmbeddedFileToFile
- AddStampAnnotationFromImage
- Fix SetFormFieldValue for choice fields when setting a one character string value
- Fix a rare text extraction issue with options 0, 1 and 2
- Encrypted Separation and DeviceN colorspaces are now correctly decoded
- Update LoadFrom file to be able to load large 'trailer' dictionaries
- Update PDF417 code to correctly handle individual LF characters instead of converting to CR/LF
- Improve text positioning in EMF import when using TA_TOP positioning with TextOut type calls
- Fix bug in DrawQRCode where Zero's were not being allow in AlphaNumeric encodings
- Updated AddFreeTextAnnotation documentation to describe the use of the options parameter
- Fix a small regression in Image handling for loading of large bitmap images
- Fixed and EMF problem relating to DeleteObject and Pens and default PenWidth
- Fix FlattenFormField to search for the correct page before flattening a Signature form field
- Fix to correctly decode Hex strings that are Unicode strings for rendering and text extraction
- Fix for rendering CIDFontType2 characters and with non embedded fonts and a ToUnicode table
- Fixed processing of DeviceN and Separation ColorSpaces that use a transform function
- Fix for rendering CIDFontType2 characters and with their own CIDToGID tables
- Fix for PDFs containing an unsigned encryption permissions key
- Fix a minor Text Extraction issue with GetPageText(7) and small fonts
- Tweaked the font substitution algorithm to find obscurely named fonts more accurately
- Fixed bug with single line JPEG images
- Improvements to image cache handling of patterns during printing
- Fixed indirect reference lookups during rendering
- Minor tweak for SetGDIPlusOptions option 9 to enhance thin lines with GDI+ renderer
- Fixed a small font rendering issues with Type0 fonts that use a glyphID of 0
- Prevent memory leak during parsing of certain fonts
- Small fix for Direct Access rendering to handle a malformed stream indirect reference
- Small fix for handling malformed xref entries
- Minor rendering tweaks to render known CID font issues
- Fix RenderPageToXxx functions when rendering HTML5 color output
- Text extraction with single and multibyte CID Ligatures now supported
- Add code to process malformed PDF's with a Pages tree entry and no /Type entry
- Add code to process malformed PDF's with a Pages tree entry and no /Type entry in DA Mode
- Fix rendering of Annotation borders with an invalid Border entry
- Fix rendering on inline ICCBased images
- Fix a rare malformed TrueType rendering issue related to obscure Composite rendering flags
- Improved GetPageColorSpaces to detect Indexed Colorspaces and SMask colorspaces + other small fixes
- Updated GetFormFieldSubCount and GetFormFieldSubName to work with KidTempIndex values
- GetPageList will now collect and return embedded Inline images. Only resource images were returned before
- Initial changes to support InternalLeading and ExternalLeading in the font functions
- SetSignProcessFieldImageFromFile now supports transparent images via the Options parameter
Debenu Quick PDF Library 10.12
- UpdateTrueTypeSubsettedFont
- CheckPassword
- AddImageDirectFromString
- RemoveFormFieldChoiceSub
- SetFormFieldTitle
- Fixed a continuous loop issue when calling zDecompress in 64bit versions
- Improved the recovery of Group 4 tiff Decoding errors
- Fix some small CJK font rendering issues relating to SingleByte CMaps
- Further improvements to the EMF import clipping issues
- SecurityInfo function now reports empty owner password correctly
- Fix for decoding of inline images using ASCII85Decode and missing BitsPerComponent
- EnhanceThinLines changes for SetGDIPlusOptions
- Fixed initial clipping when an offset is used with rendering to DC
- Added Type4 function clipping
- Fixed a text spacing issue when a negative TextSpacing is defined
- Fixed a rare JPEG decoding issue with DeviceCYMK and a negative Decode filter
- Add a fix to render inline images with an ICCBased Indexed colorspace
- Fixed an recently introduced error in AddImageFrom file with BMP processing
- Fixed an AddImageFromFile error with certain LZW based striped TIFF images
- Added a fix to repair malformed formfields with an invalid Parent key
- Fixed a small rare crash with StretchDIBits with the EMF import function
- Fixed a rare path drawing issue with the EMF import functions
- Added support for RunLengthDecode streams
- Reset LastErrorCode to 0 after being called
- Update Subname list and counts after calling AddFormFieldChoiceSub and AddFormFieldSub
- Fixed DrawRotatedImage with an EMF file to work the same way as DrawImage
- Allow GetTextWidth to work correctly with Fonts added with AddTrueTypeSubsettedFont
- Fixed Firemonkey compilation for Windows
- AES-256 encryption and decryption routines now correctly handle Unicode passwords
- Corrected handling of sequential “scn” operators
- Various EMF import changes to better process some obscure EMF files
- Added support for missing -1 option to NewPageFromCanvasDC function
- Added fix for rendering embedded Chinese DFKaiShu fonts
- Corrections to calculations in Type 0 functions
- Fixed a crash in UpdateAppearanceStreams when using a dashed border style
- Fixed a rare Japanese font rendering issue with a malformed TrueType font
- Fixed handling of images using Indexed Separation color
- Fixed minor Ellipse rendering when import from an EMF file
- Fixed minor clipping issue with IntersectClipRect and IntersectClipRgn calls when importing EMF files
- Fix internal function Painter.RemoveEndText to prevent generation of invalid PDF files
- Code changes to XFA processing code to prevents issues with multithreading
- Code changes to XMP metadata code to prevents issues with multithreading
- Added encoding table for correct rendering of non-embedded ZapfDingbats font
- Indexed DeviceRGB and Indexed DeviceCMYK colorspaces now supported during vector rendering
- Fixed a minor border drawing issue with tables and thin lines
- Various FormField changes relating to Kids and KidTempIndex
- AddStampAnnotation now creates the required appearancestreams to draw the stamps
- Fixed a rare printing issues which was consuming excessive GDI+ resources printing multistrip images
- FindFonts will now only return the descendant font for subsetted truetype fonts
- Fixed a rendering issue with MetaFile FillRgn command
- Eliminated various compilation hints
- DrawQRCode function now supports UTF-8 and other encodings
- Add Options 10, 11, 12 to SetGDIPlusOptions to finer control over GDI+ rendering parameters
- Improvement to Group 4 CCITT decoder error handling
- Improvements to canvas locking during rendering
Debenu Quick PDF Library 10.11
- DASaveCopyToStream
- RenderAsMultipageTIFFToFile
- DrawHTMLTextMatrix
- AppendToFile
- DrawQRCode
- GetFormFieldKidTempIndex (renamed from GetFormFieldSubTempIndex)
- AddFreeTextAnnotation
- Fix loading of CJK based vertical W2 font entries
- Add SetGDIPlusOptions 9 to enhance very thin lines during rendering
- Fixed a Type1 font rendering issus relating to the FontMatrix entry
- Fixed a Type1 font rendering issue relating to the Encoding entry
- Fix a minor bug in SetFormFieldSubmitActionEx to correctly set the Flags field
- Fixed divide by zero error in renderer for zero length streams
- Significantly reduce the memory required to create an PNG file using RenderPageTo
- Fixed AES-256 AcrobatX decryption with certain documents
- Fix a minor text extraction issue with older Type1 fonts
- Fixed EMF import of Arc segments with a clockwise drawing direction
- Fixed EMF import for created pens with the PS_USERSTYLE flags and a dashpattern
- Fixed EMF import of some paths that were filled that should not be filled
- XML reading/writing now uses MSXML2.DOMDocument.6.0 by default with explicit fallback to 3.0
- Fixed SetAnnotStrProperty to correctly update the /S entry
- Page painter state is now correctly updated after certain matrix drawing operations
- Fixed EMF import for some obscure EMF files that reset the WindowExt scaling after creating the font
- Fixed EMF RecordCounter internally to match 3rd party EMF viewers to improve debugging
- Fixed EMF ClipRegion problem in certain EMF files
- Fixed EMF StretchBlt function that uses a XForm transformation matrix
- EnhanceThinLines changes for SetGDIPlusOptions
- Support for AES-256 AcrobatX encryption
- Performance improvement with glyph lookups
- Reintroduced renderer font caching system
- General performance improvements
- Support for Delphi XE5
- Imported BMP's and embeded BMP's in an EMF are now optimised as Indexed images if less then 256 colors
- All DPI parameters are now of type Double instead of Integer
Debenu Quick PDF Library 9.16
- NewInternalPrinterObject
- GetPrintPreviewBitmapToString
- GetPrintPreviewBitmapToVariant
- SetFormFieldChoiceSub
- AddLinkToFileEx
- SetSignProcessKeyset
- PageHasFontResources
- SetHeaderCommentsFromString
- SetHeaderCommentsFromVariant
- GetTabOrderMode
- SetTabOrderMode
- CMaps with a CR character before the trailing angle bracket are now processed correctly
- TrueType characters with a composite of a composite are now rendering correctly
- Fixed a rare rendering issue for older Postscript Type1C fonts
- Fixed a rare rendering issue relating to CJK fonts that uses a SingleByteCMAP with word spacing
- Minor addition CJK font substitutions and also default to 'Courier New' if Flags = 'Fixed Width'
- Fix flattening for image based signature formfields
- Fixed GetFormFieldJavaScript to work with sub indexes
- Japanese fonts changes to improve rendering when using a Japanese system locale in Windows
- Added some code changes to make JBIG2 more resiliant to malformed images
- Font substitution now detects '-It' at that end of a font name as Italic
- Fixed the image type for TIFF images when using the ImageList functions
- Small tweak to improve text extraction bounding boxes when wordspacing is used
- Fixed DrawHTMLText when using special character with justified text
- Fixed an issue with text matrix functions in GDI+ interface class
- Internal list of custom printers now correctly protected for multithreaded access
- Fixed an issue with ReplaceFonts function
- Free a local DC for custom printer
- Corrected print page scaling/rotation/margins
- Fixed an EMF import issue relating to FillMode not being save / restored correctly
- Fixed an EMF import issue with TextOut baseline with a negative ViewPortOrgExt value
- Allow MergeFileList to output to a filename that is also an input file
- Fixed memory leak in ImportEMFFromFile
- Fix rendering of OCG's when View state is not defined
- Fixed a small bug in the renders contentstream parser to parse dictionary objects
- Fixed a minor OCG Rendering issue where OCG's now default to visible if not specified
- Fixed a crash in RemoveOutline for certain outline tree arrangements
- Fixed a range check in a malformed PDF with an invalid Differences array
- Fix handling of CreateMonoBrush pattern handling during EMF/Metafile processing
- Fix handling of CreateBrushIndirect pattern handling during EMF/Metafile processing
- Added a workaround for Adobe-Identity-0 encoding with CIDFontType2 fonts
- Fixed the font bounds for the Symbol font during EMF import to improve text positioning
- Added a fix to render TrueType fonts with an unsorted glyf table
- Fixed minor issues with latest EMF pattern import changes
- Removed EMF drawing of rectangles with PAT_INVERT option as it is not supported in PDF
- Added support for EMF pens to use endcap and linejoin settings
- Add a clipping path for the RenderPageToDC functions to correct the rendering output
- Fix the clipping for the EmfExcludeClipRect EMF Import function
- Consistent access to updated objects in direct access functions
- Ignore optional /Index entry in XRef stream detection
- Fix a small range check issue in PDF417 barcode routines
- SetXFAFieldValue can now set multiselect choice box values
- Fixed a small issue with SetFormFieldTabOrder not working on some files
- Numerous EMF improvements to more closely match Windows
- Fixed a minor text extraction issue relating to text bounding boxes and negtive charspacing
- Fixed a rare text extraction issue when fonts information is not properly specified
- Improve rendering speed of ICCBased colorspaces
- Add option 5 to SetRenderOptions to IgnoreICCProfiles during rendering
- Added options 6, 7 and 8 to SetRenderOptions for render progress reporting
- Added option 13 for text extraction functions to trim leading and trailing whitespace from extracted text
Debenu Quick PDF Library 9.15
- SetFormFieldSubmitActionEx
- SetFormFieldResetAction
- DAShiftedHeader
- GetFormFieldRichTextString
- SetFormFieldRichTextString
- GetObjectDecodeError
- SetRenderOptions
- BalancePageTree
- DrawPDF417SymbolEx
- SetSignProcessFieldPage
- DrawTextBoxMatrix
- DrawHTMLTextBoxMatrix
- Allow the image extraction routines to process various ColorSpace options before exporting
- Corrected /Filter/FlateDecode in DAAppendFile and digital signature output
- Generate more correct text extraction bounding boxes for rare PDF’s with Type3 fonts
- Fix rendering of Type3 fonts which use inline images
- Fixed a EMF font issue when a negative lfWidth value was specified
- Fixed a minor regression in XFA formfield processing
- Metafile fixes for PolyPolygon rendering errors
- Minor CIDFontType2 rendering fix
- Fix minor issue when calling RenderPageToDC under some rare circumstances
- Improvements to handling of malformed xref tables
- ExtractFilePagesEx now removes the OpenAction dict if it it exists to prevent linking to a non existent page
- SelectPage now returns 0 when the page node is null
- Added code to check for simple recursion in the page tree
- ExtractFilePagesEx now removes the StructTreeRoot dict if it it exists to prevent linking to a non existent page
- Replaced {$IFDEF DEBUG} with {$IFDEF HEBREW_DEBUG} in TMetaFile.pas to prevent compilation issues
- Added code to improve locking with multi-threaded printing
- Small fix for AddEmbdeddedFile, EmbedFile
- Pages entry pointing directly to a page is dynamically corrected in DAOpenFile
- Correct xref stream generated for files larger than 17MB
- Add support for CCITT TIFF images with a DeviceGray Colorspace
- Fix rare rendering issue with inline ASCII85 encoded images
- Fix for reading of invalid xref table in Direct Access functions
- Improved text extraction for PDF’s with an invalid ToUnicode table
- Minor EMF import for TextOut that uses the ETO_OPAQUE flag
- Fix printjob issue when printing using a UseLocal option is set
- Improved SetGDIPlusOptions(3, 1) to render in higher quality and minor printing tweak
- Fix for rendering indexed CMYK and DeviceN images with a colorkey mask
- Improved loading of stream objects with an incorrect length parameter
- Fix positioning of flattened graphic when using FlattenAnnot
- Fix of a rare 64bit only zLib decompression error
- Workaround to render and text extract of Adobe based CourierStd fonts
- Set the stream position to 0 when opening a PDF with LoadFromStream
- BalancePageTree correctly generates pages with non-inherited page properties
- Fix UpdateAppearanceStream for multiline formfield text fields with alignment
- Fixed various EMF import issues relating to fonts and ETO_GLYPH_INDEX
- Fixed a small zLIB decompression issue relating to Z_NEED_DICT
- Rendering fix for TrueType fonts with the .notdef glyph is not defined
- Fix for rendering of vertical CJK fonts that use CharSpacing
- Fix font matching code for matching standard fonts
- Fix minor text rendering issue for PDF’s that use WordSpacing and composite fonts
- Further minor font improvements for EMF import
- Minor CIDFontType2 text extraction fix relating to character widths
- Encrypted files with missing /ID entries are automatically decrypted
- Fix obscure error when saving after RemoveXFAEntries was called beforehand
- Fix rare rendering issue with inline JPEG images
- Fix some EMF import issues relating to StretchDIBits and System font
- MovePage correctly handled inherited page attributes
- Fix when importing some TIFF images with uneven strips
- Small fix for UpdateAppearanceStream with CIDFontType2 fonts
- Fixed rotation/scaling/alignment of printed pages
- Fixed size of white page background during rendering with a DC offset
- Fixed rare rendering issue with vertical CJK text rendering
- Updated the Font substitution tables to improve rendering of some fonts
- Internal GDI+ interface optimizations to increase rendering speed
- Direct access functions can now open PDFs that are shifted with leading whitespace
- DAAppendFile now prevents appending to a malformed input file
- Speed and stability improvements in TransformFile function
- Objects that are shifted by a single byte are now loaded if possible
- Improvements to handling of malformed xref streams
- Improved speed in xref table generation
- Added DrawDataMatrixSymbol option to increase whitespace padding
- MergeDocument speed improvements
- Add rendering support for Highlights annotations
- Add workaround for printing Highlight annotations
- TransformFile can now optionally write an xref stream
- ExtractFilePages/ExtractFilePagesEx renumber all objects to give much smaller file size
- Add text extraction option to ignore rotated text blocks
Debenu Quick PDF Library 9.14
- ReleaseStringList
- ExtractFilePagesEx
- AddBoxToPath
- SetSignProcessFieldImageFromFile
- SetSignProcessBounds
- GetAnnotSoundToFile
- GetAnnotSoundToString
- GetFontFlags
- GetPageMetricsToString
- SetSignProcessSubFilter
- GetSignProcessResult
- ReleaseSignProcess
- PrintPages
- PrintPagesToPrinterObject
- FlattenAnnot
- PrintPagesToFile
- Fix for flattening of checkbox based formfields with existing appearance streams
- Fix for NormalizePage when SetMeasurementUnit is set to something other than the default of points
- Fix DPI for BMP and JPG output when using RenderDocumentToFile
- RemoveDocument no longer crashes when the library is unlocked
- Reverted previous bug fix for RemoveSharedContentStreams (9.13.BF.24)
- Turn off inline images when TIFF compression is LZW based
- Fix to GetOpenActionDestination to allow for either an Array or a Dict
- DebenuPDFLibraryCMap fix and improvements for handling ligatures
- Fix compilation issues in release builder with D4-D7
- Fix compilation issues in release builder with D4-D7 #2
- Fix for SetFormFieldValue with some CheckBox fields
- Type 4 PDF functions using “atan” and “eq” operators are now correctly processed
- Fixed the GDI+ import of GdipClosePathFigure and GdipAddPathBezier for 64-bit builds
- Type 3 PDF functions now use an improved interpolation routine, similar results on 32-bit and 64-bit builds
- Issues with Delphi 2005 builds fixed by disabling the use of inline functions
- Allows Korean font to render correctly in Lang.pdf test file
- Fix for rendering of CIDFontType2 that uses a ToUnicode entry
- Fix return value of TQuickPDF.AddFormFieldSub function
- SetAnnotRect now correctly handles the Index parameter
- AddImageFromFile now handles compressed LZW TIFF images from libTiff
- Correctly returns DPI for JPEG encoded TIFF’s
- Minor CCITT compile warning removed
- Floating point error during XPS generation fixed using default PNG DPI value
- Fixes for SetFormFieldCheckStyle and GetFormFieldCheckStyle
- UpdateAppearanceStream defaults to Helv if the specified font is not found or invalid
- DrawHTMLText now renders justified text with composite fonts
- Normalise the return string for ModDate and CreationDate for DAGetInformation and GetInformation functions
- Allow rendering of 8bit CCITT encoded images
- Fixed rare rendering issue with some images where ImageMask is used
- GetFormFieldTitle now returns ‘on’ value for RadioButton formfield kid/sub indexes
- GetFileMetadata and GetDocumentMetadata return correctly encoded Unicode
- Fixed a rare decoding issue for some flate encoded images
- Text Extraction now checks the ToUnicode entry for simple fonts
- Type1 fonts that use unixxxx encoding names are now rendered correctly
- SetDocumentMetadata stores XMP in UTF-8 format and correctly updates internally
- Fixed a Range check overflow during rendering of a particular font
- DrawHTMLTextBox now matches the actual height returned from GetHTMLTextHeight
- Minor tweak for form field AppearanceStream’s for checkboxes that use the Cross style
- Fix UpdateAppearanceStream to draw left, right, centre aligned choice fields
- Allow SetFormFieldValue to select multiple values in a multi select choice field
- Corrected import path of libz.dylib on Mac builds
- Improved handling of flate stream errors in 64-bit builds
- Removed threadvar variable from interface section of Flate unit
- Improved Unicode text extraction
- Tweaked based line position in the appearance stream for multiline form fields
- Add a fix to process a broken Pages dictionary for some malformed PDF files
- Turn off inline images when TIFF compression is using EncodedByteAlign for problem TIFF’s
- Fixed G4 CCITT output in 64-bit builds
- Fix TransformFile to return 1 on success as per the documentation
- Various text extraction improvements for CIDFontType2, CJK and character widths
- NewPageFromCanvasDC – add workaround to allow specify a floating point dpi value
- Metafile functions SaveDC / RestoreDC now work with font orientation values
- Metafile rotated text now takes the absolute value of lfOrientation to match GDI+
- Invisible text no longer causes a memory leak
- Fix a small issue in setup of custom printers
- Metafile processing improvements for rotated text and stretched text
- Small text rendering fix for embedded CIDFontType2 fonts
- Rendering improvements for fonts with a negative fontsize / height
- EndSignProcessToString now returns valid data
- Minor Text extraction improvements for complex fonts
- Fixed JBIG2 rendering bug
- Fix Metafile processing of TextOut and TextOutW to draw ETO_OPAQUE rectangle if set
- Fix Metafile processing FillRgn command
- Metafile drawing with Bold Underline now draws a thicker underline
- Speed improvment for rendering images using a DeviceN colorspace with 1 component
- Fix a crash in RenderPageTo.., ExtractPageTo.. functions under rare circumstances
- Set default formfield font to Helv for text based formfields even though ZaDb is the inherited default value
- Fix for rendering of OCG's when there are no View\OCGs entries in the array
- Improve RenderPageToDC when a malformed/overly large clipping path is requested
- Eliminate exception if printing is cancelled before the first page is rendered
- EndSignProcessToStream now sets signature image correctly
- Fix Embedded file handling with a large number of attached files
- Saving a document resets the selected font preventing an exception in subsequent drawing operations
- Various fixes for adding embedded files when using a large number of files
- Fix possible corruption when deleting embedded files
- Added Hebrew support to TMetaFile EMF import
- Minor changes to eliminate compiler warnings for the Mac edition
- Minor changes to eliminate (internal build) compiler warnings for the Windows editions
- Added support for RenderCropType to RenderPagetoDC type functions
- Generated cross reference streams are now compressed to reduce file size
- Allow SetupCustomPrinter to work with SetPrinterDevModeFromString
- AES-256 encryption (Acrobat X and later) now supported
- Moved GDI+ interface into a class for better control over DLL linking
- Improvements to GDI+ loading sequence
- Changes to allow compiling with Delphi XE4
- Add option to use GDI+ to import BMP files for rare upsidedown images
- GetAnnotIntProperty property 133 returns 0 for not found, 1 = true, 2 = false
- Add TPDFImage.DeleteOCG function
- Fix small parsing problem in Type1 fonts
- GetImageListItemIntProperty is now able to return an ImageID
- Printing functions return 0 if printing is cancelled before the first page is rendered
- Signing a document now sets the SigFlags entry to 3
- PNG images with ICC color profiles can be added using Options=7
- Added extra LastRenderError messages to report printer related errors
Debenu Quick PDF Library 9.13
- Minor changes for Lazarus/FPC compilation
- Performance improvement for changing form field rotations
- Added support for ETO_CLIPPED to metafile import
- Improvements to handling of XFA data
- Improvements to detection of inline image data length
- Better handling of negative font descent values
- New text extraction options to split on double space and to trim characters outside the extraction area
- Limit pattern textures to 3000×3000 pixels
- Improvements to setting field values for checkboxes
- Improvements to text extraction area limit calculations
- New codepage option for directly mapped character codes in TrueType fonts
- Setting a field’s value will repair certain data structures
- New alternative block matching option for text extraction
- Improvements to Japanese font matching
- SetFormFieldValue repairs certain structural elements of fields
- Added support for vertically flipped BMP images (negative height)
- Improvements to SetPageTextExtractionWordGap
- TIFF writer now sets unused data bytes to 0
- Improvements and new functionality in the SetOptionalContentGroupPrintable function
- All standard predefined CMaps are now available, better rendering of CJK and other documents
- MergeFileList and MergeFileListFast now have better handling of files that are open in other processes
- Improved handling of floating point numbers when drawing arcs
- Better protection from crashes during shutdown
- Improvements to OCG view/print handling
- Improvements to xref repair functionality
- Adjustments to checking of a PostName with certain fonts
- Clipping rectangle adustment for certain fonts in metafile import
- Improvements to xref table repair
- Improved handling of invalid xref tables during comment skipping phase
- Detect truncated data in TrueType glyf data
- Consistent rendering even when using a non-English Windows locale
- Improvement to bezier curve importing from metafiles
- Calculate the DPI for EMF images when added with GDI+ using the AddImageFrom* functions
- Improvements to rendering output of axial shading patterns
- SetInformation can be used to set the XMP dc:subject field
- GetFormFieldCheckStyle
- SetFieldSignatureImage
- GetFormFieldTabOrderEx
- SetSignProcessField
- SetSignProcessInfo
- SetSignProcessPFXFromFile
- NewSignProcessFromFile
- NewSignProcessFromStream
- NewSignProcessFromString
- EndSignProcessToFile
- EndSignProcessToStream
- EndSignProcessToString
- DAExtractPageTextBlocks
- ExtractPageTextBlocks
- ExtractFilePageTextBlocks
- GetTextBlockCount
- GetTextBlockFontName
- GetTextBlockFontSize
- GetTextBlockBound
- GetTextBlockColorType
- GetTextBlockColor
- GetTextBlockText
- GetTextBlockCharWidth
- ReleaseTextBlocks
- DAGetTextBlockCount
- DAGetTextBlockFontName
- DAGetTextBlockFontSize
- DAGetTextBlockBound
- DAGetTextBlockColorType
- DAGetTextBlockColor
- DAGetTextBlockText
- DAGetTextBlockCharWidth
- DAReleaseTextBlocks
- Improved handling of form field dictionaries that have been merged with an annotation dictionary
- Signature field appearances are no longer affected by changes to the field properties
- Correct glyph index matching for certain TrueType fonts
- DAAppendFile now works with files larger than 2GB
- DAAppendFile once again works with files containing xref streams
- Corrected output of certain negative floating point numbers
- Prevent recursive loop when retrieving certain field names with the direct access functions
- MergeDocument sets the final document version number to the highest of the input documents
- Fix in EMF Import for rotated and aligned text
- Reading/writing XMP metadata is now enabled in the 64-bit builds
- MoveLayer now correctly handles an indirect reference to the page Contents array
- Improved UpdateAppearanceStream for certain field types
- Separated direct access font caching during image extraction from text extraction
- SignFile and DAAppendFile now correctly handle documents with xref streams
- Internal paired integer list fix
- XMP metadata is now generated correctly when there is no timezone offset (also affected PDF/A-1b)
- XMP metadata now contains a valid modification date (also affected PDF/A-1b)
- Better handling of invalid XMP metadata
- Removed double rendering of Type1 glyphs
- Minor fix for encoding issue with Type1 fonts
- Corrected the dictionary used for the MarkInfo entry when calling SetPDFAMode
- NewSignProcessFromStream now works correctly
- Fixed a bug processing certain Type2 fonts
- Corrected page tree algorithm in RemoveSharedContentStreams function
- Changed dc:creator from a Bag to a Seq to match the latest XMP specification (fixes PDF/A-1b compliance)
- OutputIntents array is truncated before adding the new entry for PDF/A-1b compliance
Debenu Quick PDF Library 9.12
- Delphi XE3 support
- HTML text containing tags are now supported
- SetupCustomPrinter option 5 expanded to allow any DPI value
- Speed improvement converting CMYK JPEG images
- ReplaceFonts function improved to support more than just Helvetica
- Improvements to determination of stream length in certain corrupt documents
- Various internal optimizations to improve rendering speed
- Speed improvements to DeviceN and Separation color calculations
- Out of memory exceptions are better handled during image decoding
- Document creation and modification date can now be set by the user
- Removed certain limitations from text extraction mode 8
- Annotation JavaScript can now be set/retrieved
- Better font matching for non-embedded fonts ending with the -Regular suffix
- New options added to NormalizePage to maintain existing content stream structure
- Appearance streams for checkboxes and radio buttons are now correctly generated
- Added support for tiled TIFF images
- Speed improvements due to optimization of internal floating point to string conversion
- Added text extraction options to ignore overlapping characters/words
- Improvements to generated form field appearance streams
- Improvements to performance of executing PDF functions
- Optimized reading and writing of XMP metadata and XFA form fields
- Optimized conversion of strings to floats
- Better handling of OCGs during printing
- Fixed image offsets for certain tiling patterns
- Improvements to internal string list searching
- Improvements to image decoding speed
- Improvements to importing TIFF images containing JPEG data
- Optimized speed of the DeleteField/FlattenFormField functions
- Improvements to NormalizePage to correctly process more annotation types
- Improvements to XFA field name list and values of multi-select lists
- SetOptionalContentGroupName
- RemoveOpenAction
- RemoveFormFieldBackgroundColor
- GetFormFieldBorderColorType
- GetFormFieldBackgroundColorType
- SetFormFieldBackgroundColorGray
- SetFormFieldBorderColorGray
- Font parsing matches all versions of Adobe-Japan1 encoding
- PNG writer updated to prevent a possible invalid memory access
- Fixed decoding of certain single octal characters
- Prevent a crash by creating the /Fields array if it doesn't already exist
- Fix in GetFormFieldPage to prevent possible memory leak
- NormalizePage now handles annotations with invalid /Rect entries
- Fixed rendering of certain Type1 font glyphs (misaligned subpaths) by not resetting the hint stack
- Fixed a problem loading documents larger than 2GB
- Certain invalid Type1 fonts are now correctly replaced with Helvetica
- Outlines linked to pages deleted using DeletePages now have their actions disabled
- SetOptionalContentGroupVisible correctly sets the /OFF array
- HTML text drawing functions now have better checks for content too large for the available area
- Fixed font metrics stored in PDF with call to AddTrueTypeSubsettedFont
- ExtractFilePages function now supports encrypted documents
- Fix for 180 degree rotated annotations in NormalizePage
- Fix for bug in DeletePages that was introduced in 9.12 Beta 1
- Annotation cache is now correctly reset when moving to a new page
- SetLineWidth uses the absolute value of the width
- SetOpenActionDestination now correctly handles the rotation of the target page
Debenu Quick PDF Library 9.11
- Added support for code page 1256
- Improved handling of character codes not found in CMaps
- Detection of invalid CCITT EOL markers with fallback to GDI+
- Dynamic replacement of invalid page dictionaries
- Speed improvements for DAFindPage function
- Speed improvements for ExtractFilePages function
- Added support for files larger than 2GB
- SetAnnotStrProperty can now set an annotation's Contents property
- Gracefully handle root outline nodes with incorrect dictionary type
- Speed improvements for text extraction and text rendering
- Support for images with flate compression using a predictor with BitsPerComponent other than 8
- Speed improvements for text extraction on documents with many inline images
- Direct access and regular functions now use the same xref table/stream parsing code
- Improved the AddLinkToEmbeddedFile function for better control over transparency
- Improved documentation of DASetTextExtractionArea and SetTextExtractionArea
- GetXFAFormFieldValue and SetXFAFormFieldValue now support Unicode characters
- Link annotations without appearance streams are now rendered
- Certain malformed PDFs can now be repaired dynamically as they are loaded
- Added support for Korean CJK font HYGothic-Medium to AddCJKFont
- Added support for Japanese CJK font HeiseiKakuGo-W5 during field flattening
- Improved text extraction color values
- Internal string comparison optimizations
- Standard rubber stamp annotations are now rendered
- Vertical text mode is supported by the renderer
- begin/end cidchar/range added to CMap parsing
- NormalizePage(1) will balance the save/restore state stack
- FlattenFormField no longer calls UpdateAppearanceStream
- NormalizePage updates the /Matrix entry for all annotations on the page
- Form fields are reloaded after calling NormalizePage
- Values 1, 2 and 3 for the TilingType entry in pattern dictionaries are now accepted
- SetAnnotDblProperty
- TransformFile
- SetAnnotRect
- AddStampAnnotation
- GetDocumentRepaired
- CopyPageRangesEx
- UpdateAndFlattenFormField
- BalanceContentStream
- AddFormFieldChoiceSub
- GetFormFieldSubDisplayName
- Invalid characters excluded from text extraction
- Improvements to handling of non-breaking spaces
- Fixed JBIG2 decoding bug
- JPEG images containing TIFF data with invalid pages correctly handled
- Fixed file attachment sort order
- Fixed character widths for subsetted fonts
- Fixed non-breaking spaces for DrawText related functions
- DPLReleaseBuffer DLL function returns correct result on success
- GetParentOutline function now returns 0 for root outline items
- Improved handling of errors encountered while adding images
- Original document is removed from memory after call to ExtractPages
- Fixed buffer out of range error in text extraction
- Correct page width now used in certain text extraction calls
- Attempts to load an empty file are handled gracefully
- MergeDocument correctly merges encrypted files
- Output file is removed if DecryptFile/EncryptFile fails
- Buffer overflow fix in CCITT decoding
- Fixed a possible range check error in EMF import with bezier curves
- Improved character widths for text extraction using composite fonts
- Corrected handling of XObjects linked to optional content groups
- Correction to bounding info returned from text extraction for certain documents
- Fix font descriptor structure for the AddCJKFont function
- Improved bounds checking in GetCharWidth
- Corrected TIFF decoding with predictors
- Fixed memory allocation bug in font parsing during field flattening
- Better handling of missing files during file stream embedding
- Fix intialization difference in 32-bit and 64-bit rendering
- Default font missing width entry to zero
- End of data marker detection in ASCII85 decoder
- Improved handling of inline images
- Fixed bug in text box layout with certain text sizes
- Adjustments to get/set OCG visible state
- DBCS code page support deprecated in the AddTrueTypeFont function
- Improvements to nested XObject and Marked Content visible state rendering
Debenu Quick PDF Library 8.16
The installer for Debenu Quick PDF Library 8.16 can be downloaded from here.
Enhancements- Support for JPEG2000 (JPXDecode) images on Win64
- Support for malformed PDFs with missing /Type /Pages entry
- Generated form field appearances now default to a 2pt border to match Acrobat
- Rendering to JPEG sets the image DPI
- Support for text extraction with fonts without ascent and descent metrics
- Support for documents with deleted /AcroForm objects
- Documents with non-embedded fonts using 90ms-RKSJ-H encoding now rendered correctly
- SetAnnotStrProperty can now set the subject, name and title properties
- Updated documentation for SetAnnotStrProperty to show tag 110 (author property)
- Documents containing TrueType fonts with invalid indexToLocFormat values now supported
- Added support for tiling patterns
- Documents with non-embedded fonts using GBK-EUC-H encoding now rendered correctly
- Documents with non-embedded fonts using UniGB-UCS2-H encoding now rendered correctly
- Documents with non-embedded fonts using UniCNS-UCS2-H encoding now rendered correctly
- Improved text size reported during text extraction of Type3 fonts
- Improved the accuracy of the font bounding box reported during text extraction
- Improved the accuracy of ascent/descent values read from certain fonts
- Implemented support for XFA template data with namespace versions from 2.1 up to 3.3
- Generated form field appearance stream borders now more closely match Acrobat
- Improvements to non-embedded font matching for font names containing dashes
- Type1 fonts incorrectly marked as TrueType now processed correctly
- Invalid characters found during text extraction converted to spaces instead of being dropped
- Support for TIFF images containing combined image and alpha channels
- Performance improvements to TIFF processing
- Minor changes to prevent Win64 compilation warnings
- Enhancements to SetPageLayout and GetPageLayout
- GetOptionalContentConfigLocked
- SetOptionalContentConfigLocked
- AddSWFAnnotationFromFile
- SetAnnotIntProperty
- NewTilingPatternFromCapturedPage
- SetFillTilingPattern
- GetXFAToString
- SetXFAFromString
- GetFormFieldObjectNumber
- SetTextExtractionScaling
- DASetTextExtractionScaling
- Encryption keys for EncryptFile with 128-bit RC4 or 128-bit AES corrected
- AES padding checks
- Correctly generate appearance streams for fields using simple TrueType fonts
- Disabled decryption of metadata streams when necessary and all XRef streams
- GetAnalysisInfo now correctly returns 13 for documents encrypted with AES-256
- Corrected widths of fonts with a /Differences array
- Corrected character widths returned for different font types
- MergeDocument correctly merges /AcroForm resource dictionaries
- FontMatrixScaling taken into account for word and character spacing
- CopyPagesFromDoc correctly handles form fields in source and target documents
- AttachAnnotToForm returns 1 on success
- Added code to prevent memory access violation when processing CMaps
- Check for valid annotations array when enumerating annotation properties
- The annotation property cache is reset after a call to SetAnnotStrProperty
- Fixed bug processing separation color spaces introduced in 8.15
- TrueType fonts with more entries in the "post" table than numGlyphs now correctly handled
- Annotations with zero width/height are not rendered to prevent a divide by zero
- Added range checking to CIDToGIDMap lookups
- Symbol fonts added with AddTrueTypeFont now correctly mapped
- Metafile import with symbol fonts now correctly mapped
- Improved alignment of TA_BOTTOM and TA_TOP text in metafile import
- Non-embedded fonts with Adobe-Japan1 ordering are now rendered
- Further improvements to page extraction
- Correct font widths now returned for subsetted fonts
- SetImageMask improved to work with different image formats
- Prevention of memory leak fixed in GetFormFieldActionID when accessing sub-fields
- Prevention of memory leak in GetPageText, ExtractFilePageText and DAExtractPageText with mode 7
- NewRGBAxialShader now returns 1 to indicate success as per the documentation
- Fixed bug introduced in 8.15 for matching of standard font names
- Fixed state save/restore in EPS output
- HTML measuring functions no longer add phantom links to the page
Debenu Quick PDF Library 8.15
- Added support for metafile import when font names end with style names like "Bold" or "Italic"
- Documents encrypted with 40-bit RC4 using revision 3 are now supported
- Improvements to existing DLL import headers and addition of a C import header
- GIF images with local color tables now supported
- Image extraction of TIFF images maintains image data in original format
- PowerBASIC 10 import header updated to use BYREF WSTRINGZ
- LIB edition updated to include Ansi versions of functions that return/accept Unicode strings
- Improvements to conversion of DeviceN with CMYK colorants to RGB
- New options for AddLinkToEmbeddedFile to set the icon transparency and title
- DrawIntelligentMailBarcode
- ReleaseImage
- ReleaseImageList
- DAReleaseImageList
- Added protection against out of range exception in SignFile when a new field is added
- AES128 encrypted documents with /EncryptMetadata set to false are now loaded correctly
- GetDefaultPrinterName internal data correctly initialized
- Images with /Indexed/DeviceGray and /Indexed/DeviceRGB now supported
- Eliminated memory leak in code that processes shading patterns
- Memory leak in 64-bit builds fixed using XE2 U4 compiler
- Internal fix for string list adding when the list starts with 0x10
- Fix for character widths when SetOrigin(2) and SetOrigin(3) are used
- Color channel order fix for CMYK JPEG import in 64-bit builds
- Fix for certain encrypted documents loaded into the standalone functions
- Added code to correctly handle negative font sizes in content streams
- Fixed importing packbits compressed TIFF images with palettes
- Improved the C++ DLL sample and corrected the version number reference in the vcproj file
- Fixed bug in Win64 when enumerating the list of system fonts
- Fixed memory leak in dynamic link to Cairo DLL
- Fixed possible attempt to access released memory when deleting/flattening form fields
- /Matrix entry removed when flattening or generating appearance streams for fields
- Annotations with /Matrix entries are correctly rendered
- Fixed a problem calling SetPDFAMode from the LIB edition
- Win64 pointer cast fix in certain HTML, Barcode and metafile import functions
- Fixed a bug saving encrypted documents containing compressed object streams
- Only appropriate form fields are copied when using the ExtractPages function
Debenu Quick PDF Library 8.14
- GetDefaultPrinterName function returns correct result even after printing to a different printer
- DPI of certain images extracted using direct access function are now set
- DPI of certain images generated by the renderer are now set
- Files with a datetime earlier than the year 1900 can now be opened
- Added support for incorrect AcroForm spelling (Acroform)
- Added G4 TIFF output to the renderer (not supported in Windows XP and earlier)
- HTML5 renderer output added to documentation and enabled in all rendering functions
- QPL base class now internally calls CoInitialize and CoUninitialize in a safe way
- Better support for single pixel masked images
- Improvements to line styles in metafile import
- Improvements to text extraction word splitting
- Added support for importing 8-bit paletted TIFF images
- Added support for importing TIFF images with SamplesPerPixel greater than 4
- Improvements to text alignment in the metafile import
- Improved text extraction from PDFs without explicit space characters
- Added support for UTF-16LE strings in PDF text string objects
- Improvements to widths array for TrueType subsetted fonts
- Added support for flate compressed TIFF images
- Added support for multipage TIFF image loading via GDI+
- Improvements to table border lines in EMF import
- Simple transparency groups rendered with Cairo
- Better handling of TIFF images with missing BitsPerSample/RowsPerStrip tags
- GDI+ and Cairo renderer now support linear gradients
- Added option to ignore font descenders during text extraction
- Annotation enumeration uses cached results where possible
- Added support for RC4 encrypted documents with encryption strength between 40 and 128
- SecurityInfo returns information about which password was used to open the document
- Added code to handle integer overflow in PNG unfiltering
- Cairo support for RenderPageToFile, RenderPageToStream, RenderPageToString and RenderPageToVariant
- Improvements to font name matching during rendering
- Improvements to text extraction for complicated character placements
- ClosePath removed from EmfPolyLine16 in metafile import
- Support for certain accented characters in metafile import
- Support for OCG membership dictionaries
- GetViewPortBBox
- SetOptionalContentConfigState
- SetCapturedPageTransparencyGroup
- SetTableThinBorders
- SetTableThinBordersCMYK
- RemoveFormFieldBorderColor
- SetTextUnderlineCustomDash
- SetTextUnderlineWidth
- SetTextUnderlineDistance
- DrawRotatedBox
- DrawRotatedMultiLineText
- GetPrinterMediaTypes
- GetPageColorSpaces
- SetDestProperties
- SetDestValue
- Corrected page height related issues with direct access text extraction
- Shading patterns are removed from the page correctly with SplitPageText
- Corrected Index parameter offsets in geospatial PDF functions
- Corrected handling of symbolic TrueType fonts
- Improved metafile import (non-breaking spaces and rotated text)
- Added range checks to Type1 charstring lookup
- NewNamedDestination now updates multilevel name trees correctly
- Intermediate form field nodes updated correctly when child nodes are flattened or deleted
- Added preliminary support for CalGray colorspace
- Fixed word spacing bug during rendering in 64-bit mode
- ToUnicode cmaps for TrueType subsetted fonts are now correctly split into ranges
- Dash patterns and zero length lines improved to match Acrobat
- Form field borders are suppressed when there is no border color entry
- Multiple HTML text wrapping bug fixed
- Fixed bug when extracting text from a page after rendering it
- Imported metafiles containing patterns now result in properly formatted pattern objects
- Corrected font metrics calculations when font size is negative
- NormalizePage function now works with any prior Origin setting
- CCITT EncodedByteAlign fixed for certain images
- AddTrueTypeFont fixed with a /Differences array for code page 874
- Rendering with Cairo now correctly strokes paths that are also filled
- Content stream parts are combined with whitespace during rendering
- Corrected position and size of EMF images drawn to the page
- GetXFAFormFieldCount now correctly returns 0 instead of 1 if there are no XFA fields
- Corrected the handling of a null encryption dictionary
- Inline images with palette data in string format are now correctly decoded
- CCITT images with CMYK indexed color space are not correctly decoded
- HTML lists are now indented by an amount relative to the font size
- NormalizePage and SetPageBox functions both change the page boundary box locally, not inherited
- Support for masked images with DeviceGray color space
Debenu Quick PDF Library 8.13
- GetLatestPrinterNames
- GetPageImageList
- GetImageListCount
- GetImageListItemIntProperty
- GetImageListItemDblProperty
- GetImageListItemDataToString
- GetImageListItemDataToVariant
- SaveImageListItemDataToFile
- DASetTextExtractionWordGap
- DASetTextExtractionOptions
- DASetTextExtractionArea
- GetPageViewPortID
- GetPageViewPortCount
- GetViewPortMeasureDict
- GetViewPortName
- GetViewPortPtDataDict
- Improved text extraction speed when PDF contains bitmaps
- Improved text extraction accuracy
- Comb fields are now drawn with vertical lines
- Added support for incorrectly named JPEG image filters
- GetAnnotIntProperty returns action's NewWindow property (tag 133)
- Added support for stream lengths that are one byte too large
- DPI information is stored in TIFF output from the renderer
- Added option 8 to text extraction routines for unformatted human readable output
- SecurityInfo function now returns correct values for owner and user password
- PrintDocument, GetPrinterBins and GetPrinterDevModeToString fixed in Delphi 4-2005 and LIB edition
- Fixed rendering issues with certain fonts containing a FontMatrixScaling value
- Fixed issue with DrawHTMLTextBox stack unwinding
- Fixed error in IsAnnotFormField if the document doesn't have any form fields
- Added support for cross reference streams containing a /W entry greater than 4
- Fixed rendering of inverted CMYK JPEG images in 64-bit builds
- Fixed VB.NET Import definitions
- Corrected handling of Type1 fonts with non-sequential /Subrs ordering
- Added code to support CIDToGID maps that are too short
- SetTextExtractionArea function corrected
- Right aligned comb fields are now drawn correctly
- Trailing slash bug fix for embedding file streams
- AddTrueTypeFontFromFile function now returns a valid FontID
- Correct handling of BoldItalic fonts in metafile import
- Added support for text objects with bounds in metafile import
- Added support for large xref stream dictionaries
- RetrieveCustomDataToFile now returns 1 on success
- DeleteContentStream now works correctly for indirect /Contents array
Read about this release on our blog here.
Debenu Quick PDF Library 8.12
The installer for Debenu Quick PDF Library 8.12 can be downloaded from here.
Enhancements- Adjustments for compilation on Delphi XE2 (Win32 and Win64)
- Win64 versions of the DLL, ActiveX and Lite editions
- Graceful handling of zlib streams with incorrect checksums
- Added support for OpenType fonts that use CFF outlines
- Improvements to text extraction, including better handling of Unicode characters
- Support for retrieving/setting the printer DEVMODE structure
- Text extraction data now optionally reports the original CMYK color of text
- Optimizations to memory usage during rendering
- Integration of a new AES encryption library
- Optimization of CMap parsing
- Added Ansi function aliases to the DLL edition
- Added support for /Launch /F to annotation reading
- Removed LIB Edition's dependency on msvcrt.lib
- MergeFileList and MergeFileListFast now succeed even if the list contains a single file
- SetTextExtractionArea
- GetPrinterDevModeToString
- SetPrinterDevModeFromString
- AddOpenTypeFontFromFile
- SetAnsiMode
- Bug fix in DrawHTMLText function, return characters in correct MSB/LSB order
- Memory usage reduction for certain mono images
- Bug fix in handling of CCITT image data (widths less than 8)
- Drawing of wrapped text corrected
- Restored image extraction functionality for certain image types
- Corrected character widths for TrueType fonts added with a codepage
- Bug fix in DrawHTMLText function, high order bytes of Unicode characters now correct
- Corrected handling of form field fonts
- Improvements to word wrapping, multiple spaces no longer collapsed into a single space
- Improvements to form field appearance stream generation with Unicode characters
- Parsing fix where string objects begin immediately after the "obj" keyword
- Correct handling of TIFF paletted images without compression
- GetPrevOutline function was returning the next outline now returns the correct outline
- Bug fix in DrawHTMLTextBox function, returns correct stack
- Corrected handling of CCITT images with widths that are not a multiple of 8
- Fixed bug introduced in Beta 2 in the GetFirstOutline function
- Fixed crash with data containing unexpectedly formatted XMP metadata
Read about this release on our blog here.
Debenu Quick PDF Library 8.11
The installer for Debenu Quick PDF Library 8.11 can be downloaded from here.
Enhancements- PDF/A-1b compliant output
- Support for AES-256 encryption
- TrueType font subsetting
- HTML5 renderer output
- New plain text extraction with natural reading order
- Support for PDF417 stacked linear barcode symbology
- Changed API for full Unicode string support
- Improved font matching for CJK fonts
- XMP metadata is automatically updated after calls to SetInformation
- Control over page boundary used for clipping purposed by the renderer
- Improvements to EMF importing
- Visible signature form fields can now be flattened
- SecurityInfo function improved to report AES-256 encryption
- AddNoteAnnotation allows Unicode strings for Contents and Title
- AddTrueTypeSubsettedFont
- SetLineDashEx
- GetStringListCount
- GetStringListItem
- CheckFileCompliance
- SetRenderCropType
- SetContentStreamFromString
- GetContentStreamToString
- SetContentStreamFromVariant
- GetContentStreamToVariant
- GetPageContentToVariant
- SetPageContentFromVariant
- SetPDFAMode
- DrawPDF417Symbol
- SetTextExtractionOptions
- GetImageMeasureDict
- GetImagePtDataDict
- SetMeasureDictCoordinateSystem
- GetMeasureDictCoordinateSystem
- SetMeasureDictBoundsCount
- GetMeasureDictBoundsCount
- SetMeasureDictBoundsItem
- GetMeasureDictBoundsItem
- SetMeasureDictPDU
- GetMeasureDictPDU
- GetMeasureDictGCSDict
- GetMeasureDictDCSDict
- SetMeasureDictGPTSCount
- GetMeasureDictGPTSCount
- SetMeasureDictGPTSItem
- GetMeasureDictGPTSItem
- SetMeasureDictLPTSCount
- GetMeasureDictLPTSCount
- SetMeasureDictLPTSItem
- GetMeasureDictLPTSItem
- GetCSDictType
- SetCSDictType
- GetCSDictEPSG
- SetCSDictEPSG
- GetCSDictWKT
- SetCSDictWKT
- GetUnicodeCharactersFromEncoding
- PDF parsing fix for objects with zero size (duplicate object positions)
- PDF parsing fix for stream objects with incorrect stream size
- Annotation drawing fix for different bounding box values
- Bug fix in CID to GID character code mapping
- SecurityInfo function returns valid information documents with cross reference streams
- LZW compressed TIFF images are now correctly added
- Fix for stencil mask images
Debenu Quick PDF Library 7.26
The installer for Debenu Quick PDF Library 7.26 can be downloaded from here.
Enhancements- Improved handling of unexpected CCITT data streams
- Elimination of invalid character codes in text extraction
- Improvements to accuracy of text extraction
- GetFormFieldSubName changed to return UTF-8 text for all field types
- Type library files included with ActiveX (special version for VB6)
- Added options 5 and 6 (character width output) to GetPageText function
- Better handling of malformed TrueType font data
- Added support for CMYK JPEG2000 images
- NormalizePage function now adjusts annotations
- Handle missing endbfchar token from malformed CMaps
- Malformed xref tables (shifted object numbers) now handled correctly
- CreateNewObject
- GetOptionalContentGroupPrintable
- GetOptionalContentGroupVisible
- GetBaseURL
- Parsing of strings containing invalid reverse solidus codes corrected
- Reduced inconsistencies of internal image conversions
- Corrected image reversal for CCITT mask images
- LIB Edition of QPL now built with FastMM4 memory manager
- ServiceUnit.dfm correctly generated as part of source code release
- Corrected the direction rectangle paths are drawn
- Corrections to the way parent form fields are created
- Internal parent/child relationship corrected with NewChildFormField
- JPEG images with DeviceN color space now rendered correctly
- NormalizePage function correctly handles rotated annotations
Read about this release on our blog here.
Debenu Quick PDF Library 7.25
The installer for Debenu Quick PDF Library 7.25 can be downloaded from here.
Enhancements- Added support for CCITT images with /Indexed color space
- Improvements to EMF import font scaling
- Improved reading of CID font encoding
- Documents with malformed trailers are now handled gracefully
- Reduced memory consumption with CanvasDC functions
- Added support for CCITT images with EncodedByteAlign encoding
- Documents with malformed page tree nodes are now processed
- Improvements to accuracy of text extraction
- Image resolution can now be read from certain BMP images
- Improved text alignment with certain CFF fonts
- Added support for CCITT images with the EndOfLine flag
- CMap parser now supports variable length codes
- Memory reduction on image decoding
- Metafile import now compresses images
- RenderPageToDC and DARenderPageToDC now renderer directly to the device context
- DARenderPageToDC now honours the values set using SetRenderDCOffset
- Certain TIFF images are now added directly without needing decompression
- More improvements to accuracy of text extraction
- Image import now includes support for RGB palette LZW TIFF images
- Image import now includes support for RGB palette Packbits TIFF images
- Radio button options can now be deleted
- Renderer output to EMF+ format now uses CreateCompatibleDC(0)
- Changed co-ordinate order of GetAnnotQuadPoints and SetAnnotQuadPoints to match GetPageText
- Added support for flate compressed images with /Indexed /DeviceN color space
- GDI+ image smoothing now turned off by default when drawing images
- Metafile import handles all WinAnsi Unicode characters without creating subsetted fonts
- GetEmbeddedFileID
- NormalizePage
- DARemoveUsageRights
- RemoveUsageRights
- DrawImageMatrix
- SetObjectSource
- SetRenderDCErasePage
- SetMarkupAnnotStyle
- ExtractPages, CopyPageRanges and ExtractPageRanges now handle inherited resources
- DrawDataMatrixSymbol now defaults to black if the fill color has not been set
- DrawDatamatrixSymbol correctly encodes double digits
- Resources are correctly freed during EMF+ output
- Corrected page indexing for DAFindPage
- Outlines are correctly appended during document merging
- Annotations now drawn independently of page transformation matrix
- Improvements to image decoding to prevent inverted images
- Image indexing bug removed from the renderer image caching system
- NewFormField returns a correct result even for fields with duplicate field names
- Improved error handling during image extraction
- Improved TIFF tag reading
- Renderer handles missing resources during color space lookup
- Improvement to text extraction
- Eliminated a possible divide by zero for DPI values in PNG images
- Renderer checks for /XObject dictionary type now allows an empty value
- HTML text drawing functions now retain list item state between breaks
- Corrected quad points order for text markup annotations
- SetAnnotQuadPoints now correctly sets the values without crashing
- Added support for OpenType fonts with CFF outlines stored in /TrueType font dictionaries
Read about this release on our blog here.
Debenu Quick PDF Library 7.24
The installer for Debenu Quick PDF Library 7.24 can be downloaded from here.
Enhancements- DataMatrix 2D barcodes can be rotated
- Support for GS1-128 (EAN-128) barcodes
- Support for DeviceN color spaces
- Faster direct access page searching for very large documents
- DrawDataMatrixSymbol allows the fill color to be set
- Memory optimizations for ICC based images
- Get/set embedded file description
- CFF font data in OpenType fonts enabled for non-embedded fonts
- More options for getting/setting choice form field flags
- Added an option to retrieve an annotation's border width
- Added support for B/W LZW images
- SetCustomInformation now allows empty values
- GetFormFieldNoExport
- GetFormFieldRequired
- SetFormFieldNoExport
- SetFormFieldRequired
- GetFormFieldChoiceType
- SetAnnotBorderStyle
- IsTaggedPDF
- DAEmbedFileStreams
- RemoveCustomInformation
- Range check improvements to Type1 decoding
- Corrected missing letters in form field annotations
- Rendering and extraction of direct font dictionaries
- ToUnicode CMaps handled for non-CID fonts
- MissingWidth font metric used instead of DW
- Consistent handling of CCITT images on various operating systems
- Improvements to nested CID font widths structures
- Improvements to parsing of various destination structures
- Improvements to parsing of comments and whitespace
- Inline image resource stream improvements
- Memory allocation fix in JBIG2 decoder
- Bitmaps row access fix in JBIG2 decoder
- Appearance stream generation for auto-size fields now handles alignment correctly
- Resource names are now correctly normalized in the renderer
- Infinite loop in xref processing of small files eliminated
- Process DPI tags in TIFF images correctly (AP1 marker)
- Aspect ratio of canvas corrected
- EPS output bug fixes (miter limit and image references)
Read about this release on our blog here.
Debenu Quick PDF Library 7.23
The installer for Debenu Quick PDF Library 7.23 can be downloaded from here.
Enhancements- First release of Debenu Quick PDF Library LIB Edition (static link .lib)
- Improvements to exception handling while accessing file streams
- Renderer handles images and vector graphics using the /Lab color space
- LoadFromCanvasDC allows control over which fonts are embedded
- Documentation improved for NewChildFormField function
- NoEmbedFontListCount
- NoEmbedFontListAdd
- NoEmbedFontListGet
- NoEmbedFontListRemoveIndex
- NoEmbedFontListRemoveName
- NoEmbedFontListRemoveAll
- NewPageFromCanvasDC
- SaveImageToString
- SaveImageToVariant
- DAHasPageBox
- DASetPageBox
- DADrawRotatedCapturedPage
- Dingbats font is rendered correctly when drawn multiple times
- DASetPageBox supports Options = 3, 4 and 5 in accordance with the documentation
- DADrawCapturedPage handles direct page contents array
- SignFile handles encrypted files and files with cross reference streams
- DAAppendFile handles files with cross reference streams
- AddSubsettedFont and GetSubsetString functions handle character codes less than U+0100
- Pixel size of renderer output is now consistent with the DPI, page dimensions and SetRenderScale
Read about this release on our blog here.
Debenu Quick PDF Library 7.22
The installer for Debenu Quick PDF Library 7.22 can be downloaded from here.
New functions- SetImageResolution
- SetOutlineRemoteDestination
- SetRenderDCOffset
- SetOverprint
- CompareOutlines
- GetOutlineObjectNumber
- NewDestination
- AddLinkToDestination
- NewNamedDestination
- GetDestName
- SetOutlineNamedDestination
- SetRenderScale
- GetRenderScale
- SetFindImagesMode
- Circle co-ordinates in metafile import
- Empty fills in metafile import
- Added support for a text output operator in the renderer
- Alignment calculations for the FitImage function for different measurement units
- Corrected DADrawCapturedPage function
- NewStaticOutline function accepts a ParentID of 0
- LoadFromString correctly sets the SourceFileSize
- Improvements to retrieval of annotation properties (page number)
- Improvements to font name matching for non-embedded fonts
- Improvements to form field appearance stream generation for rotated pages/fields
- Improvements to form field appearance stream generation for fields with auto-size fields
- GetTableColumnCount returns correct result
- Adjustments to EPS output
- Corrected the operation of the DAMovePage function
- Improvements to direct access form field functions
- Protection from divide by zero exceptions in the renderer
- Correct handling of offset CropBox in the renderer
- Direct access image extraction corrected for TIFF images
- Support for rendering images compressed with JBIG2 encoding
- Support for reading PDFs containing malformed (19-byte) xref table entries
- Support for CFF fonts stored in OpenType format
- Support for Format2 charset tables in CFF font data
- Support for remote destination file names in GetOutlineOpenFile
- Added new DLL import for C++ with MFC (CString instead of std::string)
- Added new DLL import for Visual FoxPro
- Added new DLL import for VB.NET
- Support for Delphi XE
- FitTextBox, allow Options = 3
- Improved CMYK to RGB mapping
- Added support for bleed, trim and art box in CapturePageEx
- Added support for bleed, trim and art box in DACapturePageEx
- Improvements to GetNamedDestination
- Upgraded internal ZLib library to version 1.2.5
- Improved loading of documents with data after the %%EOF tag
- Added new DLL import for C++ with MFC (CString instead of std::string)
- Added new DLL import for Visual FoxPro
- Added new DLL import for VB.NET
- Support for Delphi XE
- Direct access image extraction now supports JPEG images
Read about this release on our blog here.
Debenu Quick PDF Library 7.21
The installer for Debenu Quick PDF Library 7.21 can be downloaded from here.
New functions- GetDocumentFileSize
- GetMaxObjectNumber
- GetOptionalContentConfigCount
- GetOptionalContentConfigState
- GetActionDest
- ClearImage
- ImportEMFFromStream
- AddTextMarkupAnnotation
- GetAnnotDest
- SetAnnotQuadPoints
- GetAnnotQuadPoints
- GetAnnotQuadCount
- DAGetAnnotationCount
- RemoveXFAEntries
- DASetPageBox
- SetTextExtractionWordGap
- GetFormFieldActionID
- GetActionURL
- SetActionURL
- GetOptionalContentConfigOrderCount
- GetOptionalContentConfigOrderItemID
- GetOptionalContentConfigOrderItemLabel
- GetOptionalContentConfigOrderItemLevel
- GetOptionalContentConfigOrderItemType
- GetInstalledFontsByCharset
- GetInstalledFontsByCodePage
- Corrected processing of dictionaries inside content streams
- Corrected handling of inherited page rotation
- Added support for font dictionaries directly inside resource dictionaries
- Fixed miter limit handling in metafiles
- Added support for nested page labels
- Corrected handling of PostScript names in TrueType fonts
- Corrected out of range error on array decoding
- Handling of out of range values in font CMaps
- Handling of out of range value returned by the Win32 API GetFontData function
- Rendering fill color for Type3 fonts
- Handling of empty streams in the QPL painter
- Corrected the rebuilding of the object index during merging
- Improvements to the parsing and handling of PDF array objects
- Improvements to the handling of indirect objects in inherited page properties during merging
- Inherited page properties are correctly handled during document merging
- DeleteAnnotation returns correct result even if there is only a single annotation
- Correct font metrics added when using NewTrueTypeFont for all editions of QPL
- FindFonts now only finds fonts that are not already in the document's font list
- Improved handling of predictor codes in images compressed with the Flate filter
- Corrected the handling of font flags for non-embedded TrueType fonts
- Inline images used as masks are correctly set to /DeviceGray color space
- Improvements to parsing of page range lists
- Added support for JPEG2000 images with separate indexed color space
- Added support for certain DeviceN color spaces
- Improved memory usage and speed of processing/drawing CCITT images and stencil mask images
- Major optimizations in document loading and saving
- Enhanced handling of malformed stream objects
- New options for embedding and compressing fonts with the LoadFromCanvasDC function
- Improvements to handling of CCITT images
Read about this release on our blog here.
Debenu Quick PDF Library 7.19
New Features and Improvements:
The installer for Debenu Quick PDF Library 7.19 can be downloaded from here.
General
- Improved object parsing speed and handling of malformed data
- DAAppendFile, DASaveAsFile and DASaveToStream functions now set the document's modification date
- Added usage rights functionality to the AnalyseFile function
- New! RemoveEmbeddedFile function
- Added EMF+ output to the renderer
- New! AddLinkToLocalFile function
- Added support for image ICC profiles to the renderer
- New! RequestPrinterStatus function
- Bug fix for return value of DrawTableRows function
- New! SetCompatibility function
- Improvements to /ICCBased color spaces in the renderer
- Improvements to handling of buffer overruns in ASCII85 encoded data
- Added support for miter limit to the renderer
- Bug fix in decompressing flate data with a /Predictor value of 1
- Bug fix in TrueType parser with composite characters (alignment of diacritical marks)
- Optimizations to font handling in renderer and text extraction
- Improved handling of Type3 fonts
- Added support for handling of MMType1 fonts Optimizations to clipping paths in the renderer
- Speed optimizations in the renderer with improved stack system
- Improvements to the rendering of annotations with referenced resources
- Improved speed of loading objects from source PDF documents
- Improved speed of Type1 CFF conts Improvements to GetPageMode function
- New! RemoveGlobalJavaScript function
- New! SetEmbeddedFileStrProperty function
- Improved parsing of empty array and dictionary objects
- Improvements to accuracy of DrawTableRows
- Added support for arrays to CMap parsing
- Bug fix for rendering of large CCITT encoded images
- Optimized adding of certain PNG images to PDF documents
- Improved merging of documents with form fields
- New! GetImagePageCountFromString function
- Improvements to font substitution matching system in the renderer
- Bug fix handling certain inline images
- Improvements to adding EMF images to PDF documents
- DASaveAsFile function maintains the original PDF version settings
- Bug fix for underlines and highlights in center and right aligned text
Read about this release on our blog here.
Debenu Quick PDF Library 7.18
New Features and Improvements:
General
- Improvements to cross reference table parsing
- Improvements to decryption (permissions key encoding)
- Improvements to random object names
- Improvements to UTF-8 encoding and decoding
- Bug fix in handling of read only files
- Bug fix in parsing of Type 4 Functions
- Bug fix in AddLinkToFile function for Unicode file names
- DAOpenFile sets LastErrorCode values
- Bug fix in processing of objects stored in object streams
- Bug fix in DAOpenFileReadOnly function
- DocJavaScriptAction supports “WC” rather than “DC”
- Added 411 (File not found) to LastErrorCode
- Added return code 2 to LoadFrom* functions (for detecting encrypted cross reference streams)
Page and document manipulation
- Improvements to ExtractPageRanges function
- Improvements to ExtractPages function
- Improvements to CopyPageRanges function
- New! SetPageBox function
- Added options 4 and 5 to SetPageMode function (OCG and Attachments)
Fonts
- Bug fix in AddTrueTypeFont* functions allowing text extraction from non-English code pages
- Improvements to AddTrueTypeFont* functions, fonts in TrueType collections now supported
- Bug fix parsing Type 1 fonts
Form Fields and Annotations
- Support for adding choice fields
- Bug fix in GetAnnot*Property retrieving annotation page number
- New! IsAnnotFormField function
- New! AttachAnnotToForm function
- New! NewChildFormField function
- Added tag 131 to GetAnnotIntProperty for page number of GoTo link
- NewFormField can create parent form fields
Text extraction and rendering
- Improvements to handling pages with inline images
- Added support for composite fonts with variable-length encoding
- Added support for predefined CMaps
- Improved handling of 8-bit CMaps
- Bug fix for handling of paths in Winding mode
- Improvements to alpha transparency masks
- Added support for named color spaces
- Bug fix for text extraction CSV output with properly quoted strings
- Bug fix in Type 1 font rasterizer
- New! PrintDocumentToFile function
Images
- Bug fix handling inverted Packbits TIFF images
- Added support for rendering JPEG2000 images (not available in Delphi 4 and Delphi 5 Editions)
- Added support for CalGray color space
- Optimized handling of 1-bit mono image data
- Added support for LZW predictors
Unicode support
- AddFormField – SubName parameter
- DAGetFormFieldTitle – return string
- DAGetFormFieldValue – return string
- DAOpenFileReadOnly – FileName parameter
- ExtractFilePages – InputFileName parameter (previously only in Delphi/DLL Edition)
- ExtractFilePages – OutputFileName parameter (previously only in Delphi/DLL Edition)
- FileListItem – return string (previously only in Delphi/DLL Edition)
- FindFormFieldByTitle – Title parameter
- GetAnnotStrProperty – return string (previously only for two tags)
- GetFormFieldCaption – return string
- GetFormFieldChildTitle – return string
- GetFormFieldDefaultValue – return string
- GetFormFieldDescription – return string
- GetFormFieldTitle – return string
- GetFormFieldValue – return string
- GetFormFieldValueByTitle – return string
- GetFormFieldValueByTitle – Title parameter
- GetTempPath – return string (previously only for Delphi/DLL Edition)
- NewFormField – Title parameter
- SaveToFile – FileName parameter (previously only in Delphi/DLL Edition)
- SetFormFieldCaption – NewCaption parameter
- SetFormFieldTitle – NewTitle parameter
- SetFormFieldDefaultValue – NewDefaultValue parameter
- SetFormFieldDescription – NewDescription parameter
- SetFormFieldValue – NewValue parameter
- SetFormFieldValueByTitle – Title parameter
- SetFormFieldValueByTitle – NewValue parameter
- SetGDIPlusFileName – DLLFileName parameter (previously only in Delphi/DLL Edition)
- SetTempFile – FileName parameter (previously only in Delphi/DLL Edition)
- SignFile – InputFileName parameter (previously only in Delphi/DLL Edition)
- SignFile – SignatureFieldName parameter
- SignFile – OutputFileName parameter (previously only in Delphi/DLL Edition)
- SignFile – PFXFileName parameter (previously only in Delphi/DLL Edition)
- StoreCustomDataFromFile – FileName parameter (previously only in Delphi/DLL Edition)
Read about this release on our blog here.
Debenu Quick PDF Library 7.17
New Features and Improvements:
- New GetDocumentFileName function
- Encrypted documents are no longer auto-decrypted in some circumstances (same behaviour as 7.15 and earlier)
- MergeStreams, MergeFiles and MergeFileList functions now merge bookmarks
- FlattenFormField function now works even if the form field does not have a /P (page) entry
- New tags to retrieve the following annotation properties:
Subject (/Subj)
In reply to (/IRT)
Unicode filename (/UF)
Page number of GoTo link
- PDFs with certain malformed stream objects can now be loaded (e.g. Microsoft Reporting Services PDFs)
- Improved text extraction using mode 0
- Improved accuracy and speed for PNG predictors in flate compressed images
- The following code pages are now supported in the
AddTrueTypeFont function:
874 THAI_CHARSET
932 SHIFTJIS_CHARSET
936 GB2312_CHARSET
949 HANGEUL_CHARSET
950 CHINESEBIG5_CHARSET
1256 ARABIC_CHARSET
1361 JOHAB_CHARSET
- Improved EMF import functionality
- Improved masked image processing speed
- Added support for malformed stream images with LF starting character
- Added support for optional content groups in the renderer
- XFA form field support now uses "MSXML2.DOMDocument" instead of "MSXML2.DOMDocument.4.0"
- The following functions have been Unicode enabled:
DAGetInformation
DASetInformation
SetCustomInformation
GetCustomInformation
SetInformation
GetInformation
GetCatalogInformation
SetCatalogInformation
RetrieveCustomDataToString
StoreCustomDataFromString
GetAnalysisInfo
NewOutline
SetOutlineTitle
OutlineTitle
NewStaticOutline
GetOutlineJavaScript
SetOutlineJavaScript
AddLinkToJavaScript
FormFieldJavaScriptAction
GetFormFieldJavaScript
SetOpenActionJavaScript
PageJavaScriptAction
DocJavaScriptAction
AddGlobalJavaScript
GetGlobalJavaScript
GlobalJavaScriptPackageName
GetPageJavaScript
AddPageLabels
GetPageLabel
NewOptionalContentGroup
GetOptionalContentGroupName
GetDocumentFileName
DAExtractPageText
GetPageText
ExtractFilePageText
GetAnnotStrProperty
SetAnnotStrProperty
Debenu Quick PDF Library 7.16
New Features and Improvements:
- New GetObjectCount function
- New GetObjectSource function
- New DAOpenFromStream function
- New DASaveToStream function
- New DAGetObjectCount function
- New DAGetObjectSource function
- New DAGetFormFieldCount function
- New DAGetFormFieldValue function
- New AppendTableRows function
- New AppendTableColumns function
- New InsertTableRows function
- New InsertTableColumns function
- New FontFamily function
- New DeleteAnnotation function
- New GetTableRowCount function
- New GetTableColumnCount function
- New AppendTableRows function
- New function AppendTableColumns
- New CloneOutlineAction function
- New GetActionType function
- New GetOutlineActionID function
- New GetAnnotActionID function
- TIFF images optionally loaded using GDI+
- TIFF output added to renderer
- File names in link annotations (eg. AddLinkToFile) can now be Unicode (/UF key used in file spec dictionary)
- NewCustomPrinter bug fix
- HTML text font size bug fix
- Delphi 2009 string cast bug fix
- Fixed bug signing a PDF produced by Word 2007
- Fixed bug with RenderDocumentToFile page number substitution
- New pixel offset mode for rendering images to eliminate white lines
- C# DLL wrapper handles unicode filenames correctly
- Fixed memory leak bug: rendering documents with many large images
- Fixed memory leak bug in DLL allocation
- Bug fix for PDFs with comments in the cross reference stream
- Improvements to GetPageLGIDictContent
- Bug fix AddSubsettedFont
- AddToFileList now supports Unicode file names
Debenu Quick PDF Library 7.15
New Features and Improvements:
- Unicode support for filenames
- New SetBaseURL function
- GeoPDF support. New related functions: AddLGIDictToPage, GetPageLGIDictCount, GetPageLGIDictContent and DeletePageLGIDict
- New ImportEMFFromFile function
- New SetAnnotStrProperty function
- Renderer allows fonts to be direct objects as well as indirect objects
- Improved font matching in renderer
- Implemented Deflate on image data with predictor and BitsPerComponent = 4
Debenu Quick PDF Library 7.14
New Features and Improvements:
- Delphi 2009 improvements
- Fixed CFF font decoding bug
- Bug fix for fonts with /Differences array and no /ToUnicode entry
- Bug fix for non-embedded fonts with slightly different standard font names
- Bug fix for matching fonts characters with capital letters
- New GetCanvasDC and LoadFromCanvasDC functions
- New GetXFAFormFieldNames function
- New GetXFAFormFieldName function
- New GetXFAFormFieldCount function
- Updated the docs for the XFA functions
- New GetFontObjectNumber function
- New SetAdvancePassword function
- New CreateTable function
- New SetTableColumnWidth function
- New SetTableRowHeight function
- New SetTableCellBorderColor function
- New SetTableCellBorderColorCMYK function
- New SetTableCellBorderWidth function
- New SetTableCellBackgroundColor function
- New SetTableCellBackgroundColorCMYK function
- New SetTableCellPadding function
- New SetTableCellAlignment function
- New SetTableCellContent function
- New SetTableCellTextColor function
- New SetTableCellTextColorCMYK function
- New SetTableCellTextSize function
- New SetTableBorderColor function
- New SetTableBorderColorCMYK function
- New SetTableBorderWidth function
- New MergeTableCells function
- New DrawTableRows function
- New GetTableLastDrawnRow function
- New GetTableCellStrProperty function
- New GetTableCellIntProperty function
- New GetTableCellDblProperty function
Debenu Quick PDF Library 7.13
New Features and Improvements:
- Delphi 2009 support
- New functionality for GetAnnotStrProperty and GetAnnotIntProperty to handle GoToR and Launch annotations and speed improvements
- New EmbeddedFileCount function
- New GetEmbeddedFileStrProperty function
- New GetEmbeddedFileIntProperty function
- New GetEmbeddedFileContentToFile function
- New GetEmbeddedFileContentToString function
- New GetEmbeddedFileContentToStream function
- Improvements to internal outline navigation
- New GetNamedDestination function
- Internal support for name objects directly following the obj keyword
- Bug fix and improvements to encryption fingerprint functions
- Option to load images using GDI+ instead of internal image handling functions
- Support for type 3 functions
- Improvements to image decoding
- Support for inverted JPEG palettes
- Faster page location when page tree is a single array
- Support for loading 8-bit alpha mask from PNG images
- Better rendering of encrypted documents
- Support for alternate ICC based color space in renderer
- Support for W=4 in cross reference stream
- Speed improvements to object decoding
- Bug fix for text extraction with option 4 to return single words
Read about this release on our blog here.
Debenu Quick PDF Library 7.12
New Features and Improvements:
- Specifically targeted for ASP, C++, C#, Delphi, PowerBASIC, PowerBuilder and Visual Basic
- Save-to-stream and Load-from-stream support for web serving
- Advanced PDF rasterizer with RenderPageToDC and gradient support
- Advanced PDF page combining, cloning, extraction, imposition and merging technology
- Advanced PDF encryption, decryption (including 128-bit encryption) and digital signatures
- TrueType font support (including font embedding)
- Support for Japanese fonts and Turkish codepage (1254)
- Comprehensive form field and JavaScript support
- Built-in PDF barcode support
- Advanced drawing, including circles and arcs
- Rotated text, multi-line paragraph text, word-wrapped paragraph text
- Outline and hypertext functions
- Embedded image, file grouping and links
- Blazing performance increase and much more...
Read about this release on our blog here.