Spire.Presentation 5.11.2已发布。该版本新增了数字签名功能,支持为趋势线设置颜色及自定义名字以及设置转变的变形类型。此外,版本还修复了在加载PPT和转换PPT到PDF时出现的问题。详情请阅读以下内容。
新功能:
//Add digital signature
X509Certificate2 x509 = new X509Certificate2(inputPfx, "e-iceblue");
ppt.AddDigitalSignature(x509, "111", DateTime.Now);
//Remove digital signature
if (ppt.IsDigitallySigned == true)
{
ppt.RemoveAllDigitalSignatures();
Presentation ppt = new Presentation();
ppt.LoadFromFile(inputFile);
IChart chart = ppt.Slides[0].Shapes[0] as IChart;
ITrendlines trendline = chart.Series[0].TrendLines[0] as ITrendlines;
trendline.displayEquation = false;
trendline.displayRSquaredValue = false;
trendline.Name = "trendlineName";
trendline.Line.FillType = FillFormatType.Solid;
trendline.Line.SolidFillColor.Color = Color.Red;
ppt.SaveToFile(outputFile, FileFormat.Pptx2010);
ppt.Dispose();
ppt.Slides[0].SlideShowTransition.Type = TransitionType.Morph;
问题修复:
https://www.e-iceblue.cn/Downloads/Spire-Presentation-NET.html
本文介绍使用Spire.XLS for Java来缩小Excel单元格中的字体以适应列宽的方法。该方法适用于固定了表格大小或单元格列宽的情况,需要调整单元格中的字体大小使内容显示完整。
import com.spire.xls.*;
public class ShrinktoFit {
public static void main(String[] args) {
//加载Excel工作簿
Workbook wb = new Workbook();
wb.loadFromFile("test.xlsx");
//获取第一张工作表
Worksheet sheet = wb.getWorksheets().get(0);
//指定需要自动缩小字体的单元格范围
CellRange cell = (CellRange) sheet.get("A1:B3");
//设置ShrinkToFit为true,缩小数据以适应单元格
cell.getStyle().setShrinkToFit(true);
//保存文档
wb.saveToFile("ShrinkTextToFitCell.xlsx", ExcelVersion.Version2013);
wb.dispose();
}
}
设置效果:

Spire.Doc 8.11.9现已发布。该版本主要修复了一些在Word转PDF,加载RTF文档及保存Word文档时出现的问题。详情如下。
问题修复:
Spire.XLS 10.11.7 现已发布。该版本支持添加分类汇总(Subtotal)功能、通过两点添加线条功能以及设置气泡图表的气泡规模。除此之外,一些在转换Excel到PDF/HTML/Image以及加载、操作文档时出现的问题也得以成功修复。新功能及问题修复详情如下。
新功能:
Workbook workbook = new Workbook();
workbook.LoadFromFile(input);
Worksheet sheet = workbook.Worksheets[0];
CellRange range = sheet.Range["A5:D20"];
sheet.Subtotal(range, 0, cols.ToArray(), SubtotalTypes.Sum, true, false, true);
workbook.SaveToFile(output,FileFormat.Version2013);
chart.Series[0].Format.Options.BubbleScale = x;
Workbook workbook = new Workbook();
Worksheet worksheet = workbook.Worksheets[0];
XlsLineShape linebox = worksheet.TypedLines.AddLine() as XlsLineShape;
line.LeftColumn = 10; //起始点的列索引
line.LeftColumnOffset = 10; //起始点的列偏离量
line.TopRow = 10; //起始点的行索引
line.TopRowOffset =10; //起始点的行偏离量
line.RightColumn = 18; //终点的列索引
line.RightColumnOffset = 10; //终点的列偏离量
line.BottomRow = 20; //终点的行索引
line.BottomRowOffset = 10; //终点的行偏离量
workbook.SaveToFile(outputFile, ExcelVersion.Version2013);
workbook.Dispose();
2)绝对位置,单位为像素
Workbook workbook = new Workbook();
Worksheet worksheet = workbook.Worksheets[0];
XlsLineShape linebox = worksheet.TypedLines.AddLine() as XlsLineShape;
line.StartPoint = new Point(30, 50);
line.EndPoint = new Point(20, 80);
workbook.SaveToFile(outputFile_13, ExcelVersion.Version2013);
workbook.Dispose();
问题修复:
将 Word 文档转换为 PDF 文档可以使其更容易在不同设备上共享和阅读,同时保持文档展示效果不变。在转换时还可以对文档进行加密,从而能够保证只有特定的人可以查看或编辑文档内容,防止泄露或被篡改。本文将介绍如何使用 Spire.Doc for Java 通过 Java 程序将 Word 文档转换为加密的 PDF 文档。
首先,您需要在 Java 程序中添加 Spire.Doc.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.doc</artifactId>
<version>14.9.5</version>
</dependency>
</dependencies>
Spire.Doc for Java 允许开发人员使用 Document.saveToFile(String, ToPdfParameterList) 方法将 Word 文档转换为受密码保护的 PDF 文档。其中,ToPdfParameterList 参数用于控制 Word 文档转换为 PDF 的方式,例如,是否在转换时对文档进行加密。以下是详细操作步骤:
import com.spire.doc.Document;
import com.spire.doc.ToPdfParameterList;
import com.spire.pdf.security.PdfEncryptionKeySize;
import com.spire.pdf.security.PdfPermissionsFlags;
public class convertWordToPdfWithPassword {
public static void main(String[] args) {
//创建Document类的对象
Document doc = new Document();
//载入Word文档
doc.loadFromFile("示例.docx");
//创建一个ToPdfParameterList实例
ToPdfParameterList parameter = new ToPdfParameterList();
//设置PDF文档的打开密码和权限密码
parameter.getPdfSecurity().encrypt("openpassword", "permissionpassword",
PdfPermissionsFlags.None, PdfEncryptionKeySize.Key_128_Bit);
//将Word文档保存为加密PDF文档
doc.saveToFile("加密PDF.pdf", parameter);
}
}
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。
在我们打印 Excel 工作表时,格式、排布完全没有问题的工作表打印出来的内容也可能会变得非常混乱。这是因为 Excel 工作表是为了方便在电脑上查看和编辑内容而设计的,直接打印出来的效果和屏幕上显示的效果可能会相距甚远。因此,为了打印时能够完美地还原工作表内容,我们需要在打印时设置打印选项。本文将介绍如何使用 Spire.XLS for Java 打印 Excel 文件以及打印时如何进行打印的设置。
首先,您需要在 Java 程序中添加 Spire.XLS for Java 文件作为依赖项。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>
Excel 页面设置提供了控制工作表打印方式的选项,如是否打印注释、是否打印网格线以及是否将工作表排布在一页上。
Spire.XLS for Java 提供了 PageSetup 类来设置这些打印选项。下面是使用 Spire.XLS for Java通过 PageSetup 类设置 Excel 打印选项的详细操作步骤。
import com.spire.xls.*;
import java.awt.print.PageFormat;
import java.awt.print.Paper;
import java.awt.print.PrinterException;
import java.awt.print.PrinterJob;
public class setPrintOptions {
public static void main(String[] args) {
//创建一个Workbook类的对象
Workbook workbook = new Workbook();
//载入Excel文件
workbook.loadFromFile("资产负债表.xlsx");
//获取第一个工作表
Worksheet worksheet = workbook.getWorksheets().get(0);
//从第一个工作表获取PageSetup类的对象
PageSetup pageSetup = worksheet.getPageSetup();
//设置页边距
pageSetup.setTopMargin(0.3);
pageSetup.setBottomMargin(0.3);
pageSetup.setLeftMargin(0.3);
pageSetup.setRightMargin(0.3);
//指定要打印的区域
pageSetup.setPrintArea("A1:C18");
//指定标题行
pageSetup.setPrintTitleRows("$1:$1");
//允许打印标题
pageSetup.isPrintHeadings(true);
//允许打印网格线
pageSetup.isPrintGridlines(true);
//允许打印并显示批注
pageSetup.setPrintComments(PrintCommentType.InPlace);
//设置打印质量(dpi)
pageSetup.setPrintQuality(300);
//允许黑白模式打印
pageSetup.setBlackAndWhite(true);
//设置打印顺序
pageSetup.setOrder(OrderType.OverThenDown);
//将工作表排布在一页上
pageSetup.isFitToPage(true);
//创建一个Paper类的对象
PrinterJob printerJob = PrinterJob.getPrinterJob();
PageFormat pageFormat = printerJob.defaultPage();
Paper paper = pageFormat.getPaper();
//设置纸张的可绘制区域
paper.setImageableArea(0, 0, pageFormat.getWidth(), pageFormat.getHeight());
//设置打印份数
printerJob.setCopies(1);
pageFormat.setPaper(paper);
//以设定的格式渲染工作簿
printerJob.setPrintable(workbook, pageFormat);
//执行打印
try {
printerJob.print();
} catch (PrinterException e) {
e.printStackTrace();
}
}
}
除了设置打印选项外,了解如何在打印时指定网络中的打印机以及如何对打印机进行设置也很重要。下面的步骤演示了如何通过使用 Spire.XLS for Java 中的 PrinterJob 类下的方法来对打印机进行设置并打印 Excel 文件。
import com.spire.xls.Workbook;
import javax.print.PrintService;
import java.awt.print.PageFormat;
import java.awt.print.Paper;
import java.awt.print.PrinterException;
import java.awt.print.PrinterJob;
public class SpecifyPrinterSettings {
public static void main(String[] args) throws PrinterException {
//创建Workbook类的对象
Workbook workbook = new Workbook();
//载入Excel文件
workbook.loadFromFile("资产负债表.xlsx");
//创建一个PrinterJob类的对象
PrinterJob printerJob = PrinterJob.getPrinterJob();
//指定打印机名称
PrintService myPrintService = findPrintService("\\\\192.168.1.104\\HP LaserJet P1007");
printerJob.setPrintService(myPrintService);
//创建一个PageFormat类的对象并将页面设置为默认大小和方向
PageFormat pageFormat = printerJob.defaultPage();
//通过此页面设置返回一个Paper类的对象
Paper paper = pageFormat .getPaper();
//设置纸张的可绘制区域
paper.setImageableArea(0,0,pageFormat .getWidth(),pageFormat .getHeight());
//通过该Paper类的对象设置页面格式
pageFormat.setPaper(paper);
//设置打印份数
printerJob .setCopies(1);
//调用绘图器以指定的格式渲染工作簿
printerJob .setPrintable(workbook,pageFormat);
//执行打印
try {
printerJob.print();
} catch (PrinterException e) {
e.printStackTrace();
}
}
//通过打印机名获取打印服务
private static PrintService findPrintService(String printerName) {
PrintService[] printServices = PrinterJob.lookupPrintServices();
for (PrintService printService : printServices) {
if (printService.getName().equals(printerName)) {
return printService;
}
}
return null;
}
}如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。
本文将介绍如何使用Spire.XLS for Java给Excel图表添加趋势线以及读取趋势线的公式。
添加趋势线
import com.spire.xls.*;
import com.spire.xls.core.IChartTrendLine;
import java.awt.*;
public class AddTrendline {
public static void main(String[] args){
//加载Excel文档
Workbook workbook = new Workbook();
workbook.loadFromFile("test.xlsx");
//获取第一个工作表中的第一个图表
Chart chart = workbook.getWorksheets().get(0).getCharts().get(0);
//给图表的第一个数据系列添加趋势线(支持Linear、Exponential、Moving_Average等6种类型)
IChartTrendLine trendLine = chart.getSeries().get(0).getTrendLines().add(TrendLineType.Linear);
//设置趋势线的名称
trendLine.setName("Linear(Series1)");
//设置趋势线的线条类型和颜色
trendLine.getBorder().setPattern(ChartLinePatternType.DashDot);
trendLine.getBorder().setColor(Color.blue);
//设置趋势线向前和向后延伸的单位数
trendLine.setForward(0.5);
trendLine.setBackward(0.5);
//设置趋势线的截距
trendLine.setIntercept(5);
//显示公式
trendLine.setDisplayEquation(true);
//显示R平方值
trendLine.setDisplayRSquared(true);
//保存文档
workbook.saveToFile("AddTrendline.xlsx", ExcelVersion.Version2013);
}
}

读取趋势线公式
import com.spire.xls.Chart;
import com.spire.xls.Workbook;
import com.spire.xls.core.IChartTrendLine;
public class ReadEquationOfTrendline {
public static void main(String[] args){
//加载Excel文档
Workbook workbook = new Workbook();
workbook.loadFromFile("AddTrendline.xlsx");
//获取第一个工作表中的第一个图表
Chart chart = workbook.getWorksheets().get(0).getCharts().get(0);
//获取图表的第一个数据系列的趋势线
IChartTrendLine trendLine = chart.getSeries().get(0).getTrendLines().get(0);
String equation = trendLine.getFormula();
System.out.println("公式: " + equation);
}
}

Spire.PDF 6.11.6 现已正式发布。该版本主要修复了一些在转换PDF到图片和PDF/A-3A、转换XPS到PDF以及保存、打印文件时出现的一些问题。详情请查阅以下内容。
问题修复:
本文将介绍如何使用Spire.XLS for Java来给Excel文本框设置字体和背景颜色。其中字体设置包含设置字号,字体颜色,字体名称及字体是否加粗等。
示例文档如下:

import java.awt.*;
import com.spire.xls.*;
import com.spire.xls.core.spreadsheet.shapes.*;
public class SetFontAndBackground {
public static void main(String[] args) {
//加载Excel示例文档
Workbook workbook = new Workbook();
workbook.loadFromFile("C:\\Users\\Test1\\Desktop\\Test.xlsx");
//获取第一个工作表
Worksheet sheet = workbook.getWorksheets().get(0);
//获取工作表中的文本框
XlsTextBoxShape shape = (XlsTextBoxShape) sheet.getTextBoxes().get(0);
//设置文本框中的字体
ExcelFont font = workbook.createFont();
font.setFontName("微软雅黑");
font.setSize(18);
font.isBold(true);
font.setColor(Color.RED);
(new RichText(shape.getRichText())).setFont(0, shape.getText().length() - 1, font);
//为文本框设置背景颜色
shape.getFill().setFillType(ShapeFillType.SolidColor);
shape.getFill().setForeKnownColor(ExcelColors.Yellow);
//保存结果文档
workbook.saveToFile("output/setFontAndBackgroundForTextBox.xlsx", ExcelVersion.Version2013);
}
}
效果图:

Spire.PDFViewer 5.11.2已发布。该版本主要修复了展示PDF文档和设置PDFViewer时出现的问题。详情请阅读以下内容。
问题修复: