Foxit PDF SDK Changelog
Windows/Mac/Linux
December 19, 2024
New Features and Enhancements:
PDF3D
- Support for retrieve and preset 3D views.
- Support for default view reset.
New APIs:GetPresetViewList()
ApplyPresetView()
ResetDefaultView()
Compliance
- Introduced preflight functionality supporting PDF/E and PDF/X standards.
New Classes:Preflight
PDFXCompliance
PDFECompliance
Page Analyzer
- Detect scanned pages.
New API:PDFPage::IsScanned()
OCR
- Enhanced OCR configuration options, including image-based text extraction mode, skew correction, image denoising, and CPU core usage mode.
New Class:foxit::addon::ocr::OCRConfig
Updated API:Initialize(...is_shared_cpu_cores_mode)
Annotation
- Support for executing JavaScript-based sub-actions in link annotations.
- Added separate transparency settings for border and fill colors.
- Added the ability to retrieve annotations by unique IDs.
Updated API:ExecuteJavaScriptAction(JavaScriptAction)
SetBorderOpacity()
,GetBorderOpacity()
SetFillOpacity()
,GetFillOpacity()
GetAnnotsByIdArray()
Images
- Retrieve image orientation.
- Image object creation from Type3 text object.
- Clone 1bpp bitmap from the page image object.
New API:GetOrientation()
ImageObject::CreateFromType3TextObject()
ImageObject::CloneBitmap (PDFPage,Graphics_Objects)
Fonts
- Improved font mapping with an overloaded callback for font family names
New API:FontMapperCallback::MapFont()
Rendering
- Render PDF to PDF print devices on Linux.
- Support for rendering PDF pages to 1bpp bitmap.
New API:Renderer(PrintDeviceSettingData& print_param,dest_pdf_path)
Search
- TextSearch supports regular expressions.
Updated API:TextSearch::SetPattern(key_words,is_regex_search)
Text
- Calculate the required PDF Rect size for strings in RichTextStyle before adding text.
- RichTextCtyle allows negative values for char_stpace and word_stpace in.
New API:PDFPage::CalculateNewRectForText()
Page::AddText RichTextStyle
Watermark
- Added tiled watermark behavior flags, including printing/display settings.
Updated API:TiledWatermarkSettings(flags)
PrintManager
- Enhanced margin handling for print jobs.
New APIs:SetJobPrintUnitType()
,GetJobPrintUnitType()
SetJobLeftMargin()
,GetJobLeftMargin()
SetJobRightMargin()
,GetJobRightMargin()
SetJobTopMargin()
,GetJobTopMargin()
SetJobBottomMargin
,GetJobBottomMargin()
DWG2PDF
- Track conversion progress and control output logs.
- Support for color conversion policies.
New Class:DWG2PDFProgressCallback
Updated API:DWG2PDFSettingData::is_output_progress
DWG2PDFSettingData::progress_callback
DWG2PDFSettingData::color_policy
Libre Office2pdf
- Support for multi-threaded conversion via binary engine on Linux.
Updated APIs:Convert::From[Word][Excel][PowerPoint](...fx_binary_engine_path, LibreOffice_User_Profile)
Foxit PDF2Office
- Support for library initialization using a binary program for improved conversion flexibility.
- Introduced more conversion options such as insert page breaks, remove trailing spaces, and output images.
- Support for restricted PDF files conversion.
Updated APIs:PDF2Office::Initialize(library_path,fx_binary_program_path)
PDF2WordSettingData(...enable_generate_page_rendered_break)
PDF2OfficeSettingData (...enable_trailing_space,include_images,)
ConvertCheckCallback
SetConvertCheckCallback(convert_check_callback)
Foxit Office2PDF
- Officially integrated Foxit Office2PDF as an add-on.
- Support for outline conversion in Word2PDF.
- Introduced wordbook conversion options in Excel2PDF.
- New Class:
Word2PDFConfig
Excel2PDFConfi
API Performance Improvements
- Significantly improved the Optimizer’s performance for documents with a large number of paths.
- Greatly enhanced the efficiency of importing files with AcroForms using StartImportPagesFromFilePath.
Deprecated Features
- Deprecated
ImageObject::CloneBitmap (Graphics_Objects)
API.
Bug Fixes
Table-related
- Fixed an issue where merging cells with
AddTableToPage()
caused errors. - Resolved a problem where the fill color did not cover the entire cell when inserting tables using
insertTablePagesToDocument
.
Page Operations and Importing
- Fixed an issue where splitting pages with
StartImportPages()
resulted in scrambled content. - Resolved a data import failure caused by incorrect XML file format detection when using
ImportFromXML()
. - Fixed a bug where form data remained after removing AcroForm pages with
RemovePage()
. - Addressed an issue where inserting new PDF pages failed due to inconsistent handling of
CropBox
.
Text Processing
- Fixed an issue where extracting text with Chinese characters using
GetPageText()
resulted in errors. - Resolved text extraction order issues with
GetPageText()
by optimizing the text extraction algorithm. - Fixed display errors when adding Arabic text using
AddText()
. - Corrected the RTL display order issue when setting Arabic text with
SetText()
.
Form Handling
- Fixed an issue where
PDFPage::Flatten()
failed to flatten static XFA form field data. - Resolved an issue where dynamic XFA form fields did not retain their state correctly when flattened to PDF.
- Fixed a problem where dynamic XFA documents could not be loaded after triggering certain callback events.
- Addressed an issue where insufficient integer precision led to incorrect form field calculations.
Search Functionality
- Fixed an issue where incorrect search results were returned due to the wrong calculation of search keyword order.
- Resolved an exception issue when calling
ReplaceNext()
.
Rendering and Display
- Fixed an issue where dashed lines were displayed incorrectly in prepress previews by properly handling fill and stroke colors.
- Resolved prepress preview anomalies caused by separating annotation and page rendering.
- Optimized rendering to fix display issues with background images in paths with soft mask pattern fills.
- Fixed an issue where images inserted via
AddImage()
were mirrored due to missing rotation handling. - Corrected the problem where graphics object became invisible after calling
SetMatrix()
due to ignored clipping paths.
Crash Fixes
- Fixed a crash when opening PDF files containing 3D elements.
- Resolved a crash caused by batch conversion of PDF to PostScript using the
Renderer
class. - Fixed a crash on Linux when creating new
PDFDoc
objects due to concurrent access.
Annotations and Watermarks
- Fixed an issue where annotations in PDF files with missing destination (Dest) information could not retrieve annotation actions correctly.
- Fixed a problem where watermarks were not written to extracted pages after calling
StartExtractPages()
.
Printing-related
- [Demo] Fixed an issue in the
pdfprint
demo where printing PDFs with soft masks in the background caused memory issues. - [PrintManager] Corrected the “Unknown” status display when using the demo print function by adjusting
GetJobStatus()
. - [PrintManager] Fixed an issue where print tasks were waiting or unable to complete due to the printer failing to call the
GetJob()
function.
Optimizer and Performance
- Fixed data loss during optimization due to incorrect font stream handling.
- Resolved garbled text issues during DWG to PDF conversion by supplementing missing font resources, to esnure font integrity.
- Adjusted CMYK image handling to fix color inconsistencies caused by forced conversion to RGB in TIFF images.
- Resolved content loss during TIFF to PDF conversion by improving TIFF data writing.
- Fixed data loss and exceptions in the verification results by improving the
LTVVerifier::Verify()
logic. - Fixed table recognition error by enhancing the layout recognition engine.
PDF Conversion SDK 2.1
December 19, 2024
PDF2Office
New Features
- Library Initialization: Added support for initializing the conversion library using a binary program, offering improved flexibility in PDF-to-Office conversions.
- Additional Conversion Options:
- Ability to remove trailing spaces from the output and include images during conversion.
- New option for PDF2Word to control the insertion of page breaks during conversion.
- Added settings for Excel wordbooks in PDF2Excel.
- Restricted PDF File Support: Now supports conversion of restricted PDF files
- Updated APIs:
PDF2Office::Initialize(library_path, fx_binary_program_path)
PDF2WordSettingData(...enable_generate_page_rendered_break)
PDF2ExcelSettingData(...wordbook_settings)
PDF2OfficeSettingData(...enable_trailing_space, include_images)
ConvertCheckCallback
SetConvertCheckCallback(convert_check_callback)
Enhancements
- PDF2Word: Enhanced table, formula and highlighted text recognition accuracy.
- PDF2Excel: Improved cell border and background recognition fidelity.
- PDF2PPT: Enhanced content integrity preservation for converted text and paths.
- Optimization: Improved processing efficiency for files with complex path structures.
- Stability: Enhanced overall program stability to prevent memory leaks.
Office2PDF
New Features
- Word to PDF Conversion: Added support for outline conversion in Word2PDF.
- Excel to PDF Conversion: Introduced wordbook conversion options in Excel2PDF.
- New Class:
Word2PDFConfig
Excel2PDFConfig
Enhancements
- Complex Layout Support: Supports a wide range of complex layouts, including vertical text.
- Complex Elements Support: Accurately preserves gradients, multi-column alignment, and 3D elements.
- Memory Optimization: Optimizes large file conversion for improved stability and efficiency.
Updated on December 19, 2024