Word文档开发处理工具Aspose.Wordsv21.2发布!(含新功能演示)

coding

Aspose.Words for .Net是一种高级Word文档处理API,用于执行各种文档管理和操作任务。API支持生成,修改,转换,呈现和打印文档,而无需在跨平台应用程序中直接使用Microsoft Word。2021年2月更新来啦,.NET版Aspose.Words更新至v21.2新版本!

主要特点如下:

  • 实现了API以操纵Font对象的主题属性。
  • 添加了在保存时更新CreatedTime属性的选项。
  • 使用新的CustomTimeZoneInfo选项扩展了SaveOptions。
  • 使用新的SmartParagraphBreakReplacement选项扩展了FindReplaceOptions类。
  • 提供了从COM应用程序中的IStream对象加载文档的功能。

>>你可以下载Aspose.Words for .NET v21.2测试体验。

具体更新内容

关键

概括

类别

WORDSNET-21363

支持为LINQ Reporting Engine动态添加组合框和下拉列表项

新功能

WORDSNET-6146

允许从OLE对象提取可见的纯文本

新功能

WORDSNET11848

添加保存选项以模仿MS Word行为或不模仿创建,修改和打印日期

新功能

WORDSNET-6125

添加选项以将文档中的图像导出为SVG格式的HTML

新功能

WORDSNET-10148

提供移动到段落中特定字符的能力

新功能

WORDSNET-20863

在Azure上将DOCX转换为PDF时,内容控制日期会更改

新功能

WORDSNET-21639

LegacyMode = false时,Range.Replace引发System.IndexOutOfRangeException

新功能

WORDSNET-21183

将自定义字体样式设置为“链接到主题”字体不起作用

新功能

WORDSNET-20546

ComHelper.Open不会使用Delphi从流中导入RTF

新功能

WORDSNET-20414

PdfDocumentReader插件镜像希伯来语文本

增强功能

WORDSNET-9605

支持DrawingML 3D效果的渲染

增强功能

WORDSNET-15833

改善在MS Word 97中创建的渲染形状线的兼容性

增强功能

WORDSNET-10441

支持Word 6.0 / 95的图形对象

增强功能

WORDSNET-2799

尝试恢复损坏的进口文件

增强功能

WORDSNET-1738

在保存DOCX文件期间优化内存使用

增强功能

WORDSNET-21652

没有将生成器名称写入XamlFixed / XamlFlow / XamlFlowPack / HtmlFixed文档

增强功能

新功能解析

①WORDSNET-11848:添加了新的公共属性SaveOptions.UpdateCreatedTimeProperty

用例如下:

Document doc = new Document(docPath);

SaveOptions saveOptions = new PdfSaveOptions();

saveOptions.UpdateLastPrintedProperty = true;

doc.Save(pdfPath, saveOptions);

②WORDSNET-21183:添加新的公共属性,允许操纵Font对象的主题属性

向Font对象添加了新的公共属性:



还添加了相应的公共枚举:

用例:说明如何创建和使用主题样式。

Document doc = new Document("input.docx");

DocumentBuilder builder = new DocumentBuilder(doc);

builder.MoveToDocumentEnd();

builder.Writeln();

// Create some style with theme font properties.

Style style = doc.Styles.Add(StyleType.Paragraph, "ThemedStyle");

style.Font.ThemeFont = ThemeFont.Major;

style.Font.ThemeColor = ThemeColor.Accent5;

style.Font.TintAndShade = 0.3;

builder.ParagraphFormat.StyleName = "ThemedStyle";

builder.Writeln("Text with themed style");

// Get just inserted run.

Run run = (Run)((Paragraph)builder.CurrentParagraph.PreviousSibling).FirstChild;

Console.WriteLine("Theme color: {0}", run.Font.ThemeColor);

Console.WriteLine("Color: {0}\n", run.Font.Color);

Console.WriteLine("TintAndShade: {0:N2}\n", run.Font.TintAndShade);

Console.WriteLine("Theme font: {0}", run.Font.ThemeFont);

Console.WriteLine("Font: {0}\n", run.Font.Name);

Console.WriteLine("Theme font Ascii: {0}", run.Font.ThemeFontAscii);

Console.WriteLine("Font Ascii: {0}\n", run.Font.NameAscii);

Console.WriteLine("Theme font Bi: {0}", run.Font.ThemeFontBi);

Console.WriteLine("Font Bi: {0}\n", run.Font.NameBi);

Console.WriteLine("Theme font EastAsian: {0}", run.Font.ThemeFontFarEast);

Console.WriteLine("Font EastAsian: {0}\n", run.Font.NameFarEast);

Console.WriteLine("Theme font Other: {0}", run.Font.ThemeFontOther);

Console.Write("Font Other: {0}", run.Font.NameOther);

/*

This code example produces the following results:

Theme color: Accent5

Color: Color [Empty]

TintAndShade: 0.30

Theme font: Major

Font: Calibri Light

Theme font Ascii: Major

Font Ascii: Calibri Light

Theme font Bi: Major

Font Bi: Times New Roman

Theme font EastAsian: Major

Font EastAsian: Times New Roman

Theme font Other: Major

Font Other: Calibri Light

*/

用例:介绍如何通过应用主题字体“无”将非主题字体名称更改为主题字体,反之亦然。

// Create new document with themes.

Document doc = new Document();

doc.Theme.MinorFonts.Latin = "Algerian";

doc.Theme.MinorFonts.EastAsian = "Aharoni";

doc.Theme.MinorFonts.ComplexScript = "Andalus";

// Check original theme font.

Font font = doc.Styles["Normal"].Font;

Console.WriteLine("Originally the Normal style theme font is: {0}\n", font.ThemeFont);

// Apply theme font 'Minor'

font.ThemeFont = ThemeFont.Minor;

Console.WriteLine("'Minor' theme font is applied:");

Console.WriteLine("Theme font: {0}", font.ThemeFont);

Console.WriteLine("Font: {0}\n", font.Name);

Console.WriteLine("Theme font Ascii: {0}", font.ThemeFontAscii);

Console.WriteLine("Font Ascii: {0}\n", font.NameAscii);

Console.WriteLine("Theme font Bi: {0}", font.ThemeFontBi);

Console.WriteLine("Font Bi: {0}\n", font.NameBi);

Console.WriteLine("Theme font EastAsian: {0}", font.ThemeFontFarEast);

Console.WriteLine("Font EastAsian: {0}\n", font.NameFarEast);

Console.WriteLine("Theme font Other: {0}", font.ThemeFontOther);

Console.WriteLine("Font Other: {0}\n\n", font.NameOther);

// Set non-theme font.

font.ThemeFont = ThemeFont.None;

Console.WriteLine("'None' theme font is applied:");

Console.WriteLine("Theme font: {0}", font.ThemeFont);

Console.WriteLine("Font: {0}\n", font.Name);

Console.WriteLine("Theme font Ascii: {0}", font.ThemeFontAscii);

Console.WriteLine("Font Ascii: {0}\n", font.NameAscii);

Console.WriteLine("Theme font Bi: {0}", font.ThemeFontBi);

Console.WriteLine("Font Bi: {0}\n", font.NameBi);

Console.WriteLine("Theme font EastAsian: {0}", font.ThemeFontFarEast);

Console.WriteLine("Font EastAsian: {0}\n", font.NameFarEast);

Console.WriteLine("Theme font Other: {0}", font.ThemeFontOther);

Console.Write("Font Other: {0}\n", font.NameOther);

/*

This code example produces the following results:

Originally the Normal style theme font is: None

'Minor' theme font is applied:

Theme font: Minor

Font: Algerian

Theme font Ascii: Minor

Font Ascii: Algerian

Theme font Bi: Minor

Font Bi: Andalus

Theme font EastAsian: Minor

Font EastAsian: Aharoni

Theme font Other: Minor

Font Other: Algerian

'None' theme font is applied:

Theme font: None

Font: Algerian

Theme font Ascii: None

Font Ascii: Algerian

Theme font Bi: None

Font Bi: Andalus

Theme font EastAsian: None

Font EastAsian: Aharoni

Theme font Other: None

Font Other: Algerian

*/

用例:介绍如何通过应用一些简单的字体名称将非主题字体名称更改为主题字体,反之亦然。

// Create new document with themes.

Document doc = new Document();

doc.Theme.MinorFonts.Latin = "Algerian";

doc.Theme.MinorFonts.EastAsian = "Aharoni";

doc.Theme.MinorFonts.ComplexScript = "Andalus";

// Check original theme font.

Font font = doc.Styles["Normal"].Font;

Console.WriteLine("Originally the Normal style theme font is: {0}\n", font.ThemeFont);

// Apply theme font 'Minor'

font.ThemeFont = ThemeFont.Minor;

Console.WriteLine("'Minor' theme font is applied:");

Console.WriteLine("Theme font: {0}", font.ThemeFont);

Console.WriteLine("Font: {0}\n", font.Name);

Console.WriteLine("Theme font Ascii: {0}", font.ThemeFontAscii);

Console.WriteLine("Font Ascii: {0}\n", font.NameAscii);

Console.WriteLine("Theme font Bi: {0}", font.ThemeFontBi);

Console.WriteLine("Font Bi: {0}\n", font.NameBi);

Console.WriteLine("Theme font EastAsian: {0}", font.ThemeFontFarEast);

Console.WriteLine("Font EastAsian: {0}\n", font.NameFarEast);

Console.WriteLine("Theme font Other: {0}", font.ThemeFontOther);

Console.WriteLine("Font Other: {0}\n\n", font.NameOther);

// Set non-theme font name.

font.Name = "Arial";

Console.WriteLine("Non-themed font name is applied:");

Console.WriteLine("Theme font: {0}", font.ThemeFont);

Console.WriteLine("Font: {0}\n", font.Name);

Console.WriteLine("Theme font Ascii: {0}", font.ThemeFontAscii);

Console.WriteLine("Font Ascii: {0}\n", font.NameAscii);

Console.WriteLine("Theme font Bi: {0}", font.ThemeFontBi);

Console.WriteLine("Font Bi: {0}\n", font.NameBi);

Console.WriteLine("Theme font EastAsian: {0}", font.ThemeFontFarEast);

Console.WriteLine("Font EastAsian: {0}\n", font.NameFarEast);

Console.WriteLine("Theme font Other: {0}", font.ThemeFontOther);

Console.Write("Font Other: {0}", font.NameOther);

/*

This code example produces the following results:

Originally the Normal style theme font is: None

'Minor' theme font is applied:

Theme font: Minor

Font: Algerian

Theme font Ascii: Minor

Font Ascii: Algerian

Theme font Bi: Minor

Font Bi: Andalus

Theme font EastAsian: Minor

Font EastAsian: Aharoni

Theme font Other: Minor

Font Other: Algerian

Non-themed font name is applied:

Theme font: None

Font: Arial

Theme font Ascii: None

Font Ascii: Arial

Theme font Bi: None

Font Bi: Arial

Theme font EastAsian: None

Font EastAsian: Arial

Theme font Other: None

Font Other: Arial

*/

用例:说明如何通过应用主题字体颜色“无”将非主题颜色更改为主题颜色,反之亦然。

Document doc = new Document();

// Check original theme color.

Font font = doc.Styles["Normal"].Font;

Console.WriteLine("Originally the Normal style theme color is: {0} and RGB color is: {1}\n", font.ThemeColor, font.Color);

// Apply theme color.

font.ThemeColor = ThemeColor.Accent2;

Console.WriteLine("'Accent2' theme color is applied:");

Console.WriteLine("Theme color: {0}", font.ThemeColor);

Console.WriteLine("RGB color: {0}\n", font.Color);

// Set theme color back to 'None'.

font.ThemeColor = ThemeColor.None;

Console.WriteLine("Theme color 'None' is applied:");

Console.WriteLine("Theme color: {0}", font.ThemeColor);

Console.WriteLine("RGB color: {0}", font.Color);

/*

This code example produces the following results:

Originally the Normal style theme color is: None and RGB color is: Color [Empty]

'Accent2' theme color is applied:

Theme color: Accent2

RGB color: Color [Empty]

Theme color 'None' is applied:

Theme color: None

RGB color: Color [Empty]

*/

用例:说明如何通过应用一些简单的RGB颜色将非主题字体名称更改为主题字体名称,反之亦然。

Document doc = new Document();

// Check original theme color.

Font font = doc.Styles["Normal"].Font;

Console.WriteLine("Originally the Normal style theme color is: {0} and RGB color is: {1}\n", font.ThemeColor, font.Color);

// Apply theme color.

font.ThemeColor = ThemeColor.Accent2;

Console.WriteLine("'Accent2' theme color is applied:");

Console.WriteLine("Theme color: {0}", font.ThemeColor);

Console.WriteLine("RGB color: {0}\n", font.Color);

// Set simple RGB color.

font.Color = Color.Blue;

font.ThemeColor = ThemeColor.None;

Console.WriteLine("RGB color is applied:");

Console.WriteLine("Theme color: {0}", font.ThemeColor);

Console.WriteLine("RGB color: {0}", font.Color);

/*

This code example produces the following results:

Originally the Normal style theme color is: None and RGB color is: Color [Empty]

'Accent2' theme color is applied:

Theme color: Accent2

RGB color: Color [Empty]

RGB color is applied:

Theme color: None

RGB color: Color [A=255, R=0, G=0, B=255]

*/

用例:说明如何使用Font.TintAndShade属性。

Document doc = new Document();

Font font = doc.Styles["Normal"].Font;

font.ThemeColor = ThemeColor.Accent6;

font.TintAndShade = -0.25;

Console.WriteLine("TintAndShade is set to {0:N2}", font.TintAndShade);

Console.WriteLine("Theme color: {0}", font.ThemeColor);

Console.WriteLine("RGB color: {0}", font.Color);

/*

This code example produces the following results:

TintAndShade is set to -0.25

Theme color: Accent6

RGB color: Color [Empty]

*/

③WORDSNET-21329:添加新的公共属性FindReplaceOptions.SmartParagraphBreakReplacement

向FindReplaceOptions对象添加了一个新的公共属性:

用例:说明如何使用SmartParagraphBreakReplacement属性。

Document doc = new Document();

DocumentBuilder builder = new DocumentBuilder(doc);

// Create two tables with paragraph and inner table in first cell:

// ┌───────────────────────┐

// │ TEXT1¶ │

// │ ┌───────────────────┐ │

// │ |¶ | |

// | └───────────────────┘ │

// └───────────────────────┘

// ┌───────────────────────┐

// │ TEXT2¶ │

// │ ┌───────────────────┐ │

// │ |¶ | |

// | └───────────────────┘ │

// └───────────────────────┘

builder.StartTable();

builder.InsertCell();

builder.Write("TEXT1");

builder.StartTable();

builder.InsertCell();

builder.EndTable();

builder.EndTable();

builder.Writeln();

builder.StartTable();

builder.InsertCell();

builder.Write("TEXT2");

builder.StartTable();

builder.InsertCell();

builder.EndTable();

builder.EndTable();

builder.Writeln();

FindReplaceOptions options = new FindReplaceOptions();

// When the following option is set to 'true',

// Aspose.Words will remove paragraph's text completely with its paragraph mark.

options.SmartParagraphBreakReplacement = true;

doc.Range.Replace(new Regex(@"TEXT1&p"), "", options);

// But if the option is set to 'false',

// Aspose.Words will mimic Word and remove only paragraph's text and leaves the paragraph mark intact.

options.SmartParagraphBreakReplacement = false;

doc.Range.Replace(new Regex(@"TEXT2&p"), "", options);

doc.Save("out.docx");

// This code example produces the following results:

// ┌───────────────────────┐

// │ ┌───────────────────┐ │

// │ |¶ | |

// | └───────────────────┘ │

// └───────────────────────┘

// ┌───────────────────────┐

// │ ¶ │

// │ ┌───────────────────┐ │

// │ |¶ | |

// | └───────────────────┘ │

// └───────────────────────┘


如果您有任何疑问或需求,请随时加入Aspose技术交流群(761297826),我们很高兴为您提供查询和咨询

以上是 Word文档开发处理工具Aspose.Wordsv21.2发布!(含新功能演示) 的全部内容, 来源链接: utcz.com/z/509832.html

回到顶部