GroupDocs.Conversion for Java 23.4 Release Notes
Major Features
There are 10+ features, improvements, and bug fixes in this release, the most notable are:
- Conversion from PUB (Microsoft Publisher) file format to PDF format
- Improved performance of PDF to XLSM conversion
- Conversion to AZW3 format
- Options to extract audio from video
- Improved document type classification
- Improved conversion from composite documents
- Conversions between font formats
- Improved conversions from the ICO format
- Improved spreadsheet to word-processing document conversions
- Improved logging during conversion
- Conversions to MOBI format.
- New load options when converting spreadsheets - Specify desired sheets by their index number.
- Improved file type detection from a stream
Full List of Issues Covering all Changes in this Release
Key | Category | Summary |
---|---|---|
CONVERSIONNET‑5257 | Feature | .PUB file to PDF conversion support |
CONVERSIONNET‑5527 | Feature | Change the producer of PDF file |
CONVERSIONNET‑5432 | Feature | Implement conversion to Amazon Kindle AZW3 format |
CONVERSIONNET‑5643 | Feature | Video to Audio conversion |
CONVERSIONNET‑5407 | Feature | Implemented font formats conversion |
CONVERSIONNET‑5803 | Feature | Implement conversion to MOBI format |
CONVERSIONNET‑5833 | Feature | Specify converted worksheets by indexes |
CONVERSIONNET‑5414 | Enhancement | Conversion from PDF to XLSM is freezing |
CONVERSIONNET‑5700 | Enhancement | Improved conversions from composite documents: PST/OST, MBOX, and archives |
CONVERSIONNET‑5517 | Enhancement | Improved document types classification following the File Format Guide |
CONVERSIONNET‑5746 | Enhancement | Improve Ico format conversion |
CONVERSIONNET‑5748 | Enhancement | Improve Spreadsheet to WordProcessing document conversion |
CONVERSIONNET‑5724 | Enhancement | Return list of available folders from PST/OST and other composite documents in document info class |
CONVERSIONNET‑5750 | Enhancement | Improve Spreadsheet to Presentation document conversion |
CONVERSIONNET‑5732 | Enhancement | EML with attachments to PDF conversion issue |
CONVERSIONNET‑5761 | Enhancement | Improve logging during conversion |
CONVERSIONNET‑5837 | Enhancement | Do not process hidden worksheets when convert from spreadsheet |
CONVERSIONNET‑5825 | Enhancement | Improve FileType from Stream detection |
CONVERSIONNET‑5808 | Enhancement | Return meaningful data in DocumentInfo classes that have IEnumerable properties when accessed through the indexer |
CONVERSIONNET‑5609 | Fix | Large temp files are created during conversion to image on macOS |
CONVERSIONNET‑4976 | Fix | Cannot convert PDF to Excel |
CONVERSIONNET‑5558 | Fix | Error converting WEBP to JPG |
CONVERSIONNET‑5234 | Fix | Cannot convert ASE to 3DS and OBJ |
CONVERSIONNET‑5233 | Fix | Cannot convert from 3D VRML file format |
CONVERSIONNET‑5232 | Fix | Cannot convert from 3D X file format |
CONVERSIONNET‑5231 | Fix | Cannot convert from 3D GLTF file format |
CONVERSIONNET‑5726 | Fix | When converting from PST/OST no files are processed |
CONVERSIONNET‑5560 | Fix | Keeping the hyperlink (text with link) format when converting PDF to PPTX |
CONVERSIONNET‑4742 | Fix | PDF to image conversion issue |
CONVERSIONNET‑5415 | Fix | Evaluation tag when converting to Image |
CONVERSIONNET‑5457 | Fix | Particular PDF to PNG conversion crashes |
CONVERSIONNET‑5563 | Fix | PDF to PNG: Path conversion requested exception |
CONVERSIONNET‑5280 | Fix | Word to PDF conversion issue |
CONVERSIONNET‑5736 | Fix | Converter.GetAllPossibleConversions method returns enum with duplicates |
CONVERSIONNET‑5477 | Fix | Regression: EPUB to HTML raises “CorruptOrDamagedFileException” |
CONVERSIONNET‑5698 | Fix | Cannot convert from Note on macOS due to missing fonts |
CONVERSIONNET‑5831 | Fix | Error while Converting XLSX to PDF: Same key added |
CONVERSIONNET‑5823 | Fix | Converting Numbers to Pptx produce broken result |
CONVERSIONNET‑5794 | Fix | Converting particular Xlsx to Pptx produce broken result |
CONVERSIONNET‑5341 | Fix | DWG to PDF conversion - Its messing the image |
CONVERSIONNET‑5835 | Fix | XSLX to PDF: #REF! instead of 0 |
CONVERSIONNET‑5836 | Fix | XLS to PDF: ConversionNotSupportedException |
Conversion to AZW3 format
To convert any of the supported file types to the AZW3 file type, just specify it in the Format
property of the EBookConvertOptions
class instance:
// Load the source PDF file
try (Converter converter = new Converter("sample.pdf")) {
// Set the convert options for AZW3 format
EBookConvertOptions options = new EBookConvertOptions();
options.setFormat(EBookFileType.Azw3);
// Convert to AZW3 format
converter.convert("converted.azw3", options);
}
Extracting audio tracks from video formats
Extracting an audio track from a video is similar to converting video, however, you need to set the ExtractAudioOnly
property to true
and specify the desired output format in the AudioFormat
property:
// Load the source AVI file
VideoLoadOptions loadOptions = new VideoLoadOptions();
loadOptions.setVideoConnector(new VideoConnector());
try(Converter converter = new Converter("sample_with_audio.avi", () -> loadOptions)){
// Set the convert options
VideoConvertOptions options = new VideoConvertOptions();
options.setExtractAudioOnly(true);
options.setAudioFormat(AudioFileType.Ogg);
// Convert to audio file
converter.convert("extracted_audio.ogg", options);
}
Conversion between font formats
Now you can convert your font file from one format into another. For example, the CFF to TTF conversion code snippet will look like this:
// Load the source font file
try (Converter converter = new Converter("Lato-Regular.cff")) {
// Set the convert options
FontConvertOptions options = new FontConvertOptions
options.setFormat(FontFileType.Ttf);
// Convert to TTF format
converter.convert("Lato-Regular.ttf", options);
}
Conversion to MOBI format
To convert any of the supported file types to the MOBI file type, just specify it in the Format
property of the EBookConvertOptions
class instance:
// Load the source PDF file
try (Converter converter = new Converter("sample.pdf")) {
// Set the convert options for MOBI format
EBookConvertOptions options = new EBookConvertOptions();
options.setFormat(EBookFileType.Mobi);
// Convert to MOBI format
converter.convert("converted.mobi", options);
}
Specify converted worksheets by their indexes
When converting spreadsheets, you can now specify the desired sheets by their zero-based index numbers. To do this use the SheetIndexes
property of the SpreadsheetLoadOptions class:
LoadOptionsProvider getLoadOptions = () -> {
SpreadsheetLoadOptions options = new SpreadsheetLoadOptions();
options.setSheetIndexes(Arrays.asList(0, 2));
options.setOnePagePerSheet(true);
return options;
};
try (Converter converter = new Converter("sample.xlsx", getLoadOptions)) {
PdfConvertOptions options = new PdfConvertOptions();
converter.convert("converted.pdf", options);
}
Public API and backward incompatible changes
- Introduced a new file type:
WebFileType
. - The
PersonalStorageFileType
file type becomes deprecated. Please use theEmailFileType
or theDatabaseFileType
types instead. - The
MarkupFileType
file type becomes deprecated. Please use theWebFileType
type instead. - The
DataFileType
file type becomes deprecated. Please use theWebFileType
type instead. - Introduced new
ExtractAudioOnly
property of theVideoConvertOptions
class. - Introduced new
AudioFormat
property of theVideoConvertOptions
class. - Introduced new
PersonalStorageFolderInfo
class:
//Personal Storage Folder info
public class PersonalStorageFolderInfo {
//Name of the folder
public String getName();
//Count of the items in the folder
public int getItemsCount();
}
Changed the
Folders
property in thePersonalStorageDocumentInfo
class:before v23.4
public List<String> getFolders();
from v23.4 and greater
public List<PersonalStorageFolderInfo> getFolders();
Introduced new
SheetIndexes
property of theSpreadsheetLoadOptions
class:
/**
* List of sheet indexes to convert.
* The indexes must be zero-based
*/
public List<Integer> getSheetIndexes();
public void getSheetIndexes(List<Integer> indexes);