Aspose.Words For .Net是一种高级Word文档处理API,用于执行各种文档管理和操作任务。API支持生成,修改,转换,呈现和打印文档,而无需在跨平台应用程序中直接使用Microsoft Word。此外,API支持所有流行的Word处理文件格式,并允许将Word文档导出或转换为固定布局文件格式和最常用的图像/多媒体格式。
在最新更新的Aspose.Words For .Net v19.6中,添加了非常有趣的特性——从文档中读取宏、控制保存文档时压缩元文件的行为、处理表样式、宽单元格转换为水平合并单元格。下面我们逐一为大家来阐述每一个特性。
【下载Aspose.Words for .NET最新试用版】
压缩图元文件
当您使用MS Word保存Word文档时,所有元文件在默认情况下都会被压缩,无论大小如何。但是,Aspose.Words仅压缩大尺寸元文件。由于性能原因,小尺寸元文件不会被压缩。从Aspose.Words 19.6开始,添加了新功能,允许用户使用新的公共属性DocSaveOptions.AlwaysCompressMetafiles选择适当的行为。当此属性具有true值时,无论其大小如何,所有元文件都将被压缩。如果为false,则不压缩小元文件。下面的代码示例演示如何使用此属性。
Document doc =
new
Document(dataDir +
"Document.doc"
);
DocSaveOptions saveOptions =
new
DocSaveOptions();
saveOptions.AlwaysCompressMetafiles =
false
;
doc.Save(
"SmallMetafilesUncompressed.doc"
, saveOptions);
|
从文档中读取宏
在这个版本中,新添加了对读取VBA项目源代码的支持。在这个版本中添加了VbaProject、VbaModuleCollection和VbaModule类。下面的代码示例展示了如何从文档中读取VBA宏。
//文档目录的路径。
string dataDir = RunExamples.GetDataDir_LoadingAndSaving();
Document doc =
new
Document(dataDir +
"Document.dot"
);
if
(doc.VbaProject !=
null
)
{
foreach (VbaModule module
in
doc.VbaProject.Modules)
{
Console.WriteLine(module.SourceCode);
}
}
|
使用表格样式
您可以使用MS Word中的表格样式更改表格的格式。使用表格样式,您可以更改表格的外观,例如边框,阴影,对齐,文本字体等。在此版本的Aspose.Words中,新的公共属性已添加到TableStyle类中。新版本已经实现了新的公共类型ConditionalStyleCollection,ConditionalStyle和ConditionalStyleType。
添加了公共方法Table.ConvertToHorizontallyMergedCells
MS Word使用两种众所周知的技术在表格中实现水平合并的单元格。第一个是合并标志,如Cell.CellFormat.HorizontalMerge,但根据最新的MS Word行为看起来这种方式不再使用,MS Word只是不写合并标志。相反,MS Word使用另一种技术,其中单元格的宽度水平合并。
因此,当单元格按其宽度水平合并时——没有合并标志,当然,也没有方法使用合并标志来检测哪些单元格被合并。因此,添加了一个新的公共方法来将宽度水平合并的单元格转换为标记水平合并的单元格。
删除了Range.Replace的过时方法
在此版本中删除了以下Range.Replace方法。
public
int
Replace(string pattern, string replacement)
public
int
Replace(string pattern, string replacement, FindReplaceOptions options)
public
int
Replace(Regex pattern, string replacement)
public
int
Replace(Regex pattern, string replacement, FindReplaceOptions options)
|
License.IsLicensed被标记为已过时
从Aspose.Words 19.6开始,License.IsLicensed属性被标记为已过时。将在以后的版本中删除它。
// Returns true if a valid license has been applied; false if the component is running in evaluation mode.
///[Obsolete("This property is obsolete. SetLicense() method raises an exception if license is invalid.")]
public
bool IsLicensed
|
*如有更多疑惑和资源需求可加入ASPOSE控件讨论QQ群(642018183),与大神们一起交流讨论!