Browse our Products
Aspose.Words for Java 19.8 Release Notes
This page contains release notes for Aspose.Words for Java 19.8.
Major Features
- Option to call HarfBuzz library (on Windows only yet) for better kerning.
- Separate Aspose.Words jdk16.jar is publically available on Aspose Downloads site.
- API Examples are fully updated and improved.
- Aspose.Words for Java is tested on Java 12.
- Simplified TIFFImageWriter is used when external TIFF image libs (JAI, etc.) are not available.
- Implemented an option that allows specifying whether to work with the original or revised version of a document.
- Implemented API to define default options for data labels of chart series.
- Fixed rendering of diagonal borders is vertically merged cells.
- Fixed issue when “keep with next” is applied to the last paragraph in a table cell.
- Improved computation of paragraph metrics for Asian text in a table.
- Improved surrogate pairs handling.
- Fixed problem with negative contrast images rendering. Now, if the document contains VML images with negative contrast, they are rendered in the same way as in MS Word, without causing exceptions.
- Fixed a bug with the incorrect association of data labels and series values when rendering DML charts.
- Fixed a bug with calculation of the X-values of the scatter chart while rendering.
- Fixed a bug with inheriting paragraph properties of data labels (Font size) when rendering DML charts.
- Fixed a bug with clipping of the user shape text when rendering DML charts.
Full List of Issues Covering all Changes in this Release
Key | Summary | Category |
---|---|---|
WORDSJAVA-1989 | Use internal TIFFImageWriter when external tiff image libs (JAI) are not available. | New Feature |
WORDSJAVA-2111 | Clear FipsUnapprovedOperationException for non-FIPS operations in FIPS mode. | New Feature |
WORDSJAVA-2122 | Option to call HarfBuzz library (on Windows only yet) for better kerning. | New Feature |
WORDSJAVA-2126 | Update and improve API Examples. | New Feature |
WORDSJAVA-2137 | Separate Aspose.Words jdk16.jar on public Aspose Downloads site. | New Feature |
WORDSJAVA-2149 | Check Aspose.Words for Java on Java 12. | New Feature |
WORDSJAVA-2154 | New clean 3rd party licenses PDF file directly from internal FOSS database. | New Feature |
WORDSNET-18808 | Analyze what it takes to convert a document with images in docker (Linux) | New Feature |
WORDSNET-2261 | Kerning option is ignored upon rendering/converting to PDF | New Feature |
WORDSJAVA-2093 | An exception raises while loading Aspose.Words on Java 1.6 runtime. | Bug |
WORDSJAVA-2138 | java.lang.OutOfMemoryError is thrown while saving RTF to PDF | Bug |
WORDSJAVA-2139 | System.NullReferenceException is thrown when DOCX is converted to TIFF | Bug |
WORDSJAVA-2140 | SimplifiedJaiTiffWriter produces incorrect results | Bug |
WORDSJAVA-2141 | Conversion from DOCX to PDF hangs (Metafile with alpha-channel.) | Bug |
WORDSJAVA-2144 | Can’t load RTF with the ugly table inside. | Bug |
WORDSNET-18864 | Iskoola Pota and Latha font rendering issues | Bug |
WORDSNET-18561 | Chart’s axis is missing in output PDF | Bug |
WORDSNET-18691 | There is a formatting issue in word document whereby text becomes bold after conversion of policy write-up to PDF | Bug |
WORDSNET-18875 | Document format changed when inserting header | Bug |
WORDSNET-18510 | DOCX to HTML conversion issue with formula rendering | Bug |
WORDSNET-18511 | DOCX to HTML conversion issue with page break position | Bug |
WORDSNET-18513 | Infinity loop exception when converting DOCX to PDF | Bug |
WORDSNET-18895 | Paragraph’s formatting is incorrect after export to HTML | Bug |
WORDSNET-18894 | Paragraph’s formatting is incorrect after export to HTML | Bug |
WORDSNET-18896 | Paragraph’s spaces aren’t preserved after DOCX-HTML-DOCX roundtrip, even if HtmlSaveOptions.ExportRoundtripInformation is set to true. | Bug |
WORDSNET-18751 | Check suspicious code found by PVS studio | Bug |
WORDSNET-18887 | Aspose.Words.FileCorruptedException is thrown while loading DOCX | Bug |
WORDSNET-9526 | Body content overlaps the content of Primary Footer in PDF | Bug |
WORDSNET-9391 | Text position is changed after conversion from DOCX to fixed file format | Bug |
WORDSNET-18903 | ListLabel.LabelString returns incorrect value when the paragraph has revision | Bug |
WORDSNET-11431 | Text in the textbox is wrapped improperly | Bug |
WORDSNET-17040 | Aspose.Words 18.6: Wrong layout when converting particular DOCX to PDF | Bug |
WORDSNET-17871 | Hyperlink tooltip is missing during DOCX to HTML conversion | Bug |
WORDSNET-15963 | Shape’s text is truncated after conversion from DOC to PDF | Bug |
WORDSNET-18134 | Document.UpdateFields changes table formatting | Bug |
WORDSNET-18904 | RTF to PDF improperly rendered | Bug |
WORDSNET-18737 | The diagonal line in the table’s cell is lost in output PDF | Bug |
WORDSNET-18893 | Shape position is changed after conversion from DOCX to PDF | Bug |
WORDSNET-14280 | DOC to PDF conversion issue with text rendering | Bug |
WORDSNET-13495 | AW improperly works with surrogate pairs | Bug |
WORDSNET-15183 | Convert OO ODT document to PDF - checkbox frame missing | Bug |
WORDSNET-15770 | The last two lines moved to another page. | Bug |
WORDSNET-18715 | ToC is indented differently by Aspose.Words vs MS Word | Bug |
WORDSNET-18617 | The table is rendered outside the page at the right side in output HTMLFixed/PNG | Bug |
WORDSNET-18622 | HTML to DOCX - table columns get squeezed | Bug |
WORDSNET-17945 | DOCX to HTML conversion issue with table | Bug |
WORDSNET-18469 | The issue with list numbering | Bug |
WORDSNET-18925 | An unexpected increase of paragraph left indent on assigning ListFormat.ListId | Bug |
WORDSNET-18797 | Hebrew content disappears when converting an RTF | Bug |
WORDSNET-18807 | Position of data labels is different after conversion to PDF | Bug |
WORDSNET-18946 | System.NotImplementedException occurs on attempt to get VbaProject | Bug |
WORDSNET-17520 | Unordered lists retain bullets if bootstrap CSS is linked | Bug |
WORDSNET-18820 | System.InvalidCastException occurs upon loading an RTF | Bug |
WORDSNET-18600 | Chart data labels do not show Percentage and value after the update | Bug |
WORDSNET-18922 | ListFormat.ListLevel returns null for a paragraph with revision | Bug |
WORDSNET-18958 | Wrong numbering after documents import | Bug |
WORDSNET-18959 | The issue with StructuredDocumentTag comparison. | Bug |
WORDSNET-17835 | Two identical paragraphs are exported differently when converting to HTML | Bug |
WORDSNET-18761 | List numbering is broken, when the number of list levels is greater than 9, in HTML import | Bug |
WORDSNET-18762 | When list numbering is set with: before pseudo-element, list indent is incorrect in HTML import | Bug |
WORDSNET-16483 | DOCX to PDF conversion issue with text position | Bug |
WORDSNET-18651 | Aspose.Words.Document takes much time to import HTML | Bug |
WORDSNET-18763 | Hebrew number/text become reverse after converting HTML to DOCX/PDF | Bug |
WORDSNET-15838 | Text flow issue in resultant PDF | Bug |
WORDSNET-15209 | Image shifts to next page during DOCX to PDF conversion | Bug |
WORDSNET-9495 | Contents move to next line after conversion from DOC to PDF | Bug |
WORDSNET-14586 | Japanese text does not render correctly in output PDF | Bug |
WORDSNET-18662 | DOCX to PDF: Diagram conversion issue | Bug |
WORDSNET-18558 | The font size of the chart’s data labels is increased when converted DOCX to PDF | Bug |
WORDSNET-18865 | FileFormatUtil.DetectFileFormat(Stream) recognizes some PNG images as Markdown | Bug |
WORDSNET-18682 | Loading HTML file takes too long | Bug |
WORDSNET-18766 | System.ArgumentOutOfRangeException occurs upon saving to PDF | Bug |
WORDSNET-18767 | UserShape appears after conversion to PDF | Bug |
WORDSNET-18750 | Check suspicious code found by PVS studio | Bug |
WORDSNET-14584 | Incorrect table width for an auto-fit table with Japanese text | Bug |
WORDSNET-18869 | Images are not displaying in PDF - .NET Core App - Visual Studio Code - Ubuntu 16.04 | Bug |
WORDSNET-12136 | DOCX to PDF conversion issue with letter spacing | Bug |
WORDSNET-13665 | Kerning for fonts is not supported during rendering | Bug |
WORDSNET-15324 | Chinese text is not rendered correctly in the table’s cell | Bug |
WORDSNET-16023 | DOCX to PDF conversion issue with table position | Bug |
WORDSNET-13515 | Process hangs during converting DOCX to PDF | Bug |
WORDSNET-13877 | Converting DOC to PDF alters table | Bug |
WORDSNET-13533 | Incorrect spacing on a paragraph imported from an HTML altchunk | Bug |
WORDSNET-13466 | The font size of the text inside SmartArt is increased in output DOC/PDF | Bug |
Public API and Backward Incompatible Changes
This section lists public API changes that were introduced in Aspose.Words 19.8. 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 existing behavior is especially important and is documented here.
Implemented an option that allows to specify whether to work with the original or revised version of a document
Related issues: WORDSNET-18903, WORDSNET-18922.
The new public enumeration was added:
/// <summary>
/// Allows to specify whether to work with the original or revised version of a document.
/// </summary>
public enum RevisionsView
Added new public option into Document class:
/// <summary>
/// Gets or sets a value indicating whether to work with the original or revised version of a document.
/// </summary>
/// <remarks>
/// The default value is <b><see cref="Aspose.Words.RevisionsView.Original"/></b>.
/// </remarks>
public RevisionsView RevisionsView
Use Case. Explains how to access the revised version of a document:
Document doc = new Document(@"test.docx");
doc.UpdateListLabels();
// Switch to the revised version of the document.
doc.RevisionsView = RevisionsView.Final;
foreach (Revision revision in doc.Revisions)
{
if (revision.ParentNode.NodeType == NodeType.Paragraph)
{
Paragraph paragraph = (Paragraph)revision.ParentNode;
if (paragraph.IsListItem)
{
// Print revised version of LabelString and ListLevel.
Console.WriteLine(paragraph.ListLabel.LabelString);
Console.WriteLine(paragraph.ListFormat.ListLevel);
}
}
}
WORDSNET-18600 - Implemented API to define default options for data labels of chart series
The following new public properties have been added into the ChartDataLabelCollection class:
/// <summary>
/// Allows to specify whether category name is to be displayed for the data labels of the entire series.
/// Default value is <b>false</b>.
/// </summary>
/// <remarks>
/// Value defined for this property can be overridden for an individual data label with using the
/// <see cref="ChartDataLabel.ShowCategoryName"/> property.
/// </remarks>
public bool ShowCategoryName { get; set; }
/// <summary>
/// Allows to specify whether bubble size is to be displayed for the data labels of the entire series.
/// Applies only to Bubble charts.
/// Default value is <b>false</b>.
/// </summary>
/// <remarks>
/// Value defined for this property can be overridden for an individual data label with using the
/// <see cref="ChartDataLabel.ShowBubbleSize"/> property.
/// </remarks>
public bool ShowBubbleSize { get; set; }
/// <summary>
/// Allows to specify whether legend key is to be displayed for the data labels of the entire series.
/// Default value is <b>false</b>.
/// </summary>
/// <remarks>
/// Value defined for this property can be overridden for an individual data label with using the
/// <see cref="ChartDataLabel.ShowLegendKey"/> property.
/// </remarks>
public bool ShowLegendKey { get; set; }
/// <summary>
/// Allows to specify whether percentage value is to be displayed for the data labels of the entire series.
/// Default value is <b>false</b>.
/// </summary>
/// <remarks>
/// Value defined for this property can be overridden for an individual data label with using the
/// <see cref="ChartDataLabel.ShowPercentage"/> property.
/// </remarks>
public bool ShowPercentage { get; set; }
/// <summary>
/// Returns or sets a Boolean to indicate the series name display behavior for the data labels of the entire series.
/// <b>True</b> to show the series name. <b>False</b> to hide. By default <b>false</b>.
/// </summary>
/// <remarks>
/// Value defined for this property can be overridden for an individual data label with using the
/// <see cref="ChartDataLabel.ShowSeriesName"/> property.
/// </remarks>
public bool ShowSeriesName { get; set; }
/// <summary>
/// Allows to specify whether values are to be displayed in the data labels of the entire series.
/// Default value is <b>false</b>.
/// </summary>
/// <remarks>
/// Value defined for this property can be overridden for an individual data label with using the
/// <see cref="ChartDataLabel.ShowValue"/> property.
/// </remarks>
public bool ShowValue { get; set; }
/// <summary>
/// Allows to specify whether data label leader lines need be shown for the data labels of the entire series.
/// Default value is <b>false</b>.
/// </summary>
/// <remarks>
/// <para>Applies to Pie charts only.
/// Leader lines create a visual connection between a data label and its corresponding data point.</para>
/// <para>Value defined for this property can be overridden for an individual data label with using the
/// <see cref="ChartDataLabel.ShowLeaderLines"/> property.</para>
/// </remarks>
public bool ShowLeaderLines { get; set; }
/// <summary>
/// Allows to specify whether values from data labels range to be displayed in the data labels of the entire series.
/// Default value is <b>false</b>.
/// </summary>
/// <remarks>
/// Value defined for this property can be overridden for an individual data label with using the
/// <see cref="ChartDataLabel.ShowDataLabelsRange"/> property.
/// </remarks>
public bool ShowDataLabelsRange { get; set; }
/// <summary>
/// Gets or sets string separator used for the data labels of the entire series.
/// The default is a comma, except for pie charts showing only category name and percentage, when a line break
/// shall be used instead.
/// </summary>
/// <remarks>
/// Value defined for this property can be overridden for an individual data label with using the
/// <see cref="ChartDataLabel.Separator"/> property.
/// </remarks>
public string Separator { get; set; }
/// <summary>
/// Gets an <see cref="ChartNumberFormat"/> instance allowing to set number format for the data labels of the
/// entire series.
/// </summary>
public ChartNumberFormat NumberFormat { get; set; }
Use Case:
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Shape shape = builder.InsertChart(ChartType.Pie, 432, 252);
Chart chart = shape.Chart;
chart.Series.Clear();
ChartSeries series = chart.Series.Add("Series 1",
new string[] { "Category1", "Category2", "Category3" },
new double[] { 2.7, 3.2, 0.8 });
ChartDataLabelCollection labels = series.DataLabels;
labels.ShowPercentage = true;
labels.ShowValue = true;
labels.ShowLeaderLines = false;
labels.Separator = " - ";
doc.Save(dir + "Demo.docx");