Solid Framework – 10.0.8870

The latest public release of Solid Framework SDK is now available for download from the developer portal at This is version 10.0.8870.

This is a Major Release. and includes a number of breaking changes.


Extraction of wide tables that were tiled over multiple pages

If a table within a spreadsheet is wider than the paper size then it will be created as a multi-page “tiled” PDF. Previously this would have resulted in the file being reconstructed with multiple tables.

Solid Framework 10 is able to reconstruct these pages to give a single wide table.


Example of a tiled PDF being reconstructed as a wide spreadsheet

This functionality is enabled by default, but can be disabled by setting DetectTiledPages to false.


Exact mode for converting to HTML

Solid Framework has been able to reconstruct HTML for many years. This has been done by “reflowing” the document which results in a web page that may be easy to read, but that may not look like the original PDF.

Solid Framework 10 now allows HTML to be created that looks very similar to the PDF by setting ExactMode to true.


Better Handling of Z-Order

Some PDFs with complex layers were not being reconstructed correctly. Solid Framework 10 now handles these files better.



Improvements have been made in being more consistent with font types and styles to provide a more aesthetic document.



A number of PDF files that could not previously be converted due to errors can now be corrected and a valid document reconstructed from them.

Breaking Changes

A number of changes have been made to simplify the API and improve consistency between the managed and native C++ SDK

Run time errors

License.Import now throws InvalidLicenseException  immediately for invalid licenses, rather than delaying the error until conversion is attempted. This could result in slightly different behaviour than was previously the case.


Compile time errors

The following may cause compile time errors:


Code Removal

  • LicenseCollection has been removed. Use SolidFramework.License.Import instead
  • ValidateOnly and VerifyOnly properties have been removed from PdfToPdfAConverter. Use Validate and Verify methods instead


  • PagesModel.PagesCount has been deprecated in favor of PagesModel.PageCount

Renamed properties

  • PdfPageHolder.CommentsCount has been renamed to PdfPageHolder.CommentCount
  • PdfPageHolder.LinksCount has been renamed to PdfPageHolder.LinkCount
  • OcrTextRegion.OcrLines has been renamed to OcrTextRegion.OcrLineCount
  • OCRTransformationResult.GetPageWordsCount has been renamed to OCRTransformationResult.GetPageWordCount
  • OCRTransformationResult.GetPageConfidentWordsCount has been renamed to OCRTransformationResult.GetPageConfidentWordCount
  • OCRTransformationResult.GetDocumentWordsCount has been renamed to OCRTransformationResult.GetDocumentWordCount
  • OCRTransformationResult.GetDocumentConfidentWordsCount has been renamed to OCRTransformationResult.GetDocumentConfidentWordCount

Property replaced with Method

  • The ViewerPreferences property of PdfDocument.Catalog now has been replaced with a GetViewerPreferences(bool create) method and a RemoveViewerPreferences() method

C++ API specific changes

Changes to Names

  • Methods in the C++ API are now all use Pascal-case (e.g. setOutputPath is now SetOutputPath)
  • Methods starting GetIs, GetHas and GetWas have had their ‘Get‘ dropped
  • PagesModelBase class has been renamed to PagesModel
  • ConverterBase classes have been renamed to Converter (e.g. PdfToWordConverterBase is now PdfToWordConverter)


Other Changes

  • SolidFramework.cpp no longer includes stdafx.h
  • CustomData properties have been removed from the Converter classes. (Custom data can captured within a lambda expression when setting the std::function progress/warning callback or stored within a subclass when overriding OnProgress/OnWarning)
  • Collections in the C++ API are now exported as std::vectors