Spire.Office 5.4.2已正式发布。该版本包含了可支持MonoAndroid、Xamarin.iOS 平台的 dll,并新增了一些功能,如Spire. XLS支持显示和不显示数据透视表、Spire.Presentation支持从右到左列分栏以及通过两点的位置来绘制线段、Spire.Spreadsheet支持自定义排序;同时,也修复了打印PDF、将PDF转换为XPS、Word转换为PDF、Excel转换为图像/PDF、PPT转换为PDF以及计算公式值时出现的一些问题。新功能及问题修复详情参加下文。
该版本涵盖了最新版的Spire.Doc、Spire.PDF、Spire.XLS、Spire.Presentation、Spire.DataExport、Spire.Barcode、Spire.DocViewer、Spire.PDFViewer、Spire.OfficeViewer、Spire.Email。
版本信息如下:
https://www.e-iceblue.cn/Downloads/Spire-Office-NET.html
问题修复:
问题修复:
新功能:
pt.ShowSubtotals = true;
pt.ShowSubtotals = false;
问题修复:
新功能:
IAutoShape shape = ppt1.Slides[0].Shapes[0] as IAutoShape;
shape.TextFrame.RightToLeftColumns = true;
ppt.Slides[0].Shapes.AppendShape(ShapeType.Line, new PointF(10, 10), new PointF(20, 30));
问题修复:
问题修复:
新功能:
var range = spreadsheet.Worksheets[0].GetSelectedRange();
//从0开始,1表示所选范围的第二列
int sortIndexs = new int[]{1,};
var sortOrders = new Forms.SortOrder[]{ Forms.SortOrder.Descending };
range.Sort(sortIndexs, sortOrders, SortOrientation.Vertical, false);
问题修复:
Spire.XLS 10.4.9现已发布。该版本支持显示或不显示数据透析表的subtotals。除此之外,一些在转换Excel到XML/PDF/Image,加载和操作文档时出现的问题也得以成功解决。详情参见下文。
新功能:
pt.ShowSubtotals = true;
pt.ShowSubtotals = false;
问题修复:
本文将介绍如何使用Spire.Doc for Java的邮件合并功能合并图片到Word文档。
模板文档:

import com.spire.doc.Document;
import com.spire.doc.FileFormat;
import com.spire.doc.reporting.MergeImageFieldEventArgs;
import com.spire.doc.reporting.MergeImageFieldEventHandler;
import java.text.SimpleDateFormat;
import java.util.Date;
public class MailMergeImage {
public static void main(String[] args) throws Exception {
//创建Document实例
Document document = new Document();
//加载模板文档
document.loadFromFile("template.docx");
//合并域名称
String[] filedNames = new String[]{"image"};
//图片路径
String[] filedValues = new String[]{"logo.png"};
//调用邮件合并事件加载图片
document.getMailMerge().MergeImageField = new MergeImageFieldEventHandler() {
public void invoke(Object sender, MergeImageFieldEventArgs args) {
mailMerge_MergeImageField(sender, args);
}
};
//执行邮件合并
document.getMailMerge().execute(filedNames, filedValues);
//保存文档
document.saveToFile("MailMergeImage.docx", FileFormat.Docx_2013);
}
//创建邮件合并事件用于加载图片
private static void mailMerge_MergeImageField(Object sender, MergeImageFieldEventArgs field) {
String filePath = field.getImageFileName();
if (filePath != null && !"".equals(filePath)) {
try {
field.setImage(filePath);
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
结果文档:

Spire.Doc 8.4.7现已发布。此次更新主要修复了一些在Word转PDF以及加载文档时出现的问题。具体修复内容如下。
问题修复:
如果您的 Excel 文件中有大量数据,则查找特殊值可能会非常麻烦。在这种情况下,您可以使用条件格式自动高亮包含满足特定条件的值的单元格。本文介绍了如何使用 Spire.XLS for Java 高亮 Excel 中低于或高于平均值的单元格。
首先,您需要在 Java 程序中添加 Spire.Xls.jar 文件作为一个依赖项。您可以从这个链接下载 JAR 文件。如果您使用 Maven,则可以通过在 pom.xml 文件中添加以下代码轻松导入该 JAR 文件。
<repositories>
<repository>
<id>com.e-iceblue</id>
<name>e-iceblue</name>
<url>https://repo.e-iceblue.cn/repository/maven-public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.xls</artifactId>
<version>16.9.2</version>
</dependency>
</dependencies>
以下是使用 Spire.XLS for Java 在 Excel 中高亮低于或高于平均值的单元格的具体步骤。
import com.spire.xls.AverageType;
import com.spire.xls.ExcelVersion;
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;
import com.spire.xls.core.IConditionalFormat;
import com.spire.xls.core.spreadsheet.collections.XlsConditionalFormats;
import java.awt.*;
public class HighlightValuesAboveAndBelowAverage {
public static void main(String[] args) {
//创建一个Workbook对象
Workbook workbook = new Workbook();
//加载 Excel 文件
workbook.loadFromFile("测试文档.xlsx");
//获取特定工作表
Worksheet sheet = workbook.getWorksheets().get(0);
//向工作表添加条件格式
XlsConditionalFormats format = sheet.getConditionalFormats().add();
//设置将应用条件格式的单元格范围
format.addRange(sheet.getRange().get("F2:F12"));
//添加条件以突出显示所有大于平均值的单元格
IConditionalFormat condition1 = format.addAverageCondition(AverageType.Above);
condition1.setBackColor(Color.yellow);
//添加条件以突出显示所有小于平均值的单元格
IConditionalFormat condition2 = format.addAverageCondition(AverageType.Below);
condition2.setBackColor(Color.pink);
//获取低于平均值的值的计数
sheet.getRange().get("F15").setFormula("=COUNTIF(F2:F12,\"<\"&AVERAGE(F2:F12))");
//获取高于平均值的值的计数
sheet.getRange().get("F16").setFormula("=COUNTIF(F2:F12,\">\"&AVERAGE(F2:F12))");
//将工作簿保存到 Excel 文件
workbook.saveToFile("输出结果.xlsx", ExcelVersion.Version2016);
}
}
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。
Spire.OfficeViewer 5.4.1 现已发布。该版本修复了设置导航条的SmallChange属性不生效的问
问题修复:
https://www.e-iceblue.cn/Downloads/Spire-OfficeViewer-NET.html
本文介绍使用Spire.Doc for Java 删除Word表格以及删除Word表格内容的方法。
删除表格
import com.spire.doc.*;
import com.spire.doc.interfaces.ITable;
public class RemoveTable {
public static void main(String[] args) {
//创建实例
Document doc = new Document();
//加载Word文档
doc.loadFromFile("test.docx");
//获取Section
Section section = doc.getSections().get(0);
//获取表格
ITable table = section.getTables().get(0);
//删除表格
section.getTables().remove(table);
//保存文档
doc.saveToFile("RemoveTable.docx",FileFormat.Docx_2013);
doc.dispose();
}
}
表格删除前后效果:

删除表格内容
import com.spire.doc.*;
public class RemoveTableContent {
public static void main(String[] args) {
//创建实例,加载测试文档
Document doc = new Document();
doc.loadFromFile("test.docx");
//获取Section
Section section = doc.getSections().get(0);
//获取表格
Table table =section.getTables().get(0);
//遍历表格每行
for (int i = 0; i < table.getRows().getCount(); i++) {
//获取表格行
TableRow row = table.getRows().get(i);
//遍历每行中的每个单元格
for(int j = 0; j < row.getCells().getCount();j++)
{
//获取单元格
TableCell cell = row.getCells().get(j);
cell.getChildObjects().clear();//清除所有子对象
//cell.getCellFormat().clearFormatting();//清除单元格格式
//cell.getParagraphs().removeAt(0);//删除单元格中的段落
}
}
//保存文档
doc.saveToFile("RemoveContent.docx",FileFormat.Docx_2013);
doc.dispose();
}
}
表格内容删除前后效果:

Spire.Doc for Java 3.4.3 现已发布。该版本支持设置表格单元格的对角线边框。除此之外,一些在Word转PDF,加载和保存文档时出现的问题也得以成功解决。详情见下文。
新功能:
table.get(0,0).getCellFormat().getBorders().getDiagonalUp().setBorderType(BorderStyle.Single);
table.get(0,0).getCellFormat().getBorders().getDiagonalUp().setColor(Color.blue);
table.get(0,0).getCellFormat().getBorders().getDiagonalUp().setLineWidth(0.5f);
table.get(0,0).getCellFormat().getBorders().getDiagonalDown().setBorderType(BorderStyle.Single);
table.get(0,0).getCellFormat().getBorders().getDiagonalDown().setColor(Color.blue);
table.get(0,0).getCellFormat().getBorders().getDiagonalDown().setLineWidth(0.5f);
问题修复:
本教程主要介绍如何在Ubuntu 18.04系统上实现Spire.Cloud私有化部署。CentOS 7系统部署请参考 这篇教程。
详细步骤如下:
1、关闭防火墙
1)首先查看防火墙状态
ufw status verbose (非管理员需在最前面加sudo)
默认情况下,防火墙状态是inactive,即关闭状态,如下图所示。如果防火墙状态是active,需要关闭防火墙,参考下一个步骤。

2)关闭防火墙
ufw disable (非管理员需在最前面加sudo)
执行以上命令后,可使用ufw status verbose命令再次查看防火墙状态,检查是否已经成功关闭。
2、配置IP地址
1)在root账户权限下,使用命令 vim /etc/netplan/*.yaml打开配置文件,配置IP信息,然后使用命令netplan apply应用IP配置,如下图所示(注意冒号后面有空格)。

2)使用命令ifconfig -a查看IP是否配置成功。

1、请联系我们,获取Spire.Cloud产品部署包。
邮箱:该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。;电话:028-81705109。
2、将产品部署文件拷贝到Ubuntu 18.04系统中,可以借助WinSCP工具进行拷贝。具体步骤如下。
1)首先登陆

注意:如果连接失败,并出现如下图所示错误,请检查服务器上是否安装了sshd。

如果没有安装,参考以下解决方案:
首先,输入命令apt-get install yum回车,然后输入Y继续;

其次,输入命令apt-get install openssh-server回车,并输入Y继续;

最后,输入命令ps -e|grep ssh回车,可以看到sshd,说明已经安装成功。

默认情况下不允许root用户进行SSH远程登录,可以通过vim /etc/ssh/sshd_config 进入配置文件进行下面修改后,使用service sshd restart重启生效。

2)连接成功后,将产品部署文件拷贝进去,这里拷贝到了/root/目录下。

3、安装产品
在root账户权限下,进入install_ubuntu18.04.sh脚本文件所在位置,运行指令bash install_ubuntu18.04.sh >print.log进行部署并打印日志。

4、应用license
将license文件拷贝到 /root/spire.cloud/service/ConverterService/bin/license/ 目录下。

然后执行命令bash binding_license.sh绑定license文件,绑定成功显示如下。

如果你需要临时license文件,请联系我们。邮箱:该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。;电话:028-81705109。
至此,Spire.Cloud已部署完成。现在你可以在本地服务器上使用Spire.Cloud在线编辑服务在线创建、编辑、保存和打印Office(Word/Excel/PowerPoint)文档;或使用WEB API,在应用程序中操作Office(Word/Excel/PowerPoint)及PDF文档,然后使用在线编辑查看结果文档。
现在测试在线编辑。在浏览器地址栏输入“[服务器ip]:3000”(针对本次部署输入192.168.0.109:3000),出现以下界面:

勾选Create a file filled with sample content并点击Create Document,创建一个带内容的Word模板文档:

HTML (Hypertext Markup Language),即超文本标记语言,是构成大多数网页和在线应用程序的一种计算机语言。通过使用 Spire.PDF for Java 可实现将 PDF 文件转换成 HTML 文件,并且,在选择 HTML 保存方式时,可调用 PdfDocument.saveToFile(String filename, FileFormat fileFormat) 方法保存为 HTML 到本地指定路径,也可以通过下文中的方法将转换后的 HTML 保存到流。下面将详细介绍如何实现转换并保存到流。
首先,您需要在 Java 程序中添加 Spire.Pdf.jar 文件作为依赖项。JAR 文件可以从此链接下载。 如果您使用 Maven,则可以将以下代码添加到项目的 pom.xml 文件中,从而在应用程序中导入 JAR 文件。
<repositories>
<repository>
<id>com.e-iceblue</id>
<name>e-iceblue</name>
<url>https://repo.e-iceblue.cn/repository/maven-public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.pdf</artifactId>
<version>12.9.0</version>
</dependency>
</dependencies>
调用 Spire.PDF for Java 提供的方法实现转换时,可设置相关转换属性,如:是否嵌入 SVG、是否嵌入图片等。下面是主要代码步骤:
import com.spire.pdf.*;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.OutputStream;
public class SaveToStream {
public static void main(String[] args) throws FileNotFoundException {
//加载PDF文档
PdfDocument pdf = new PdfDocument();
pdf.loadFromFile("sample.pdf");
//设置useEmbeddedSvg和 useEmbeddedImg布尔值为true
pdf.getConvertOptions().setPdfToHtmlOptions(true,true);
//保存到流
File outFile = new File("toHTML.html");
OutputStream outputStream = new FileOutputStream(outFile);
pdf.saveToStream(outputStream, FileFormat.HTML);
pdf.close();
}
}生成HTML文件效果如图:

如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请 该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。 获取有效期 30 天的临时许可证。