很高兴与大家分享Java平台的Aspose.Words最新版v19.11实现了另一个里程碑,该版本在基于Unix的操作系统上支持Harfbuzz Shaper插件,并使开发人员能够使用Web扩展,自定义水平格式规则形状等。接下来,我们一起来聊聊新版本的新功能。
Aspose.Words for Java(点击下载)是功能丰富的Word处理API,允许开发人员在不使用Microsoft Word的情况下嵌入在自己的Java应用程序中生成,修改,转换,呈现和打印文档的功能。
主要特点
- 基于Unix的操作系统支持Harfbuzz Shaper插件。
- 提供了与Web扩展一起使用的功能,新类允许自定义元素和属性,以扩展Office加载项表示形式的XML词汇表。
- 添加了自定义水平尺形状的格式的功能。
- 设置了“使用打印机指标”选项时,改进了字符间距计算。
- 宏支持得到改善。
Web扩展元素的支持
Aspose.Words API提供了WebExtensions命名空间,该命名空间提供了各种类来定制元素和属性,这些元素和属性扩展了XML词汇表以表示Office加载项。现在,可以使用Aspose.Words for Java 与Office加载项和Web Extensions中的任务窗格一起使用。为此,新版本提供了新的TaskPane类,TaskPaneCollection类,TaskPaneDockState枚举,Document.WebExtensionTaskPanes属性等。
以下代码示例演示如何创建具有基本属性的任务窗格并将其添加到Web扩展任务窗格。
Document doc = new Document(); TaskPane taskPane = new TaskPane(); doc.getWebExtensionTaskPanes().add(taskPane); taskPane.setDockState(TaskPaneDockState.RIGHT); taskPane.isVisible(true); taskPane.setWidth(300); taskPane.getWebExtension().getReference().setId("wa102923726"); taskPane.getWebExtension().getReference().setVersion("1.0.0.0"); taskPane.getWebExtension().getReference().setStoreType(WebExtensionStoreType.OMEX); taskPane.getWebExtension().getReference().setStore("th-TH"); taskPane.getWebExtension().getProperties().add(new WebExtensionProperty("mailchimpCampaign", "mailchimpCampaign")); taskPane.getWebExtension().getBindings().add(new WebExtensionBinding("UnnamedBinding_0_1506535429545", WebExtensionBindingType.TEXT, "194740422")); doc.save(dataDir + "output.docx", SaveFormat.DOCX);
自定义水平规则形状的格式
Aspose.Words for Java API现在提供Shape.HorizontalRuleFormat属性,以访问水平规则形状的属性。该HorizontalRuleFormat类暴露,如基本的性能高度,颜色,NoShade等下面的代码示例演示了如何设置HorizontalRuleFormat格式化水平线。
DocumentBuilder builder = new DocumentBuilder(); Shape shape = builder.insertHorizontalRule(); HorizontalRuleFormat horizontalRuleFormat = shape.getHorizontalRuleFormat(); horizontalRuleFormat.setAlignment(HorizontalRuleAlignment.CENTER); horizontalRuleFormat.setWidthPercent(70); horizontalRuleFormat.setHeight(3); horizontalRuleFormat.setColor(Color.BLUE); horizontalRuleFormat.setNoShade(true); builder.getDocument().save("HorizontalRuleFormat.docx");