Do you own a Debenu Quick PDF Library 12/11/10/9/8/7? Upgrade to Debenu Quick PDF Library 13!

Foxit Quick PDF Library

Quick PDF Library 8.14 Beta 5 Released

February 21, 2012

Quick PDF Library 8.14 beta 5 has been released and is ready for download and testing. Version 8.14 beta 5 includes new functions, bug fixes and enhancements. The 8.14 beta 5 installer can be downloaded from the button below.

Release Notes

New functions

  • GetViewPortBBox
  • SetOptionalContentConfigState
  • SetCapturedPageTransparencyGroup
  • SetTableThinBorders
  • SetTableThinBordersCMYK
  • RemoveFormFieldBorderColor
  • SetTextUnderlineCustomDash
  • SetTextUnderlineWidth
  • SetTextUnderlineDistance
  • DrawRotatedBox
  • DrawRotatedMultiLineText
  • GetPrinterMediaTypes
  • GetPageColorSpaces
  • SetDestProperties
  • SetDestValue

Bug fixes

  • 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

Enhancements

  • 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

Upgrading To Version 8

If you are still using version 7 and would like to upgrade visit this page:

More information on upgrading to version 8 can be found online here.

Feedback! Any feedback large or small is appreciated. We’ll shortly be planning the next round of exciting new features for Quick PDF Library, so we’d really like to know what you want to see added to the SDK. Don’t be shy, email us at support@quickpdflibrary.com and have your say.

Quick PDF Library 8.14 Beta 4 Released

February 2, 2012

Quick PDF Library 8.14 beta 4 has been released and is ready for download and testing. Version 8.14 beta 4 includes new functions, bug fixes and enhancements. The 8.14 beta 4 installer can be downloaded from the button below.

Release Notes

New functions

  • GetViewPortBBox
  • SetOptionalContentConfigState
  • SetCapturedPageTransparencyGroup
  • SetTableThinBorders
  • SetTableThinBordersCMYK
  • RemoveFormFieldBorderColor
  • SetTextUnderlineCustomDash
  • SetTextUnderlineWidth
  • SetTextUnderlineDistance
  • DrawRotatedBox
  • DrawRotatedMultiLineText
  • GetPrinterMediaTypes

Bug fixes

  • 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

Enhancements

  • 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

Upgrading To Version 8

If you are still using version 7 and would like to upgrade visit this page:

More information on upgrading to version 8 can be found online here.

Feedback! Any feedback large or small is appreciated. We’ll shortly be planning the next round of exciting new features for Quick PDF Library, so we’d really like to know what you want to see added to the SDK. Don’t be shy, email us at support@quickpdflibrary.com and have your say.

By Rowan | Comments Off on Quick PDF Library 8.14 Beta 4 Released | Posted in News,Quick PDF Library,Releases

Shared Content Streams and Quick PDF Library

February 1, 2012

A lot of PDF tools expect all the pages of a PDF to have individual content streams.

But it’s technically possible for two or more pages to reference the exact same content stream, either entirely or even pieces of content stream parts.

10 0 obj
<<
/Type /Page
/Contents [ 11 0 R 12 0 R ]
>>

15 0 obj
<<
/Type /Page
/Contents [ 18 0 R 11 0 R ]
>

In this example, the page defined by object 10 has two content stream parts, stored in objects 11 and 12. The page in object 15 also has two content stream parts, but the second part is the same object 11 used by the first page – this is a shared content stream.

If a PDF is structured that way, any changes to one page will also appear on the other page with the shared content stream.

The PDF specification doesn’t forbid this at all and Adobe Acrobat and Adobe Reader both seem happy with files like this. It’s quite a useful trick. In fact Quick PDF Library’s ClonePages function uses this exact technique to allow many pages to share a single content stream without increasing the size of the file.

Some PDF software might not be able to read files structured like this, and most PDF tools will have unpredictable results when doing things like extracting or deleting pages.

When deleting a page from a PDF, it makes sense to delete the content streams that describe the page and not just the page dictionary otherwise there would be unused data in the output PDF, wasted space. Quick PDF Library’s DeletePages function does exactly that, it clears all the content stream parts (sets them to an empty string) and then deletes the page dictionary.

So if a page shares content streams with other pages, and is then deleted with DeletePages, the other pages will be affected too.

The RemoveSharedContentStreams function cycles through all the pages in the document building up a list of stream objects in the /Contents array. If any shared content streams are found they are left intact for one page and copies are made for any other pages using that same content.

This process might take a long time on PDFs with thousands of pages.

By Rowan | Comments Off on Shared Content Streams and Quick PDF Library | Posted in Quick PDF Library,Tips & Tutorials