彩票走势图

支持显式设置编码Charset和BOM!Java版文档管理利器Aspose.Words v20.7发布!用例解析5大新功能!

原创|产品更新|编辑:李显亮|2020-07-20 10:30:34.513|阅读 238 次

概述:Aspose.Words for Java更新至新版本v20.7,支持显式设置编码Charset和BOM,添加新节点以处理多节结构化文档标签,改进了SmartArt冷渲染的性能,修复诸多Bug问题,欢迎下载体验。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

随着.NET版Aspose.Words for .Net v20.7的发布,Java版也随之更新,除了一些通用功能外,也独有新改善。

主要特点如下:

  • 通过TxtSaveOptions.setEncoding(Charset)显式设置编码Charset和BOM。
  • 添加了新节点以处理多节结构化文档标签。
  • 添加了一个新的公共属性MailMerge.RetainFirstSectionStart。
  • RevisionOptions类扩展了新的属性。
  • 改进了SmartArt冷渲染的性能。

>>你可以点击这里下载Aspose.Words for Java v20.7测试体验

文档管理利器Aspose.Words

具体更新内容

key 概述 类别
WORDSJAVA-2327 通过TxtSaveOptions.setEncoding(Charset)显式设置编码Charset和BOM的用户选项 新功能
WORDSJAVA-2416 更新第三方软件版本,许可协议等。 新功能
WORDSNET-9500 国际字符(泰米尔语)不能正确地从MHTML转换为PDF 新功能
WORDSNET-7150 SDT控件在打开/保存过程中丢失 新功能
WORDSNET-9501 国际字符(泰卢固语)未正确从MHTML转换为PDF 新功能
WORDSNET-5713 包含分节符的StructuredDocumentTag在加载时丢失 新功能
WORDSNET-20589 PDF到DOCX-脚注 新功能
WORDSNET-20480 提供属性以在邮件合并期间启用“严格MS Word行为合规性” 新功能
WORDSNET-9908 通过分节符保留RichText内容控件 新功能
WORDSNET-6773 设置AllowBreakAcrossPages = False时截断大于页面大小的行内容 增强功能
WORDSNET-20415 通过轨道更改将DOCX转换为PDF时保持修订条 增强功能
WORDSNET-18609 一行移至PDF的上一页 增强功能
完整更新细则请参考:【Aspose.Words for Java v20.7更新说明】

公共API更改

①添加了新的公共属性MailMerge.RetainFirstSectionStart

/// <summary>
/// Gets or sets a value indicating whether the <see cref="PageSetup.SectionStart"/> of the first document section and its copies for subsequent data source rows
/// are retained during mail merge or updated according to MS Word behaviour.
/// </summary>
/// <remarks>
/// The default value is <b>true</b>.
/// </remarks>
publicboolRetainFirstSectionStart {get;set; }

用例:

Document document = new Document(path);
document.MailMerge.RetainFirstSectionStart = false;
document.MailMerge.Execute(dataSource);

②添加新值到公共枚举WarningSource

...
/// <summary>
/// Module that reads/writes Markdown files.
/// </summary>
Markdown

用例:

Document doc = TestUtil.Open("input.docx");
  
WarningInfoCollection warnings = new WarningInfoCollection();
doc.WarningCallback = warnings;
doc.Save("output.md");
  
foreach (WarningInfo warningInfo in warnings)
{
    if (warningInfo.Source == WarningSource.Markdown)
        Console.WriteLine(warningInfo.Description);
}

③在RevisionOptions中添加了公共属性MeasurementUnit

/// <summary>
/// Allows to specify the measurement unit for revision comments.
/// Default value for this property is <see cref="MeasurementUnits.Centimeters"/>
/// </summary>
publicMeasurementUnits MeasurementUnit

另外,添加了新的公共枚举:

/// <summary>
/// Specifies a the unit of measurement.
/// </summary>
publicenumMeasurementUnits
{
    /// <summary>
        /// Inches.
        /// </summary>
        Inches = 0,
  
        /// <summary>
        /// Centimeters.
        /// </summary>
        Centimeters = 1,
  
        /// <summary>
        /// Millimeters.
        /// </summary>
        Millimeters = 2,
  
        /// <summary>
        /// Points.
        /// </summary>
        Points = 3,
  
        /// <summary>
        /// Picas (commonly used in traditional typewriter font spacing).
        /// </summary>
    Picas = 4
}

用例:

Document doc = new Document(myDir +"Input.docx");
  
doc.LayoutOptions.RevisionOptions.MeasurementUnit = MeasurementUnits.Inches;
doc.LayoutOptions.RevisionOptions.ShowInBalloons = ShowInBalloons.FormatAndDelete;
doc.LayoutOptions.ShowComments = true;
  
doc.Save(myDir +"Output.pdf");

④在RevisionOptions中添加了公共属性RevisionBarsPosition

/// <summary>
/// Gets or sets rendering position of revision bars.
/// Default value is <see cref="HorizontalAlignment.Outside"/>.
/// </summary>
/// <remarks>Values of <see cref="HorizontalAlignment.Center"/> and <see cref="HorizontalAlignment.Inside"/>
/// are not allowed and will cause <see cref="ArgumentOutOfRangeException"/>.</remarks>

用例:

Document doc = new Document(myDir +"Input.docx");
  
//Renders revision bars on the right side of a page.
doc.LayoutOptions.RevisionOptions.RevisionBarsPosition = HorizontalAlignment.Right;
doc.Save(myDir +"Output.pdf");

⑤添加了两个新节点来处理多节的结构化文档标签

publicclassStructuredDocumentTagRangeStart : Node
{
    /// <summary>
    /// Gets the type of this node.
    /// </summary>
    publicNodeType NodeType { get; }
  
    /// <summary>
    /// Gets the level at which this <b>SDT range start</b> occurs in the document tree.
    /// </summary>
    publicMarkupLevel Level { get; }
  
    /// <summary>
    /// Gets type of this <b>Structured document tag</b>.
    /// </summary>
    publicSdtType SdtType { get; }
  
    /// <summary>
    /// <para>Specifies a unique read-only persistent numerical Id for this <b>SDT</b>.</para>
    /// </summary>
    publicintId { get; }
  
    /// <summary>
    /// When set to true, this property will prohibit a user from deleting this <b>SDT</b>.
    /// </summary>
    publicboolLockContentControl { get; }
  
    /// <summary>
    /// When set to true, this property will prohibit a user from editing the contents of this <b>SDT</b>.
    /// </summary>
    publicboolLockContents { get; }
  
    /// <summary>
    /// Specifies whether the content of this <b>SDT</b> shall be interpreted to contain placeholder text
    /// (as opposed to regular text contents within the SDT).
    /// </summary>
    publicboolIsShowingPlaceholderText { get; }
  
    /// <summary>
    /// Specifies a tag associated with the current SDT node.
    /// </summary>
    publicstringTag { get; }
  
    /// <summary>
    /// Specifies the friendly name associated with this <b>SDT</b>.
    /// </summary>
    publicstringTitle { get; }
  
    /// <summary>
    /// Specifies end of range if the StructuredDocumentTag is a ranged structured document tag.
    /// </summary>
    publicStructuredDocumentTagRangeEnd RangeEnd { get; }
}
  
publicclassStructuredDocumentTagRangeEnd : Node
{
    /// <summary>
    /// Gets the type of this node.
    /// </summary>
    publicNodeType NodeType { get; }
  
    /// <summary>
    /// Specifies a unique read-only persistent numerical Id for this structured document tag node.
    /// Corresponding range start node has the same Id.
    /// </summary>
    publicintId { get; }
}

用例:

Document doc = new Document("document containing multi-section SDT");
Listtags =
                doc.GetChildNodes(NodeType.StructuredDocumentTagRangeStart, true).ToList();
  
foreach(StructuredDocumentTagRangeStart tag in tags)
    Console.WriteLine(tag.Title);

Aspose是目前国内外非常火爆且功能强大的文件格式敏捷开发控件,但因为产品众多、技术问题复杂等因素,也常常遭受开发人员吐槽。如果您也正在使用Aspose相关产品,点击下方按钮,来谈谈Aspose的优劣,或直接咨询在线客服~


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP