Browse our Products
Aspose.Words for Java 22.3 Release Notes
This page contains release notes for Aspose.Words for Java 22.3.
Major Features
There are 91 improvements and fixes in this regular monthly release. The most notable are:
- Added saving to PDF 2.0 and several other improvements in PDF output.
- Improved DML chart axis scaling algorithm.
- Saving progress notifications were extended for TXT format.
- Improved table comparing algorithm.
- Provided comments syntax in LINQ Reporting.
Full List of Issues Covering all Changes in this Release (Reported by Java Users)
Key | Summary | Category |
---|---|---|
WORDSJAVA-2600 | XmlDataSourceCore fails to load child Node with the same name as the table plus an attribute. | Bug |
WORDSNET-23346 | DOCX to PDF missing lines in the chart | Bug |
WORDSNET-21033 | Document.Compare generates the incorrect output | Bug |
WORDSNET-20853 | Two Table Rows Created with Insertion and Deletion Revisions after Comparing Word Documents | Bug |
WORDSNET-20439 | Document.compare performs unexpected comparison | Bug |
WORDSNET-20449 | Document.Compare generates incorrect revisions | Bug |
WORDSNET-20945 | Document.Compare generates the incorrect output | Bug |
WORDSNET-23378 | Content is missed upon rendering document. | Bug |
WORDSNET-21328 | Charts rendered incorrect when converted to PDF | Bug |
WORDSNET-22827 | Table row is pushed down to next page in output PDF | Bug |
WORDSNET-23410 | IndexOutOfRangeException is thrown upon saving document to HTML | Bug |
WORDSNET-23278 | Horizontal axis scaling is incorrect upon rendering chart | Bug |
WORDSNET-23427 | Content in table cell is slightly overlaps border | Bug |
WORDSNET-18898 | MODIFY_ANNOTATIONS incorrectly Allows Commenting, Filling of Form Fields and Signing in PDF | Bug |
WORDSNET-23484 | Bookmark is pointing to wrong page after rendering to PDF | Bug |
WORDSNET-17379 | SmartArt text is rotated in output PDF | Bug |
WORDSNET-16282 | Document.Compare generates incorrect revisions for tables | Bug |
WORDSNET-19422 | HTML to RTF conversion removes blank lines | Bug |
Full List of Issues Covering all Changes in this Release (Reported by .NET Users)
Key | Summary | Category |
---|---|---|
WORDSNET-5101 | Support AES encryption algorithms | New Feature |
WORDSNET-14614 | Improve TOC style and page numbers | New Feature |
WORDSNET-23250 | Support PDF 2.0 version | New Feature |
WORDSNET-20128 | Inconsistent behavior with dynamic columns and horizontal merge (portrait vs landscape) | New Feature |
WORDSNET-20127 | Inconsistent behavior with dynamic columns and horizontal merge | New Feature |
WORDSNET-22891 | Add loading progress notification for TXT documents | New Feature |
WORDSNET-23490 | Provide comments syntax in LINQ Reporting | New Feature |
WORDSNET-23414 | Preserve paragraph outline level upon importing tagged PDF document | New Feature |
WORDSNET-23264 | Improve ConvertTabStops code during conversion from DOCX to fixed page format | Enhancement |
WORDSNET-18140 | DML fill can not be retrieved and set correctly | Bug |
WORDSNET-23327 | HTML markup becomes visible in a document loaded from AZW3 | Bug |
WORDSNET-18518 | Table compare bug | Bug |
WORDSNET-19739 | Incorrect scaling of the horizontal axis after converting to PDF | Bug |
WORDSNET-16918 | Document.Compare generates the incorrect revisions | Bug |
WORDSNET-18188 | Documents comparing gives incorrect revisions | Bug |
WORDSNET-9291 | Incorrect SmartArt rendering in output PDF | Bug |
WORDSNET-20110 | Bangla in Microsoft Equation does not render correctly in PDF | Bug |
WORDSNET-23196 | Tables overlap after rendering document | Bug |
WORDSNET-20829 | Table Rows being pushed to previous Pages in PDF | Bug |
WORDSNET-20830 | Preserve empty page during Word DOCX to PDF Conversion | Bug |
WORDSNET-23328 | A MOBI document cannot be loaded | Bug |
WORDSNET-23204 | Incorrect text with black background after the conversion | Bug |
WORDSNET-23366 | ImportFormatMode.KeepSourceFormatting behaves differently in AW and MS Word | Bug |
WORDSNET-23209 | Revision.Accept fails for a specific document | Bug |
WORDSNET-21129 | Compare Document functionality is not working as expected with tables | Bug |
WORDSNET-21918 | Pie chart color is changed in output PDF | Bug |
WORDSNET-23221 | Incorrect result of PdfFlateDecodeFilter | Bug |
WORDSNET-23227 | Support xlink:href during import HTML with SVG image | Bug |
WORDSNET-22645 | Text of Table cell is lost after HTML to DOCX conversion | Bug |
WORDSNET-22989 | Document cannot be unprotected with correct password | Bug |
WORDSNET-20649 | Document.Compare generates incorrect revision for table’s column | Bug |
WORDSNET-22671 | Table and image are overlapped after DOCX to PDF conversion | Bug |
WORDSNET-23257 | ODT to DOC: output is different from MS Word | Bug |
WORDSNET-23037 | IndexOutOfRangeException at JBig2Decoder.JBIG2Bitmap.DuplicateRow | Bug |
WORDSNET-22830 | Chart is not rendered correctly after DOCX to PDF conversion | Bug |
WORDSNET-23259 | Consider keeping support of deprecated PDF-A1 | Bug |
WORDSNET-23398 | MSG to PDF line spacing issue | Bug |
WORDSNET-20705 | Word to PDF conversion issue with Phonetic Guides, resulting in misaligned text | Bug |
WORDSNET-23405 | ArgumentException when Load document with SVG image | Bug |
WORDSNET-23407 | “NC sync failed” occurs upon comparing Docx files with SDT | Bug |
WORDSNET-23417 | NullReferenceException is thrown when comparing a document | Bug |
WORDSNET-23418 | “Unexpected subdocument type” when saving to DOC | Bug |
WORDSNET-23373 | FileCorruptedException when opening DOC | Bug |
WORDSNET-23191 | KeyNotFoundException: Dictionary doesn’t contain “S” entry | Bug |
WORDSNET-23026 | InvalidOperationException: Encrypt element in the trailer dictionary must also be dictionary | Bug |
WORDSNET-23283 | StackOverflowException is thrown upon loading DOCX document. | Bug |
WORDSNET-23292 | An error “Alternative description missing for an annotation” in PDF/UA document | Bug |
WORDSNET-23424 | Text is incorrectly wrapped in table cell | Bug |
WORDSNET-23372 | DOCX to RTF conversion throws an InvalidOperationException | Bug |
WORDSNET-23304 | Aspose.Words hangs on document layout | Bug |
WORDSNET-23433 | Resolving the ranged Sdt without Id | Bug |
WORDSNET-23436 | Paragraphs indents (in character units) incorrectly calculated when Document Grid is defined | Bug |
WORDSNET-23428 | Range.Replace does not throw RegexMatchTimeoutException | Bug |
WORDSNET-23439 | InvalidOperationException: ‘Linked list is in invalid state.’ upon saving document to HTML or rendering | Bug |
WORDSNET-23452 | Unexpected text next to image after converting RTF to PDF | Bug |
WORDSNET-23460 | ArgumentException: ‘Parameter is not valid.’ is thrown upon rendering document to XPS and FixedHtml | Bug |
WORDSNET-23472 | NullReferenceException at GetBorders | Bug |
WORDSNET-23469 | Issue with Document.ExtractPages(..) | Bug |
WORDSNET-23471 | FileCorruptedException is thrown upon loading RTF document | Bug |
WORDSNET-23190 | KeyNotFoundException: MediaBox was not present in the dictionary | Bug |
WORDSNET-23478 | Some characters are retrieved incorrectly | Bug |
WORDSNET-23487 | XmlException: ‘w16sdtdh’ is an undeclared prefix. Is thrown upon opening DOCX produced by Aspose.Words | Bug |
WORDSNET-23492 | FileFormatUtil.DetectFileFormat() detects some TIFF images as text | Bug |
WORDSNET-23488 | Wrong table style is applied to a table after comparison | Bug |
WORDSNET-23497 | Table is distorted on PDF import | Bug |
WORDSNET-23510 | Arabic text inside table cells is too large | Bug |
WORDSNET-23516 | List labels are displayed as question marks (0xF03F) after conversion from RTF to another formats | Bug |
WORDSNET-18696 | Wrong detections of revisions (paragraphs marked deleted) | Bug |
WORDSNET-18703 | Check the compare produces incorrect revisions | Bug |
WORDSNET-19048 | Document.Compare produces incorrect revisions | Bug |
WORDSNET-16293 | RTF Documents Comparison Issue with Table Cells | Bug |
WORDSNET-21501 | Incorrect rendering of complex SVG image when document save as PNG | Bug |
WORDSNET-23444 | LayoutEnumerator does not work for textbox | Bug |
Public API and Backward Incompatible Changes
This section lists public API changes that were introduced in Aspose.Words 22.3. It includes not only new and obsoleted public methods, but also a description of any changes in the behavior behind the scenes in Aspose.Words which may affect existing code. Any behavior introduced that could be seen as regression and modifies the existing behavior is especially important and is documented here.
Added saving to PDF 2.0 and several other improvements in PDF output
Related issue: WORDSNET-23250
- New value added to PdfCompliance enum
public enum PdfCompliance { /// <summary> /// The output file will comply with the PDF 2.0 (ISO 32000-2) standard. /// </summary> Pdf20 }
- Improvements in PDF digital signatures
Changed PDF digital signature type from “adbe.pcks7.sha1” to “adbe.pcks7.detached” to fit all supported PDF versions.
Added PdfDigitalSignatureHashAlgorithm.RipeMD160 value.
PdfDigitalSignatureHashAlgorithm.Sha1 and PdfDigitalSignatureHashAlgorithm.Md5 values are marked as obsolete.
Default value for PdfDigitalSignatureDetails.HashAlgorithm changed from PdfDigitalSignatureHashAlgorithm.Sha512 to PdfDigitalSignatureHashAlgorithm.Sha256. SHA256 is most popular hashing algorithm, it is strong enough and it is used by default by Adobe Acrobat when signing the document.
public enum PdfDigitalSignatureHashAlgorithm { /// <summary> /// SHA-1 hash algorithm. /// </summary> [Obsolete("SHA-1 hash algorithm has been deprecated in latest PDF specification. Please, use the other hash algorithm instead.")] Sha1, /// <summary> /// MD5 hash algorithm. /// </summary> [Obsolete("MD5 hash algorithm has been deprecated in latest PDF specification. Please, use the other hash algorithm instead.")] Md5, /// <summary> /// RIPEMD-160 hash algorithm. /// </summary> RipeMD160, } public class PdfDigitalSignatureDetails { /// <summary> /// Gets or sets the hash algorithm. /// </summary> /// <remarks>The default value is the SHA-256 algorithm.</remarks> public PdfDigitalSignatureHashAlgorithm HashAlgorithm { get; set; } }
- Improvements in PDF encryption
Removed PdfEncryptionAlgorithm enum and encryptionAlgorithm parameter from PdfEncryptionDetails constructor. This is a breaking change.
Now PDF 1.7 output is encrypted with AES-128 encryption algorithm and PDF 2.0 output with AES-256 algorithm.
Updated XML comments on PdfPermissions to fit current algorithms.
public class PdfSaveOptions { /// <summary> /// Gets or sets the details for encrypting the output PDF document. /// </summary> /// <remarks> /// <para>The default value is null and the output document will not be encrypted. /// When this property is set to a valid <see cref="PdfEncryptionDetails"/> object, /// then the output PDF document will be encrypted.</para> /// <para>AES-128 encryption algorithm is used when saving to PDF 1.7 based compliance (including PDF/UA-1). /// AES-256 encryption algorithm is used when saving to PDF 2.0 based compliance.</para> /// <para>Encryption is prohibited by PDF/A compliance. This option will be ignored when saving to PDF/A.</para> /// <para><see cref="PdfPermissions.ContentCopyForAccessibility"/> permission is required by PDF/UA compliance /// if the output document is encrypted. This permission will automatically used when saving to PDF/UA.</para> /// <para><see cref="PdfPermissions.ContentCopyForAccessibility"/> permission is deprecated in PDF 2.0 format. /// This permission will be ignored when saving to PDF 2.0.</para> /// </remarks> public PdfEncryptionDetails EncryptionDetails { get; set; } } public class PdfEncryptionDetails { /// <summary> /// Initializes an instance of this class. /// </summary> public PdfEncryptionDetails(string userPassword, string ownerPassword); } public enum PdfPermissions { /// <summary> /// Disallows all operations on the PDF document. /// This is the default value. /// </summary> DisallowAll, /// <summary> /// Allows all operations on the PDF document. /// </summary> AllowAll, /// <summary> /// Copy or otherwise extract text and graphics from the document by operations other than that controlled /// by <see cref="ContentCopyForAccessibility"/>. /// </summary> ContentCopy, /// <summary> /// Extract text and graphics (in support of accessibility to users with disabilities or for other purposes). /// </summary> ContentCopyForAccessibility, /// <summary> /// Modify the contents of the document by operations other than those controlled by /// <see cref="ModifyAnnotations"/>, <see cref="FillIn"/>, and <see cref="DocumentAssembly"/>. /// </summary> ModifyContents, /// <summary> /// Add or modify text annotations, fill in interactive form fields, and, if <see cref="ModifyContents"/> is /// also set, create or modify interactive form fields (including signature fields). /// </summary> ModifyAnnotations, /// <summary> /// Fill in existing interactive form fields (including signature fields), even if <see cref="ModifyContents"/> /// is clear. /// </summary> FillIn, /// <summary> /// Assemble the document (insert, rotate, or delete pages and create document outline items or thumbnail /// images), even if <see cref="ModifyContents"/> is clear. /// </summary> DocumentAssembly, /// <summary> /// Print the document (possibly not at the highest quality level, depending on whether /// <see cref="HighResolutionPrinting"/> is also set). /// </summary> Printing, /// <summary> /// Print the document to a representation from which a faithful digital copy of the PDF content could be /// generated, based on an implementation-dependent algorithm. When this flag is clear (and /// <see cref="Printing"/> is set), printing shall be limited to a low-level representation of the appearance, /// possibly of degraded quality. /// </summary> HighResolutionPrinting }
- Several options in PdfSaveOptions cannot be used when saving PDF 2.0
public class PdfSaveOptions { /// <summary> /// Gets or sets a value determining whether or not to substitute TrueType fonts Arial, Times New Roman, /// Courier New and Symbol with core PDF Type 1 fonts. /// </summary> /// <remarks> ... /// <para>Core fonts are not supported when saving to PDF 2.0 format. <c>false</c> value will be used /// automatically when saving to PDF 2.0.</para> ... /// </remarks> public bool UseCoreFonts { get; set; } /// <summary> /// Gets or sets a value determining the way <see cref="Document.CustomDocumentProperties"/> are exported to PDF file. /// </summary> /// <remarks> ... /// <para><see cref="PdfCustomPropertiesExport.Standard"/> value is not supported when saving to PDF 2.0. /// <see cref="PdfCustomPropertiesExport.Metadata"/> will be used instead. /// </para> /// </remarks> public PdfCustomPropertiesExport CustomPropertiesExport { get; set; } }
- Changes related to obsolete PdfCompliance enum values:
- Removed obsolete PdfCompliance.Pdf15
- Removed Obsolete attribute from PdfCompliance.PdfA1b and PdfCompliance.PdfA1a