Foxit PDF SDK (Desktop/Server) 10.1.0
Release date: December 16, 2024
New features and improvements
PDF3D
- Support for getting and applying preset 3D views
- Support for resetting the default view.
New APIs:GetPresetViewList()ApplyPresetView()ResetDefaultView()
Compliance
- Preflight support and PDF/E and PDF/X standards.
New classes:PreflightPDFXCompliancePDFECompliance
Page analysis
- Detect scanned pages.
New API:PDFPage::IsScanned()
OCR
- Enhanced OCR configuration options, including picture text extraction mode, skew correction, image denoising, and shared CPU core usage mode.
New class:foxit::addon::ocr::OCRConfigUpdated API:Initialize(...is_shared_cpu_cores_mode)
Annotations
Support executing multiple JavaScript sub-actions.
Support separate opacity for border and fill color.
Support retrieving annotations by unique ID. Updated API:
ExecuteJavaScriptAction(JavaScriptAction)
New APIs:
SetBorderOpacity(),GetBorderOpacity()SetFillOpacity(),GetFillOpacity()GetAnnotsByIdArray()
Images
- Get image orientation.
- Create image objects from Type3 text objects.
- Clone 1 bpp bitmaps in page image objects.
New APIs:GetOrientation()ImageObject::CreateFromType3TextObject()ImageObject::CloneBitmap (PDFPage,Graphics_Objects)
Fonts
- Match fonts by font family name.
New API:FontMapperCallback::MapFont()
Rendering
- Render PDF to PDF print devices on Linux.
- Render PDF pages to 1 bpp bitmaps. New API:
Renderer(PrintDeviceSettingData& print_param,dest_pdf_path)
Search
- Regular expression text search.
Updated API:TextSearch::SetPattern(key_words,is_regex_search)
Text
Calculate the PDF Rect size required for a RichTextStyle string before adding text.
RichTextStyle supports negative
char_spaceandword_space.
New API:PDFPage::CalculateNewRectForText()
Updated API:
Page::AddText RichTextStyle
Watermarks
- Tiled watermark print and display settings.
Updated API:TiledWatermarkSettings(flags)
Print Manager
- Set print margins.
New APIs:SetJobPrintUnitType(),GetJobPrintUnitType()SetJobLeftMargin(),GetJobLeftMargin()SetJobRightMargin(),GetJobRightMargin()SetJobTopMargin(),GetJobTopMargin()SetJobBottomMargin,GetJobBottomMargin()
DWG2PDF
Monitor conversion progress and control progress log output.
New color conversion policy.
New class:DWG2PDFProgressCallback
Updated APIs:
DWG2PDFSettingData::is_output_progressDWG2PDFSettingData::progress_callbackDWG2PDFSettingData::color_policy
Libre Office2pdf
- Multithreaded conversion on Linux via binary engine.
Updated API:Convert::From[Word][Excel][PowerPoint](...fx_binary_engine_path, LibreOffice_User_Profile/)
Foxit PDF2Office
Initialize the library via binary program for more flexible conversion.
New conversion options such as page breaks, trailing space removal, image output, and conversion timeout.
Convert permission-protected PDF files.
Updated APIs:PDF2Office::Initialize(library_path,fx_binary_program_path)PDF2WordSettingData(...enable_generate_page_rendered_break)PDF2OfficeSettingData (...enable_trailing_space,include_images,)PDF2OfficeSettingData (..timeout)
New class and API:
ConvertCheckCallbackSetConvertCheckCallback(convert_check_callback)
Foxit Office2PDF
Foxit Office2PDF is officially integrated as a component in Foxit PDF SDK.
Outline conversion support for Word2PDF.
New workbook conversion options in Excel2PDF.
New classes:
Word2PDFConfigExcel2PDFConfig
API performance
- Significantly optimized Optimizer efficiency for documents with many path objects.
- Significantly improved efficiency of
StartImportPagesFromFilePath()when importing files containing forms.
Deprecated features
- Deprecated
ImageObject::CloneBitmap (Graphics_Objects).
Bug fixes
Tables
- Fixed incorrect cell merging when calling
AddTableToPage(). - Fixed fill color not covering entire cells when inserting tables via
insertTablePagesToDocument.
Page operations and import
- Fixed scrambled page content when splitting pages with
StartImportPages(). - Fixed
ImportFromXML()import failure due to incorrect XML format detection. - Fixed residual AcroForm automation data after
RemovePage()deletes AcroForm pages. - Fixed failure when inserting new PDF pages due to inconsistent
CropBoxhandling.
Text
- Fixed errors when extracting Chinese text with
GetPageText(). - Fixed incorrect PDF text order from
GetPageText()by optimizing the extraction algorithm. - Fixed incorrect Arabic display when adding Arabic with
AddText(). - Fixed incorrect RTL display order when setting Arabic text with
SetText.
Forms
- Fixed
PDFPage::Flatten()unable to flatten static XFA form field data. - Fixed dynamic XFA forms not retaining control state correctly after flattening to PDF.
- Fixed dynamic XFA documents failing to load after certain callback events.
- Fixed incorrect form field calculation results due to insufficient integer precision.
Search
- Fixed incorrect search results due to wrong keyword order calculation.
- Fixed exceptions when calling
ReplaceNext().
Rendering and display
- Fixed incorrect dashed lines in output preview by handling fill and stroke colors correctly.
- Fixed output preview display issues when annotation rendering is separated from page rendering.
- Fixed background images with soft masks and pattern-filled paths by optimizing rendering.
- Fixed mirrored images when inserting with
AddImage()due to missing rotation handling. - Fixed graphics objects becoming invisible after
SetMatrix()because clip paths were ignored.
Crashes
- Fixed crash when opening PDF files containing 3D elements.
- Fixed crash when batch converting PDF to PostScript with the
Rendererclass. - Fixed crash when creating a new
PDFDocduring concurrent access on Linux.
Annotations and watermarks
- Fixed inability to get annotation actions when PDF annotations lack destination (Dest) information.
- Fixed watermarks not written to extracted pages after
StartExtractPages().
Printing
- [Demo] Fixed out-of-memory in
pdfprintdemo when printing PDFs with soft-mask backgrounds. - [PrintManager] Fixed
GetJobStatus()showing "Unknown" in sample print flows. - [PrintManager] Fixed print jobs waiting or not completing when the printer did not call
GetJob()correctly.
Optimization and performance
- Fixed data loss during optimized save due to improper font stream handling.
- Fixed garbled DWG to PDF conversion by supplementing missing font resources.
- Fixed inconsistent TIFF image colors when CMYK was forced to RGB.
- Fixed lost content after TIFF to PDF by adjusting TIFF data writing.
- Fixed lost and abnormal signature verification data after
LTVVerifier::Verify()by improving handling logic. - Fixed table recognition accuracy regression by optimizing the layout recognition engine.