The latest public release of Solid Framework SDK is now available for download from the developer portal at www.solidframework.net. 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.
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.
FURTHER IMPROVEMENTS IN OCR
Improvements have been made in being more consistent with font types and styles to provide a more aesthetic document.
IMPROVED TOLERANCE OF CORRUPT PDFS
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.
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:
- 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
- PdfPageHolder.CommentsCount has been renamed to PdfPageHolder.CommentCount
- PdfPageHolder.LinksCount has been renamed to PdfPageHolder.LinkCount
- OcrTextRegion.OcrLines has been renamed to OcrTextRegion.OcrLineCount
GetPageWordsCount has been renamed to OCRTransformationResult. GetPageWordCount
GetPageConfidentWordsCount has been renamed to OCRTransformationResult. GetPageConfidentWordCount
GetDocumentWordsCount has been renamed to OCRTransformationResult. GetDocumentWordCount
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)
- 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