我们很高兴地宣布 Spire.Office 11.1.0 正式发布。在这个版本中,Spire.Doc 支持在 Word 文件中创建和操作 VBA 宏;Spire.XLS 支持将指定的单元格区域转换为 HTML;Spire.Presentation 支持基于正则表达式匹配结果对文本进行高亮显示;Spire.PDF 支持将文件保存为 PDF 2.0 版本。此外,本次更新还成功修复了大量已知问题。
该版本涵盖了最新版的 Spire.Doc、Spire.PDF、Spire.XLS、Spire.Presentation、Spire.Barcode、Spire.DocViewer、Spire.PDFViewer 和 Spire.Email。
版本信息如下:
- Spire.Doc.dll v14.1.12
- Spire.PDF.dll v12.1.6
- Spire.XLS.dll v16.1.4
- Spire.Presentation.dll v11.1.1
- Spire.Barcode.dll v7.5.0
- Spire.Email.dll v6.8.0
- Spire.DocViewer.Forms.dll v8.9.5
- Spire.PdfViewer.Asp.dll v8.2.9
- Spire.PdfViewer.Forms.dll v8.2.9
- Spire.Spreadsheet.dll v7.5.3
- Spire.OfficeViewer.Forms.dll v8.8.1
获取Spire.Office 11.1.0,请点击:
https://www.e-iceblue.cn/Downloads/Spire-Office-NET.html
Spire.Doc
新功能:
- 支持在转换Word到HTML时,配置转换公式到MathML。
- 支持删除指定页面以及空白页面。
- 支持创建和操作 VBA 宏。
- 新增 GetRevisionInfos() 方法,用于获取文档的完整修订记录信息。
HtmlExportOptions options = doc.HtmlExportOptions;
options.OfficeMathOutputMode = HtmlOfficeMathOutputMode.MathML;
doc.RemoveBlankPages(); //删除空白页
doc.RemovePages(new List {0,1,3});//删除指定页
Document doc = new Document();
doc.AddSection().AddParagraph().AppendText("wertyuiop[]fghjk");
//添加VBA项目到文档
VbaProject vbaProject = new VbaProject();
vbaProject.Name = "SampleVBAMacro";
doc.VbaProject = vbaProject;
//将模块添加到VBA项目
//模块1
VbaModule vbaModule1 = doc.VbaProject.Modules.Add("SampleModule1", VbaModuleType.StdModule);
vbaModule1.SourceCode = @"
Sub DocumnetInfo()
MsgBox ""create time: "" &Now()
MsgBox ""Pages:"" & ActiveDocument.Range.ComputeStatistics(wdStatisticPages)
End Sub
Sub WriteHello()
Selection.TypeText Text:=""Hello World!""
End Sub";
//模块2
VbaModule vbaModule2 = doc.VbaProject.Modules.Add("SampleModule2", VbaModuleType.StdModule);
vbaModule2.SourceCode = @"
Sub InsertCurrentDate()
Selection.TypeText Text:=Format(Now(),""yyyy-mm-dd hh:mm:ss"")
End Sub
Sub IndentParagraph()
Selection.ParagraphFormat.LeftIndent = InchesToPoints(0.5)
End Sub";
doc.SaveToFile("result.docm", FileFormat.Docm);
doc.Close();
Document doc = new Document();
doc.LoadFromFile("input.docx");
StringBuilder sb = new StringBuilder();
RevisionInfoCollection revisionInfoCollection = doc.GetRevisionInfos();
foreach (RevisionInfo revisionInfo in revisionInfoCollection)
{
sb.AppendLine("[author]:" + revisionInfo.Author + "\r\n" + " [RevisionType]:" + revisionInfo.RevisionType + "\r\n" + " [DateTime]:" + revisionInfo.DateTime.ToString() + "\r\n" + " [OwnerObject]:" + revisionInfo.OwnerObject + "\r\n" + " [OwnerObject.Owner]:" + revisionInfo.OwnerObject.Owner + "\r\n");
if (revisionInfo.OwnerObject is TextRange textRange)
{
TextRange range = (TextRange)textRange;
sb.AppendLine($"作用对象:文本范围 - 内容:{range.Text}");
}
}
File.WriteAllText(outputFile, sb.ToString());
doc.Dispose();
问题修复:
- 修复了转换Word到PDF,程序挂起的问题。
- 修复了添加多行水印,分行不正确的问题。
- 修复了更新目录域不成功的问题。
- 修复了转换Markdown到Word,结果不正确的问题。
- 修复了使用“\r\n”添加多行文本,保存文档耗时长的问题。
- 修复了添加HTML到Word,多出空白段落的问题。
- 修复了转换Word到HTML, 图片模糊的问题。
- 修复了加载保存RTF,内容不一致的问题。
- 修复了使用 new FixedLayoutDocument(document) 时程序长时间挂起的问题。
- 修复了将 Word 文档转换为 PDF 时程序长时间挂起的问题。
- 修复了获取列表(List)编号时格式不正确的问题。
- 修复了将 Word 文档转换为 PDF 时生成内容不正确的问题。
Spire.XLS
新功能:
- 新增对 BYROW 和 BYCOL 函数的支持。
- 支持转换指定单元格范围到 HTML。
- 支持在复制单元格区域时启用行列转置。
- 支持转换 Excel 到 PDF/UA 标准文件
// 使用BYROW计算每行的平均分
sheet.Range["G2"].Formula = "=BYROW(B2:F2, LAMBDA(row, AVERAGE(row)))";
// 使用BYCOL计算每列的平均值
sheet.Range["B8"].Formula = "=BYCOL(B2:B7, LAMBDA(col, AVERAGE(col)))";
Workbook workbook = new Workbook();
workbook.LoadFromFile(inputFile);
Worksheet sheet = workbook.Worksheets[0];
CellRange cell = sheet.Range["A1:B3"];
string html = cell.HtmlString;
File.WriteAllText(outputFile, html);
CopyRangeOptions options = CopyRangeOptions.Transpose | CopyRangeOptions.All;
sheet["A1:C4"].Copy(sheet["D2:G3"], options);
sheet["A1:B5"].Copy(sheet["D5"], options);
workbook.SaveToFile(outputFile);
Workbook workbook = new Workbook();
workbook.LoadFromFile(inputFile);
workbook.ConverterSetting.PdfConformanceLevel = Spire.Xls.Pdf.PdfConformanceLevel.Pdf_UA1;
workbook.SaveToFile(outputFile, FileFormat.PDF);
workbook.Dispose();
问题修复:
- 修复了删除文档的 OleObject 不成功的问题。
Spire.Presentation
新功能:
- 支持根据正则表达式匹配并高亮文本。
- 修复了转换 PPTX 到 PDF 时部分内容丢失的问题。
- 修复了转换 PPTX 到 PDF 时配置的默认字体不生效的问题。
- 支持获取和设置 PDF 2.0 版本。
- 修复了 PDF 转 Word 效果不正确的问题。
- 修复了 PDF 转 PDF/A-3B 后,从结果文档复制内容不正确的问题。
- 修复了使用 ChromeHtmlConverter 转换 HTML 到 PDF 时,打印页码样式不正确的问题。
- 修复了获取文本框域(Text Box Field)字体属性时,程序抛出 "ArgumentOutOfRangeException" 的问题。
- 优化了添加时间戳时向服务器请求的次数及校验流程。
- 修复了转换 PDF 到图片时,文本颜色不正确的问题。
- 修复了替换文本时,内存未完全释放的问题。
- 修复了转换 PDF 到 PDF/A 或图片后,二维码丢失的问题。
- 修复了加载 XPS 文件时,程序抛出 "ArgumentOutOfRangeException" 异常的问题。
- 修复了在特定条件下提取文本失败的问题。
CopyRegex regex = new Regex(@"\bhello\b");
IAutoShape shape = (IAutoShape)ppt.Slides[0].Shapes[0];
TextHighLightingOptions options = new TextHighLightingOptions();
shape.TextFrame.HighLightRegex(regex, Color.Red, options);
问题修复:
Spire.PDF
新功能:
// 获取
PdfFileInfo info = doc.FileInfo;
PdfVersion version = info.Version;
//设置
doc.FileInfo.Version = PdfVersion.Version2_0;
问题修复:







