Aspose.Words for Java是功能丰富的Word处理API,允许开发人员在不使用Microsoft Word的情况下嵌入在自己的Java应用程序中生成,修改,转换,呈现和打印文档的功能。
很高兴与大家分享Java平台的Aspose.Words迎来了2020.4月更新,该版本具有.NET版同样的7大新升级体验,包括Java平台现在支持OpenGL渲染,日志记录系统已更新和改进,图表数据标签和系列的扩展API等等。本文将用示例为大家演示这些新功能,帮助你快速上手。
主要特点
Java平台现在支持OpenGL渲染(使用外部库)。
日志记录系统已更新和改进。
Sonarqube测试通过。
提供了更改亚洲段落间距和缩进的功能。
为PDF渲染添加了图像插值选项(新的公共属性PdfSaveOptions.InterpolateImages)。
添加了新的模式3D形状渲染。
图表数据标签和系列的扩展API。
增加了更改亚洲段落间距和缩进的功能
添加了以下ParagraphFormat属性:
用例(.NET)
请注意,设置单位的缩进和间距将更新适当的公共缩进或间距属性。例如,设置ParagraphFormat.CharacterUnitLeftIndent将更新ParagraphFormat.LeftIndent。
Document doc = new Document()
ParagraphFormat format = doc.FirstSection.Body.FirstParagraph.ParagraphFormat;
format.CharacterUnitLeftIndent = 10; // ParagraphFormat.LeftIndent will be updated
format.CharacterUnitRightIndent = 10; // ParagraphFormat.RightIndent will be updated
format.CharacterUnitFirstLineIndent = 20; // ParagraphFormat.FirstLineIndent will be updated
format.LineUnitBefore = 5; // ParagraphFormat.SpaceBefore will be updated
format.LineUnitAfter= 10; // ParagraphFormat.SpaceAfter will be updated
添加了新模式的3D形状渲染
添加了新的公共属性SaveOptions.Dml3DEffectsRenderingMode :
用例(.NET)
Document doc = new Document(docPath);
SaveOptions saveOptions = new PdfSaveOptions();
saveOptions.Dml3DEffectsRenderingMode = Dml3DEffectsRenderingMode.Advanced;
doc.Save(pdfPath, saveOptions);
请注意:为了使“高级”模式正常工作,必须将系统中的比例设置为100%。下表显示了两种模式之间的差异:
添加了一个选项,允许客户指定比较粒度
添加了以下属性:
用例(.NET)
DocumentBuilder builderA = new DocumentBuilder(new Document());
DocumentBuilder builderB = new DocumentBuilder(new Document());
builderA.Writeln("This is A simple word");
builderB.Writeln("This is B simple words");
CompareOptions co = new CompareOptions();
co.Granularity = Granularity.CharLevel;
builderA.Document.Compare(builderB.Document, "author", DateTime.Now, co);
添加了用于设置浮动表定位的功能(HorizontalAnchor和VerticalAnchor)
用于以下属性的设置器已添加到Table类中:
注意,HorizontalAnchor设置器中仅允许使用以下值。对于任何其他值,将引发ArgumentException。
注意,VerticalAnchor设置器中仅允许使用以下值。对于任何其他值,将引发ArgumentException。
用例(.NET)
Document doc = new Documnet(file_with_table);
Table table = doc.FirstSection.Body.Tables[0];
table.HorizontalAnchor = RelativeHorizontalPosition.Column;
table.VerticalAnchor = RelativeVerticalPosition.Page;
为PDF渲染添加了图像插值选项
为PDF渲染添加了图像插值选项,可以通过PdfSaveOptions.InterpolateImages属性指定。
用例(.NET)
Document doc = new Document(docPath);
PdfSaveOptions saveOptions = new PdfSaveOptions();
saveOptions.InterpolateImages = true;
doc.Save(pdfPath, saveOptions);
图表数据标签和系列的API的更改
图表数据标签API中的以下更改已实现(WORDSNET-19124):
属性HasDataLabels已添加到ChartSeries类。
方法ClearFormat已添加到ChartDataLabelCollection类。
ChartDataLabelCollection类的Count属性返回一系列系列的所有数据标签,而不仅仅是像以前版本的软件那样具有非默认格式的数据标签。
Add,RemoveAt和Clear方法已标记为过时。设置Series.HasDataLabels = true之后,该集合现在包含该系列的所有数据标签,并且无需向其添加标签。方法RemoveAt和Clear实际上将数据标签的格式重置为ChartDataLabelCollection对象的属性中定义的默认值。现在应改为使用ChartDataLabel.ClearFormat和ChartDataLabelCollection.ClearFormat方法。
方法ClearFormat已添加到ChartDataLabel类。
属性IsHidden已添加到ChartDataLabel类。
public class ChartSeries
{
///
/// Gets or sets a flag indicating whether data labels are displayed for the series.
///
public bool HasDataLabels { get; set; }
}
public class ChartDataLabelCollection
{
///
/// Adds new at the specified index.
///
[Obsolete("When ChartSeries.HasDataLabels is 'true', all data labels are available in this collection.")]
public ChartDataLabel Add(int index);
///
/// Clears format of a at the specified index.
///
[Obsolete("Use the ChartDataLabel.ClearFormat method instead.")]
public void RemoveAt(int index);
///
/// Clears format of all in this collection.
///
[Obsolete("Use the ClearFormat method instead.")]
public void Clear();
///
/// Clears format of all in this collection.
///
public void ClearFormat();
}
public class ChartDataLabel
{
///
/// Clears format of this data label. The properties are set to the default values defined in the parent data label collection.
///
public void ClearFormat();
///
/// Gets/sets a flag indicating whether this label is hidden.
/// The default value is false.
///
public bool IsHidden { get; set; }
}
用例(.NET)
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Shape shape = builder.InsertChart(ChartType.Line, 432, 252);
Chart chart = shape.Chart;
// Delete default generated series.
chart.Series.Clear();
ChartSeries series1 = chart.Series.Add("Series 1",
new string[] { "Category 1", "Category 2", "Category 3" },
new double[] { 1, 5, 4 });
series1.HasDataLabels = true;
series1.DataLabels.ShowValue = true;
series1.DataLabels[1].ShowCategoryName = true;
series1.DataLabels[1].ShowValue = true;
series1.DataLabels[2].IsHidden = true;
doc.Save(dir + "DataLabels.docx");
在ECMA376和ISO29500标准文档之间实现了多个PageBorderArt名称的相互转换
实验表明,“ Tribal *” 边框艺术样式与ISO29500特定边框艺术样式之间存在相互对应关系,范围从 “ Triangle1 ”到“ Shapes2 ”。在此版本中,根据下表实现了所提到的BorderArt样式名称的直接转换:
Aspose是目前国内外非常火爆且功能强大的文件格式敏捷开发控件,但因为产品众多、技术问题复杂等因素,也常常遭受开发人员吐槽。如果您也正在使用Aspose相关产品,点击下方按钮,来谈谈Aspose的优劣,您的感受对我们相当宝贵哦~
标签:
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,尊重他人劳动成果
0
好文不易,鼓励一下吧!