Spire.PDFViewer 7.1已发布。该版本支持通过Pdf Viewer查看PDF时支持旋转页面。此外还修复了PDF内容显示不正确等已知问题。详情请阅读以下内容。
新功能:
问题修复:
Spire.PDF 8.1.4已发布。该版本支持将OFD转换为PDF和图像,支持设置图层打印属性以及支持添加 InkAnnotation。此外还修复了提取文本不正确等已知问题。详情请阅读以下内容。
新功能:
OfdConverter converter = new OfdConverter("inputFile");
converter.ToPdf("outputFile");
converter.ToImage(pageIndex);
converter.ToImage(pageIndex, dpiX, dpiY);
converter.ToLinearizedPdf("Linearized.pdf");
PdfDocument pdfDoc = new PdfDocument();
pdfDoc.LoadFromFile(inputFile);
Spire.Pdf.PdfPageBase page;
pdfDoc.FileInfo.IncrementalUpdate = false;
string MvAddedlaverName1 = "GorLaverPagel";
for (int iPage = 0; (iPage <= (pdfDoc.Pages.Count - 1)); iPage++)
{
page = pdfDoc.Pages[iPage];
Spire.Pdf.Graphics.Layer.PdfLayer wtLaver_1 = pdfDoc.Layers.AddLayer(MvAddedlaverName1);
wtLaver_1.ViewState = LayerViewState.Allways;
wtLaver_1.PrintState = LayerPrintState.Nerver;
wtLaver_1.ExportState = LayerExportState.ExportWhenVisible;
Spire.Pdf.Graphics.PdfCanvas gPdfCanvas_1 = wtLaver_1.CreateGraphics(page.Canvas);
gPdfCanvas_1.SetTransparency(0.4f);
gPdfCanvas_1.DrawString(tStatusString, new PdfFont(PdfFontFamily.Helvetica, 28), new PdfSolidBrush(Color.Black), new System.Drawing.PointF(((page.Size.Width - 265) - (524 / 2)), (page.Size.Height - (50 - 127))));
wtLaver_1.CreateGraphics(gPdfCanvas_1);
gPdfCanvas_1.SetTransparency(1);
}
pdfDoc.SaveToFile(outputFile, FileFormat.PDF);
pdfDoc.Close();
System.Collections.Generic.List<int[]> inkList = new System.Collections.Generic.List<int[]>();
int[] intPoints = new int[]
{
100,800,
200,800,
200,700
};
inkList.Add(intPoints);
PdfInkAnnotation ia = new PdfInkAnnotation(inkList);
ia.Color = Color.LightBlue;
ia.Border.Width = 12;
ia.Opacity = 0.3f;
ia.Text = "e-iceblue";
pdfPage.AnnotationsWidget.Add(ia);
问题修复:
Spire.PDF for Android via Java 4.1.0已发布。该版本修复了在Gradle和SDK高版本中使用产品时程序抛异常的问题。详情请阅读以下内容。
问题修复:
https://www.e-iceblue.cn/Downloads/pdf-for-android-via-java.html
Spire.XLS for Java 5.1.5已发布。该版本增强了Excel到PDF/HTML/图片,以及HTML到Excel的转换功能。此外还修复了程序在加载excel文件时抛出异常等已知问题。详情请阅读以下内容。
问题修复:
Spire.Doc for Java 5.1.9已发布。该版本增强了Word到PDF/HTML/图片的转换功能。此外还修复了插入HTML到Word文档后,生成文档无法打开等大量已知问题。详情请阅读以下内容。
问题修复:
表格常见于 PDF 发票和财务报告中。您可能会遇到需要将 PDF 表格数据导出到 Excel 中的情况,以便您可以使用 MS Excel 提供的工具对数据进行分析。本文介绍了如何使用 Spire.Office for Java 从 PDF 页面中提取表格并将其导出为单独的 Excel 工作表。
该场景实际上是使用 Spire.PDF for Java 从 PDF 中提取表格,并使用 Spire.XLS for Java 生成 Excel 文件。为了在同一个项目中使用它们,您需要将 Spire.Office.jar 文件添加为 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.pdf</artifactId>
<version>11.11.11</version>
</dependency>
</dependencies>
以下是从某页面提取所有表格并将每个表格保存为 Excel 文档中的单独工作表的主要步骤。
import com.spire.pdf.PdfDocument;
import com.spire.pdf.utilities.PdfTable;
import com.spire.pdf.utilities.PdfTableExtractor;
import com.spire.xls.ExcelVersion;
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;
public class ExtractTableDataAndSaveInExcel {
public static void main(String[] args) {
//加载示例PDF文档
PdfDocument pdf = new PdfDocument("C:\\Users\\Administrator\\Desktop\\Tables.pdf");
//创建一个PdfTableExtractor实例
PdfTableExtractor extractor = new PdfTableExtractor(pdf);
//从第一页提取表格
PdfTable[] pdfTables = extractor.extractTable(0);
//创建一个工作簿对象
Workbook wb = new Workbook();
//删除默认工作表
wb.getWorksheets().clear();
//如果找到任何表格
if (pdfTables != null && pdfTables.length > 0) {
//循环遍历表格
for (int tableNum = 0; tableNum < pdfTables.length; tableNum++) {
//将工作表添加到工作簿
String sheetName = String.format("Table - %d", tableNum + 1);
Worksheet sheet = wb.getWorksheets().add(sheetName);
//循环遍历当前表格中的行
for (int rowNum = 0; rowNum < pdfTables[tableNum].getRowCount(); rowNum++) {
//循环遍历当前表格中的列
for (int colNum = 0; colNum < pdfTables[tableNum].getColumnCount(); colNum++) {
//从当前表格单元格中提取数据
String text = pdfTables[tableNum].getText(rowNum, colNum);
//将数据插入特定单元格
sheet.get(rowNum + 1, colNum + 1).setText(text);
}
}
//自动调整列宽
for (int sheetColNum = 0; sheetColNum < sheet.getColumns().length; sheetColNum++) {
sheet.autoFitColumn(sheetColNum + 1);
}
}
}
//将工作簿保存为 Excel 文件
wb.saveToFile("output/ExportTableToExcel.xlsx", ExcelVersion.Version2016);
}
}
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请 该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。 获取有效期 30 天的临时许可证。
Spire.PDF for Java 支持向 PDF 页面中的元素添加工具提示(ToolTip),添加工具提示后,当鼠标悬停在页面上的元素时,将显示工具提示内容。下面是使用 Spire.PDF for Java 来实现该功能的方法及步骤。
首先,您需要在 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>11.11.11</version>
</dependency>
</dependencies>
在本次代码示例中,给 PDF 添加工具提示以查找的指定文本元素为例,主要步骤如下:
import com.spire.pdf.*;
import com.spire.pdf.fields.PdfButtonField;
import com.spire.pdf.fields.PdfButtonLayoutMode;
import com.spire.pdf.general.find.PdfTextFind;
import java.awt.geom.Rectangle2D;
public class ToolTip {
public static void main(String[] args) {
//加载PDF文档
PdfDocument pdf = new PdfDocument();
pdf.loadFromFile("https://cdn.e-iceblue.cn/sample.pdf");
//获取第1页并查找字符串,获取其边界位置
PdfPageBase page = pdf.getPages().get(0);
PdfTextFinder textFinder=new PdfTextFinder(page);
PdfTextFindOptions findOptions = new PdfTextFindOptions();
findOptions.setTextFindParameter(EnumSet.of(TextFindParameter.WholeWord));
List<PdfTextFragment> result=textFinder.find("运行环境",findOptions);
Rectangle2D rec = result.get(0).getBounds()[0];
//在搜索文本上添加不可见按钮
PdfButtonField field1 = new PdfButtonField(page, "field1");
field1.setBounds(rec);
//设置工具提示文本及样式
field1.setToolTip( "详见文末附件内容及使用手册!");
field1.setBorderWidth(0);
field1.setLayoutMode(PdfButtonLayoutMode.Icon_Only);
field1.getIconLayout().isFitBounds();
//保存文档
pdf.saveToFile("Result.pdf", FileFormat.PDF);
pdf.dispose();
}
}工具提示添加效果如图:

如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请 该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。 获取有效期 30 天的临时许可证。
小计是 Microsoft Excel 中的内置函数,它可以让您使用汇总函数(例如 SUM、AVERAGE、COUNT 或 MIN)快速计算数据范围。本文将演示如何使用 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>15.11.3</version>
</dependency>
</dependencies>
向数据范围添加小计要使用 XlsWorksheet.subtotal() 方法。它接受以下参数:
以下是向数据范围添加小计的步骤:
import com.spire.xls.*;
public class AddSubtotalsToDataRange {
public static void main(String []args){
//创建一个Workbook实例
Workbook workbook = new Workbook();
//加载Excel文档
workbook.loadFromFile("C:\\Users\\Administrator\\Desktop\\Report.xlsx");
//获取第一个工作表
Worksheet sheet = workbook.getWorksheets().get(0);
//访问希望小计的范围
CellRange range = sheet.getCellRange("A2:C11");
//将小计添加到范围,函数是Sum它将应用于范围中的第 3 列
sheet.subtotal(range, 0, new int[] { 2 }, SubtotalTypes.Sum, true, false, true);
//Save the result file
workbook.saveToFile("AddSubtotal.xlsx", ExcelVersion.Version2016);
workbook.dispose();
}
}
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请 该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。 获取有效期 30 天的临时许可证。
Spire.Presentation for Java 5.1.0已发布。该版本修复了程序在加PPT文档时抛出“NullPointerException”的问题。详情请阅读以下内容。
问题修复:
https://www.e-iceblue.cn/Downloads/Spire-Presentation-JAVA.html
Spire.PDF 8.1已发布。该版本支持移除PDF文档的JavaScript,并增强了PDF到PDF/A的转换功能。另外还修复了打印后内容不正确等一些已知问题。详情请阅读以下内容。
新功能:
PdfDocument doc = new PdfDocument(@"input.pdf");
doc.RemoveDocumentJavaScript();
doc.SaveToFile(@"output.pdf", FileFormat.PDF);
问题修复: