Spire.Office 8.11.2已发布。在该版本中,Spire.Doc公开了枚举 Spire.Doc.Publics.Drawing.FontStyle;Spire.PDF 新增 PdfImageHelper 接口来支持提取图片、删除图片、替换图片以及压缩图片;Spire.Presentation 新增支持多项功能,如获取形状中文本区域的高度和宽度以及获取形状中多行的文本。此外,许多已知问题也在该版本中成功修复。详情请阅读以下内容。
该版本涵盖了最新版的 Spire.Doc,Spire.PDF,Spire.XLS,Spire.Email,Spire.DocViewer, Spire.PDFViewer,Spire.Presentation,Spire.Spreadsheet, Spire.OfficeViewer, Spire.Barcode, Spire.DataExport。
版本信息如下:
- Spire.Doc.dll v11.11.8
- Spire.Pdf.dll v9.11.9
- Spire.XLS.dll v13.11.4
- Spire.Presentation.dll v8.11.1
- Spire.Email.dll v6.5.8
- Spire.Barcode.dll v7.2.3
- Spire.DocViewer.Forms.dll v8.7.4
- Spire.Spreadsheet.dll v7.4.3
- Spire.PdfViewer.Forms.dll v7.12.1
- Spire.PdfViewer.Asp v7.12.1
- Spire.OfficeViewer.Forms.dll v8.11.2
- Spire.DataExport.dll v4.9.0
- Spire.DataExport.ResourceMgr.dll v2.1.0.
https://www.e-iceblue.cn/Downloads/Spire-Office-NET.html
Spire.Doc
新功能:
- 公开了枚举 Spire.Doc.Publics.Drawing.FontStyle。
- 将 PrivateFontPath 结构中的 FontStyle 的命名空间更改为 Spire.Doc.Publics.Drawing。
使用说明:
将方法 public PrivateFontPath(string fontName, System.Drawing.FontStyle fontStyle, string fontPath) 更改为public PrivateFontPath(string fontName, Spire.Doc.Publics.Drawing.FontStyle fontStyle, string fontPath)。
将方法public PrivateFontPath(string fontName, System.Drawing.FontStyle fontStyle, string fontPath, bool useArabicConcatenationRules)更改为public PrivateFontPath(string fontName, Spire.Doc.Publics.Drawing.FontStyle fontStyle, string fontPath, bool useArabicConcatenationRules)。
将方法 public PrivateFontPath(string fontName, System.Drawing.FontStyle fontStyle, string fontPath) 更改为public PrivateFontPath(string fontName, Spire.Doc.Publics.Drawing.FontStyle fontStyle, string fontPath)。
将方法public PrivateFontPath(string fontName, System.Drawing.FontStyle fontStyle, string fontPath, bool useArabicConcatenationRules)更改为public PrivateFontPath(string fontName, Spire.Doc.Publics.Drawing.FontStyle fontStyle, string fontPath, bool useArabicConcatenationRules)。
问题修复:
- 修复了转换Word到PDF后内容格式不正确的问题。
- 修复了转换Word到PDF后分页不正确的问题。
- 修复了转换HTML到PDF后内容不正确的问题。
- 修复了转换ODT到PDF时程序抛出System.ArgumentException异常的问题。
- 修复了合并Word文档并转换到PDF后目录页码位置不正确的问题。
- 修复了合并Word文档并转换到PDF后目录格式不正确的问题。
- 修复了转换HTML到PDF后图片显示不出来的问题。
- 修复了将RTF文档中的OLE对象克隆到Docx文档中后内容显示不全的问题。
- 修复了转换Word到图片/PDF时程序抛出System.InvalidOperationException异常的问题。
- 修复了Word表格添加新行并转换到PDF后新添加的行未对齐的问题。
- 修复了修改Word表格内容后转换到PDF时程序抛出System.IndexOutOfRangeException异常的问题。
- 修复了将一个Doc格式文档另存为新文档后编辑限制效果丢失的问题。
Spire.PDF
新功能:
- 新增 PdfImageHelper 接口来支持提取图片、删除图片、替换图片以及压缩图片。
关键代码如下:
// Delete image:
imageHelper.DeleteImage(imageInfos[0]);
// Extract images:
int index = 0;
foreach (PdfImageInfo info in imageInfos)
{
info.Image.Save(outputFile_I + string.Format("Image-{0}.png", index));
index++;
}
// Replace image:
PdfImage image = PdfImage.FromFile(TestUtil.DataPath + "ImgFiles/E-iceblue logo.png");
imageHelper.ReplaceImage(imageInfos[0], image);
// Compress images:
foreach (PdfPageBase page in doc.Pages)
{
foreach (PdfImageInfo info in imageHelper.GetImagesInfo(page))
{
bool success = info.TryCompressImage();
}
}
问题修复:
- 修复了提取出的PDF表格有两列合并在一起了的问题。
- 修复了转换XPS到PDF结果文档空白的问题。
- 修复了用Adobe工具打开从XPS转换出的PDF文档弹出页面存在错误的问题。
- 修复了转换PDF到XPS时内容多出额外的字符的问题。
- 修复了加载PDF文档程序抛异常System.NullReferenceException的问题。
- 提升了从PDF到图片的转换速度。
- 修复了提取出的内容不正确的问题。
- 修复了拆分PDF文档再合并后,文档变大的问题。
- 修复了在Linux下将PDF转换为SVG时程序崩溃的问题。
- 修复了获取出的表格内容不正确的问题。
- 修复了获取出的表格内容顺序不正确的问题。
- 修复了将PDF转换为图片后文本样式改变的问题 。
- 修复了未输入密码仍能够成功解密的问题 。
- 修复了对比PDF文档并保存时,程序抛异常"System.NullReferenceException"的问题 。
- 修复了打印PDF时部分文本显示不清晰的问题。
- 修复了将PDF转换为SVG时,程序抛异常"System.ArgumentOutOfRangeException"的问题。
- 修复了将PDF转为图片时,程序抛异常"System.StackOverflowException"的问题。
- 修复了提取文本时,程序抛异常"System.NullReferenceException"的问题。
- 修复了识别表格失败的问题。
Spire.XLS
问题修复:
- 修复了转换工作表到HTML文档时程序抛出java.lang.NullPointerException异常的问题。
- 修复了转换Excel文档到HTML文档时文本内容多出许多“0”的问题。
- 修复了对Excel单元格设置自适应行高后转换到PDF文档时单元格内容部分丢失的问题。
- 修复了获取出的合并单元格的内容不正确的问题。
- 修复了查找字符串返回的结果不正确的问题。
- 修复了复制工作表时图表引用更新不正确的问题。
- 修复了获取DisplayedText值不正确的问题。
Spire.Presentation
新功能:
- 支持转换形状到SVG时保持形状相对幻灯片的位置信息。
- 支持获取形状中的文本区域的高度和宽度。
- 支持获取形状中多行的文本。
- 支持获取OleObject对象的ShapeID属性。
byte[] svgByte = shape.SaveAsSvgInSlide();
FileStream fs = new FileStream("shapePath_" + num + ".svg", FileMode.Create);
fs.Write(svgByte, 0, svgByte.Length);
fs.Close();
IAutoShape autoShape = shape as IAutoShape;
SizeF size = autoShape.TextFrame.GetTextSize();
Presentation ppt = new Presentation();
ppt.LoadFromFile(inputFile);
ISlide slide = ppt.Slides[0];
for (int i = 0; i < slide.Shapes.Count; i++)
{
IAutoShape shape = (IAutoShape)slide.Shapes[i];
File.AppendAllText(outputFile, "shape" + i + ":" + "\r\n");
IList <LineText> lines = shape.TextFrame.GetLayoutLines();
for (int j = 0; j < lines.Count; j++)
{
File.AppendAllText(outputFile,"line[" + j + "]:" + lines[j].Text + "\r\n");
}
}
Presentation ppt = new Presentation();
ppt.LoadFromFile(inputFile);
OleObjectCollection oles = ppt.Slides[0].OleObjects;
OleObject oleObject = oles[0];
StringBuilder sb = new StringBuilder();
sb.AppendLine("ShapeID="+oleObject.ShapeID);
foreach(DictionaryEntry entry in oleObject.Properties)
{
sb.AppendLine(entry.Key+":" +entry.Value);
}
File.AppendAllText(outputFile, sb.ToString());
问题修复:
- 修复了执行shape.TextFrame.GetTextLocation()方法时程序抛出System.InvalidCastException异常的问题。