经过我司员工不懈努力,Spire.OCR for Java 产品已完成开发并于2023年12月正式上线。这是一款 OCR (光学文字识别)产品,提供高效的图片文字识别与提取功能。目前产品已开放下载,欢迎大家下载试用!
Spire.OCR for Java 是一款专业的用于文字识别的 Java OCR 组件,用以读取 JPG、PNG、GIF、BMP 和 TIFF 等图片格式中的文本。利用该组件,开发人员可以在 Java 应用程序中实现 OCR 功能。
Spire.OCR for Java 功能非常强大, 支持识别各种常用印刷字体,如 宋体、仿宋、黑体、微软雅黑、Arial, Times New Roman, Courier New, Verdana, Tahoma 、Calibri 等;支持识别粗体、斜体、简体、繁体等字体样式;支持扫描全图,并且能识别多种语言文字,如英语,中文,法语,德语,日语及韩语等。
获取 Spire.OCR for Java 请点击:https://www.e-iceblue.cn/Downloads/Spire-OCR-JAVA.html
如何使用 Spire.OCR for Java:Spire.PDFViewer 7.12.3 已发布。该版本支持在WinForm 项目中通过使用Ctrl+滚轮来实现界面缩放的效果。同时,该版本还修复了文本内容无法显示的问题。详情请阅读以下内容。
新功能:
this.KeyPreview = true;
this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.Form1_KeyDown);
this.KeyUp += new System.Windows.Forms.KeyEventHandler(Form1_KeyUp);
this.MouseWheel += new System.Windows.Forms.MouseEventHandler(Form1_MouseWheel);private bool m_PressCtrl = false;
private float m_ZoomFactor = 1.0f;
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
m_PressCtrl = e.Control;
}
private void Form1_KeyUp(object sender, KeyEventArgs e)
{
m_PressCtrl = false;
}
private float[] array = new float[] { 0.5f, 0.75f, 1f, 1.25f, 1.5f, 2f, 4f };
private int index = 2;
private void Form1_MouseWheel(object sender, MouseEventArgs e)
{
if (m_PressCtrl)
{
if (e.Delta > 0)
{
index = index < 6 ? index + 1 : 6;
}
if (e.Delta < 0)
{
index = index == 0 ? 0 : index - 1;
}
this.pdfViewer1.SetZoomFactor(array[index]);
}
}问题修复:
RTF(Rich Text Format)即富文本格式是一种跨平台文档格式,可被各种文字处理软件打开和查看。RTF 格式支持丰富的文本格式化选项,如字体样式、大小、颜色、表格、图片等。在处理 RTF 文件时,有时可能需要将其转换为 PDF 文件,以便更好地共享和打印,或转换为 HTML 格式以便在网上发布。在本文中,您将学习如何使用 Spire.Doc for Python 在 Python 中将 RTF 转换为 PDF 或 HTML。
本教程需要用到 Spire.Doc for Python 和 plum-dispatch v1.7.4。可以通过以下 pip 命令将它们轻松安装到 Windows 中。
pip install Spire.Doc如果您不确定如何安装,请参考教程:如何在 Windows 中安装 Spire.Doc for Python
要将 RTF 文件转换为 PDF,只需加载扩展名为 .rtf 的文件,然后使用 Document.SaveToFile(fileName, FileFormat.PDF) 方法将其保存为 PDF 文件。具体步骤如下:
from spire.doc import *
from spire.doc.common import *
inputFile = "示例.rtf"
outputFile = "Rtf转PDF.pdf"
# 创建Document对象
doc = Document()
# 加载一个RTF文件
doc.LoadFromFile(inputFile)
# 将RTF文件保存为PDF文件
doc.SaveToFile(outputFile, FileFormat.PDF)
doc.Close()
Spire.Doc for Python 还允许您使用 Document.SaveToFile(fileName, FileFormat.Html) 方法将加载的 RTF 文件转换为 HTML 格式。具体步骤如下:
from spire.doc import *
from spire.doc.common import *
inputFile = "示例.rtf"
outputFile = "Rtf转HTML.html"
# 创建Document对象
doc = Document()
# 加载一个RTF文件
doc.LoadFromFile(inputFile)
# 将RTF文件另存为HTML格式
doc.SaveToFile(outputFile, FileFormat.Html)
doc.Close()
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。
Spire.XLS for Java 13.12.12 已发布。本次更新新增支持获取用 WPS 工具添加的内嵌图片,同时增强了 XLSM 到 PDF 的转换功能。此外,一些已知问题也在该版本中得到修复,如获取出的文本的字号不正确的问题。详情请阅读以下内容。
新功能:
Workbook workbook = new Workbook();
workbook.loadFromFile("sample.xlsx");
Worksheet sheet = workbook.getWorksheets().get(0);
ExcelPicture[] picture = sheet.getCellImages();
for (int i = 0; i < picture.length; i++) {
ExcelPicture ep = picture[i];
BufferedImage image = ep.getPicture();
ImageIO.write(image,"PNG", new File(outputFile + String.format("pic_%d.png",i)));
}问题修复:
使用 OCR 技术扫描识别是获取图片上文字的主要方式。Spire.OCR for Java 能够帮助开发者在 Java 项目中快速批量识别并提取图片上的文字,实现高效的文字提取功能。本文将介绍如何使用 Spire.OCR for Java 在 Java 项目中识别并提取图片上的文本。
使用 Spire.OCR for Java 扫描识别图片上的文字需要先在 Java 项目中引入 Spire.OCR.jar 以及相关的其他依赖文件。
Spire.OCR.jar 文件可从 Spire.OCR for Java 下载页获取。如果您使用 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.ocr</artifactId>
<version>2.1.5</version>
</dependency>
</dependencies>
其他依赖文件请根据您所使用的操作系统选择下载:
Linux(须使用 CentOS 8、Ubuntu 18 及以上版本)
步骤 1、在 IntelliJ IDEA 中创建 Java 项目。

步骤 2、在菜单中的:文件 > 项目结构 > 模块 > 依赖中,添加 Spire.OCR.jar 作为项目依赖。

步骤 3、下载并解压其他依赖文件,将解压出的 dependencies 文件夹中的所有文件复制到项目目录中。

扫描识别本地图像中的文字
import com.spire.ocr.OcrScanner;
import java.io.*;
public class ScanLocalImage {
public static void main(String[] args) throws Exception {
// 指定依赖文件的路径
String dependencies = "dependencies/";
// 指定要扫描的图像文件的路径
String imageFile = "data/Sample.png";
// 指定输出文件的路径
String outputFile = "ScanLocalImage_out.txt";
// 创建一个 OcrScanner 对象
OcrScanner scanner = new OcrScanner();
// 设置 OcrScanner 对象的依赖文件路径
scanner.setDependencies(dependencies);
// 使用 OcrScanner 对象扫描指定的图像文件
scanner.scan(imageFile);
// 获取扫描的文本内容
String scannedText = scanner.getText().toString();
// 创建一个输出文件对象
File output = new File(outputFile);
// 如果输出文件已经存在,则删除它
if (output.exists()) {
output.delete();
}
// 创建一个 BufferedWriter 对象用于向输出文件写入内容
BufferedWriter writer = new BufferedWriter(new FileWriter(outputFile));
// 将扫描的文本内容写入输出文件中
writer.write(scannedText);
// 关闭 BufferedWriter 对象以释放资源
writer.close();
}
}指定语言文件扫描识别图像中的文字
import com.spire.ocr.OcrScanner;
import java.io.*;
public class ScanImageWithLanguageSelection {
public static void main(String[] args) throws Exception {
// 指定依赖文件的路径
String dependencies = "dependencies/";
// 指定语言文件的路径
String languageFile = "data/japandata";
// 指定要扫描的图像文件的路径
String imageFile = "data/JapaneseSample.png";
// 指定输出文件的路径
String outputFile = "ScanImageWithLanguageSelection_out.txt";
// 创建一个 OcrScanner 对象
OcrScanner scanner = new OcrScanner();
// 设置 OcrScanner 对象的依赖文件路径
scanner.setDependencies(dependencies);
// 加载指定的语言文件
scanner.loadLanguageFile(languageFile);
// 使用 OcrScanner 对象扫描指定的图像文件
scanner.scan(imageFile);
// 获取扫描的文本内容
String scannedText = scanner.getText().toString();
// 创建一个输出文件对象
File output = new File(outputFile);
// 如果输出文件已经存在,则删除它
if (output.exists()) {
output.delete();
}
// 创建一个 BufferedWriter 对象用于向输出文件写入内容
BufferedWriter writer = new BufferedWriter(new FileWriter(outputFile));
// 将扫描的文本内容写入输出文件中
writer.write(scannedText);
// 关闭 BufferedWriter 对象以释放资源
writer.close();
}
}如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。
Spire.Doc 11.12.4已发布。该版本新增转换Word到PostScript的文本整形功能(.NET 4.6以上支持)。详情请阅读以下内容。
新功能:
Document document = new Document();
document.LoadFromFile("input.docx");
document.LayoutOptions.UseHarfBuzzTextShaper = true; //true启用,false不启用
document.SaveToFile("output.ps", FileFormat.PostScript);将 PowerPoint 转换为 Html 是与他人在线共享演示文稿的一种方式。通过转换 PPT 为 Html,您可以将文档内容发布到网页上,使其具有普遍可访问性并吸引更多观众。本文将介绍如何使用 Spire.Presentation for Python 在 Python 中将 PowerPoint 文档转换为 HTML 格式。
本教程需要用到 Spire.Presentation for Python 和 plum-dispatch v1.7.4。可以通过以下 pip 命令将它们轻松安装到 Windows 中。
pip install Spire.Presentation如果您不确定如何安装,请参考此教程:如何在 Windows 中安装 Spire.Presentation for Python
Spire.Presentation for Python 提供的 Presentation.SaveToFile() 方法支持将 PPT文档转为 HTML 格式。具体步骤如下:
from spire.presentation.common import *
from spire.presentation import *
inputFile ="企业文化.pptx"
outputFile = "PPT转HTML.html"
# 创建Presentation实例
ppt = Presentation()
# 加载一个PowerPoint文档
ppt.LoadFromFile(inputFile)
# 将文档另存为HTML格式
ppt.SaveToFile(outputFile, FileFormat.Html)
ppt.Dispose()
如果只需要将某个指定的PPT幻灯片转换为 HTML,可以使用 ISlide.SaveToFile() 方法。具体步骤如下。
from spire.presentation.common import *
from spire.presentation import *
inputFile ="企业文化.pptx"
outputFile = "PPT幻灯片转HTML.html"
# 创建Presentation实例
ppt = Presentation()
# 加载一个PowerPoint文档
ppt.LoadFromFile(inputFile)
# 获取第一张幻灯片
slide = ppt.Slides[0]
# 将幻灯片保存为HTML格式
slide.SaveToFile(outputFile, FileFormat.Html)
ppt.Dispose()
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。
将 Excel 电子表格转换为图片格式具有多种优势,使数据共享和展示更为便捷和灵活。图片格式几乎可在所有设备上无障碍查看,这意味着即使没有安装 Excel 等软件的用户也能轻松查看表格内容。此外,转换为图片的 Excel 表格非常适合在线发布在网页、博客或社交媒体平台上,并能轻松地嵌入到其他文档中,使得信息呈现更为简洁直观。本文将展示如何使用 Spire.XLS for Python 通过 Python 程序将 Excel 表格转换为图片文件,方便表格数据的展示与共享。
本方案需要 Spire.XLS for Python 和 plum-dispatch v1.7.4。您可以通过以下 pip 命令将它轻松安装到 Windows 中。
pip install Spire.XLS如果您不清楚如何安装,请参考此教程: 如何在 Windows 中安装 Spire.XLS for Python
使用 Spire.XLS for Python 提供的 Worksheet.SaveToImage() 方法,开发者可以轻松将整个 Excel 工作表转换为图片文件。具体步骤如下:
from spire.xls import *
from spire.xls.common import *
# 创建Workbook类的对象并载入Excel文件
workbook = Workbook()
workbook.LoadFromFile("示例.xlsx")
# 获取第一个工作表
sheet = workbook.Worksheets.get_Item(0)
# 将该工作表保存为图片
image = sheet.ToImage(sheet.FirstRow, sheet.FirstColumn, sheet.LastRow, sheet.LastColumn)
# 将图片保存为PNG文件
image.Save("output/工作表转图片.png")
workbook.Dispose()
在将 Excel 工作表转换为图像时,生成的图像周围可能会有不需要的白色边框。如果需要去掉这些白色边框,删除原始工作表中设置的页面边距即可。具体步骤如下:
from spire.xls import *
from spire.xls.common import *
# 创建Workbook类的对象并载入Excel文件
workbook = Workbook()
workbook.LoadFromFile("示例.xlsx")
# 获取第一个工作表
sheet = workbook.Worksheets.get_Item(0)
# 将工作表的左、右、上和下边距值设置为零
sheet.PageSetup.TopMargin = 0
sheet.PageSetup.BottomMargin = 0
sheet.PageSetup.LeftMargin = 0
sheet.PageSetup.RightMargin = 0
# 将该工作表保存为图片
image = sheet.ToImage(sheet.FirstRow, sheet.FirstColumn, sheet.LastRow, sheet.LastColumn)
# 将图片保存为PNG文件
image.Save("output/工作表转无白边图片.png")
workbook.Dispose()
除了将整个工作表转换为图像外,Spire.XLS for Python 还支持将工作表的指定单元格范围转换为图像。具体步骤如下:
from spire.xls import *
from spire.xls.common import *
# 创建Workbook类的对象并载入Excel文件
workbook = Workbook()
workbook.LoadFromFile("示例.xlsx")
# 获取第一个工作表
sheet = workbook.Worksheets.get_Item(0)
# 将该工作表中的指定单元格范围保存为图片
image = sheet.ToImage(10, 1, 17, 6)
# 将图片保存为PNG文件
image.Save("output/单元格范围转图片.png")
workbook.Dispose()
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。
2024年元旦节将至,E-ICEBLUE 携全体员工预祝大家节日快乐、万事如意!
为感谢您一直以来的信任和支持,我司将于 2023年12月15日至2024年1月15日 期间推出本年度最大力度的促销活动。活动期间,我们为新老顾客准备了丰富多样的优惠方案,旨在帮助您以更实惠的价格购买到我们的产品。如果您对我们产品的测试效果感到满意,可以在活动期间下单以获取超值折扣优惠。若您已经购买了许可证,在活动期间续费也可以享受额外的折扣。
如果您想获取此优惠,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取报价或合同。
删除 Excel 中的行和列是确保数据保持整洁和结构化的关键步骤。定期清理不必要的行和列可以确保表格保持简洁并且只包含关键信息,使数据更加易于理解和分析。此外,通过删除多余的行和列,还能有效地减小文件大小,提高文件的加载和处理速度,从而提升工作效率。本文将介绍如何使用 Spire.XLS for Python 在 Python 中删除 Excel 中的行和列。
本教程需要 Spire.XLS for Python 和 plum-dispatch v1.7.4。您可以通过以下 pip 命令将它们轻松安装到 Windows 中。
pip install Spire.XLS如果您不确定如何安装,请参考此教程: 如何在 Windows 中安装 Spire.XLS for Python
Spire.XLS for Python 提供的 Worksheet.DeleteRow(rowIndex) 和 Worksheet.DeleteColumn(columnIndex) 方法支持从 Excel 工作表中删除指定的行和列。具体步骤如下:
from spire.xls import *
from spire.xls.common import *
# 创建 Workbook 对象
workbook = Workbook()
# 加载 Excel 文件
workbook.LoadFromFile("测试1.xlsx")
# 获取第一个工作表
sheet = workbook.Worksheets[0]
# 删除第9行
sheet.DeleteRow(9)
# 删除第3列
sheet.DeleteColumn(3)
# 保存结果文件
workbook.SaveToFile("删除指定和和列.xlsx", ExcelVersion.Version2016)
workbook.Dispose()
你可以使用 Worksheet.DeleteRow(startRowIndex, rowCount) 和 Worksheet.DeleteColumn(startColumnIndex, columnCount) 方法一次性删除 Excel 工作表中的多个相邻行和列。具体步骤如下:
from spire.xls import *
from spire.xls.common import *
# 创建 Workbook 对象
workbook = Workbook()
# 加载 Excel 文件
workbook.LoadFromFile("测试1.xlsx")
# 获取第一个工作表
sheet = workbook.Worksheets[0]
# 删除第5、6、7行
sheet.DeleteRow(5, 3)
# 删除第3、4列
sheet.DeleteColumn(3, 2)
# 保存结果文件
workbook.SaveToFile("删除多个行和列.xlsx", ExcelVersion.Version2016)
workbook.Dispose()
你可以使用 Worksheet.Row[rowIndex].IsBlank 和 Worksheet.Column[columnIndex].IsBlank 属性来检测 Excel 中的指定行和列是否为空白。如果结果为 True,则使用 Worksheet.DeleteRow(rowIndex) 和 Worksheet.DeleteColumn(columnIndex) 方法将它们从工作表中删除。以下步骤介绍了如何从 Excel 工作表中删除空白行和列:
from spire.xls import *
from spire.xls.common import *
# 创建 Workbook 对象
workbook = Workbook()
# 加载 Excel 文件
workbook.LoadFromFile("测试2.xlsx")
# 获取第一个工作表
sheet = workbook.Worksheets[0]
# 从工作表中删除空白行
for i in range(sheet.Rows.Length - 1, -1, -1):
if sheet.Rows[i].IsBlank:
sheet.DeleteRow(i + 1)
# 从工作表中删除空白列
for j in range(sheet.Columns.Length - 1, -1, -1):
if sheet.Columns[j].IsBlank:
sheet.DeleteColumn(j + 1)
# 保存结果文件
workbook.SaveToFile("删除空白行和列.xlsx", ExcelVersion.Version2016)
workbook.Dispose()
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。