我们很高兴地宣布 Spire.Office 10.12.0 正式发布。在这个版本中,Spire.Doc 新增基于 Word 版本的文档兼容性设置;Spire.XLS 支持在 Excel 转 Markdown 时自定义导出选项;Spire.Presentation 支持压缩图片;Spire.PDF 支持设置水平和垂直文本对齐方式。同时,本次更新还修复了一系列已知问题。更多详情如下。
该版本涵盖了最新版的 Spire.Doc、Spire.PDF、Spire.XLS、Spire.Presentation、Spire.Barcode、Spire.DocViewer、Spire.PDFViewer 和 Spire.Email。
版本信息如下:
- Spire.Doc.dll v13.12.6
- Spire.PDF.dll v11.12.7
- Spire.XLS.dll v15.12.2
- Spire.Presentation.dll v10.12.3
- 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 10.12.0,请点击:
https://www.e-iceblue.cn/Downloads/Spire-Office-NET.html
Spire.Doc
新功能:
- 支持设置段落文本的“Horizontal in Vertical”属性。
- Markdown 转 Docx 时,支持从模板文档复制样式。
- 支持双行合一功能,强化 Word 转 PDF 的效果。
- 支持获取样式更改修订。
- 在 Document 类中新增 CompatibilityOptions 属性,用于对文档执行兼容性相关操作。
- 在 Spire.Doc.Settings 命名空间中新增 CompatibilityOptions 类、CompatibilityTypes 枚举以及 WordVersion 枚举。
- 在 CompatibilityOptions 类中新增 OptimizeForWordVersion() 方法,支持通过指定 Word 版本来设置文档兼容性。
Document doc = new Document();
Section section = doc.AddSection();
Spire.Doc.Documents.Paragraph paragraph = section.AddParagraph();
Spire.Doc.Fields.TextRange farEastLayout = paragraph.AppendText("test");
FarEastLayout style = new FarEastLayout();
style.Vertical = true;
farEastLayout.CharacterFormat.FarEastLayout = style;
doc.SaveToFile(outputFile, FileFormat.Docx);
doc.Close();
//Load template documents with existing styles
Document temple = new Document();
temple.LoadFromFile("temple.docx");
//Load markdown file
Document doc = new Document();
doc = new Document(@"Doc.md");
//Copy styles from template documents
doc.CopyStylesFromTemplate(temple);
//Save
doc.SaveToFile(@"Doc.docx", Spire.Doc.FileFormat.Docx2016);
Document doc = new Document();
doc.LoadFromFile(inputFile);
RevisionInfoCollection revisionInfoCollection = doc.GetRevisionInfos();
StringBuilder sb = new StringBuilder();
foreach (RevisionInfo revisionInfo in revisionInfoCollection)
{
if (revisionInfo.RevisionType == RevisionType.FormatChange)
{
if (revisionInfo.OwnerObject is Spire.Doc.Fields.TextRange)
{
TextRange range = (TextRange)revisionInfo.OwnerObject;
sb.AppendLine("TextRange:" + range.Text + "\r\n");
doc.RevisionsView = RevisionsView.Original;
sb.AppendLine("Original style:" + "isBold:" + range.CharacterFormat.Bold + ";" + "TextColor:" + range.CharacterFormat.TextColor + ";HighlightColor:" + range.CharacterFormat.HighlightColor + ";FontName:" + range.CharacterFormat.FontName + ";UnderlineStyle:" + range.CharacterFormat.UnderlineStyle + "\r\n");
doc.RevisionsView = RevisionsView.Final;
sb.AppendLine("Final style:" + "isBold:" + range.CharacterFormat.Bold + ";" + "TextColor:" + range.CharacterFormat.TextColor + ";HighlightColor:" + range.CharacterFormat.HighlightColor + ";FontName:" + range.CharacterFormat.FontName + ";UnderlineStyle:" + range.CharacterFormat.UnderlineStyle + "\r\n");
}
}
}
File.WriteAllText(outputFile, sb.ToString());
doc.Close();
Document doc = new Document();
doc.CompatibilityOptions.UlTrailSpace = false;
doc.CompatibilityOptions.AdjustLineHeightInTable = true;
doc.CompatibilityOptions.SpaceForUL = true;
doc.CompatibilityOptions.ApplyBreakingRules = true;
doc.CompatibilityOptions.DoNotExpandShiftReturn = false;
doc.CompatibilityOptions.OverrideTableStyleFontSizeAndJustification = false;
doc.CompatibilityOptions.DoNotAutofitConstrainedTables = true;
doc.SaveToFile("outputFile");
Document doc = new Document();
doc.LoadFromFile("inputtFile");
Spire.Doc.Settings.CompatibilityOptions options = doc.CompatibilityOptions;
Document doc = new Document();
doc.LoadFromFile(inputFile);
// Set properties
doc.CompatibilityOptions.UlTrailSpace = false;
doc.CompatibilityOptions.AdjustLineHeightInTable = true;
doc.CompatibilityOptions.SpaceForUL = true;
doc.CompatibilityOptions.ApplyBreakingRules = true;
doc.CompatibilityOptions.DoNotExpandShiftReturn = false;
doc.CompatibilityOptions.OverrideTableStyleFontSizeAndJustification = false;
doc.CompatibilityOptions.DoNotAutofitConstrainedTables = true;
// Set FileFormat when saving to preserve effects
doc.SaveToFile(outputFile_after, FileFormat.Docx2016);
// Using version compatibility will reset previously set properties
Spire.Doc.Settings.CompatibilityOptions options = doc.CompatibilityOptions;
doc.CompatibilityOptions.OptimizeForWordVersion(WordVersion.Word2016);
PrintCompatibilityOptions(options, outputFile);
doc.Close();
问题修复:
- 修复了 Word 转 PDF 时页眉效果不正确的问题。
- 修复了 Word 转 PDF/A-3B 时图片透明度丢失的问题。
- 修复了 Word 转 PDF 时效果不正确的问题。
- 修复了 Word 转 PDF 时抛出“System.NullReferenceException”的问题。
- 修复了 Word 转图片时字体不正确的问题。
- 修复了复制页眉时报“Object reference not set to an instance of an object”的问题。
- 修复了加载签名文档时抛“System.FormatException”错误的问题。
- 修复了 doc.HtmlUrlLoadEvent 在最新版本中不能使用的问题。
- 修复了目录页码更新不正确的问题。
- 修复了将 Word 文档转换为 PDF 时页码不正确的问题。
Spire.XLS
调整:
- 移除 .NET 2.0、.NET 4.0 ClientProfile、netcoreapp 2.0、WPF 4.0 ClientProfile,新增对 .NET 10.0 的支持。
新功能:
- 支持在将 Excel 转换为 Markdown 时自定义导出选项。
Workbook wb = new Workbook();
wb.loadFromFile("input.xlsx");
// Create export options
MarkdownOptions options = new MarkdownOptions();
// Set whether to save images using relative paths
options.setSavePicInRelativePath(true);
// Set whether to format hyperlinks as Markdown reference-style links
options.setSaveHyperlinkAsRef(true);
wb.saveToMarkdown("output.md", options);
问题修复:
- 修复了添加 EMF 图片到页眉时程序抛出异常的问题。
- 修复了 KeepDataType 无法保留原始数据类型的问题。
- 修复了转换 Excel 到 PDF 时图片质量降低的问题。
- 修复了在法语本地化环境下计算日期公式不正确的问题。
- 修复了转换 HTML 到 Excel 时程序抛出 “IOException” 异常的问题。
Spire.Presentation
新功能:
- 支持压缩图片。
- 支持转换幻灯片到图片时配置图片DPI。
Presentation presentation = new Presentation();
presentation.LoadFromFile(inputFile);
foreach (ISlide slide in presentation.Slides)
{
foreach (Spire.Presentation.IShape shape in slide.Shapes)
{
if (shape is SlidePicture)
{
SlidePicture ps = shape as SlidePicture;
// 压缩图片:启用裁剪区域移除(true),并将图像分辨率压缩至 150 DPI(适用于网页显示的常用分辨率)
ps.PictureFill.CompressImage(true, 150f);
}
}
}
presentation.SaveToFile(outputFile, FileFormat.Pptx2013);
presentation.SaveToImage(int pageIndex, int dpiX, int dpiY);
问题修复:
- 修复了转换 PPTX 到 PDF,项目符号不正确的问题。
- 修复了转换 PPTX 到 PDF,内容被裁切的问题。
- 修复了转换 PPTX 到 PDF,背景不正确的问题。
- 修复了加载 PPTX 文档,程序抛出“Object reference not set to an instance of an object.”异常的问题。
Spire.PDF
调整:
- 改进了 WPF 平台下 PDF 渲染为图像的底层逻辑,输出图像效果明显改善。
优化:
- 优化了 .NET Standard DLL 中 Web 打印请求缓慢的问题。
问题修复:
- 修复了表单域输入阿拉伯语字符时,字符方向显示不正确的问题。
- 修复了转换 XPS 到 PDF,内容不一致的问题。
- 修复了转换 PDF 到 PDF/A-3a,阿拉伯语及希伯来语显示不正确的问题。
- 修复了转换 PDF 到 PPTX 时,文本块被拆分成多行的问题。
- 修复了取消注释边框不生效的问题。
- 修复了转换 OFD 到 PDF 时程序抛出异常的问题。
- 修复了转换 PDF 到图片时线条注释丢失的问题。
- 修复了将带注释的 PDF 文件转换为图片时程序抛出 “ArgumentException” 异常的问题。
- 修复了将 OFD 文件转换为 PDF 时程序抛出 “NullReferenceException” 异常的问题。
- 修复了在使用虚拟打印机时,.NET Standard DLL 打印 PDF 文档输出路径不正确的问题。
- 修复了将 PDF 文件转换为 PPTX 时程序抛出 “Parameter is not valid.” 异常的问题。







