在实际环境中测试
在生产中测试无水印。
随时随地为您服务。
OCR 表示光学字符识别。 这是一种使用机器将文本图像转换为可搜索和编辑的数字文本的技术。
这项技术已经存在了一段时间,但随着机器学习的发展,它正变得越来越流行。 就在最近几年,计算机科学家们开发出了一种算法,可以真正读懂草书手写体,如今许多人仍在使用草书手写体,包括医生和律师。 该工具的用途包括扫描整本书、从单个字母中提取文本、将整个 PDF 文件转换为可编辑格式、文档识别、TIFF 平台独立性等。光学字符识别引擎可用于许多不同的行业,如媒体和出版公司、律师事务所、图书馆、公共记录机构等。 许多公司使用 OCR 软件对纸质支票和报表进行数字化处理,自动纠正拼写或识别文本控制台,从而节省了手工扫描文件所需的时间和精力。
有时图片上的文字不是英文。 在这种情况下,人们需要做的是使用 OCR 工具执行 OCR,在 PNG 图像上运行翻译,然后才能提取文本并将其转换为英文字符。
在本文中,我们将比较两个最常用的 OCR 光栅格式和 PDF 文档图像库和应用程序。 它们是
Aspose.OCR for .NET 是一款功能强大的光学字符识别软件包。 这对任何应用程序来说都是一个极好的补充,可以实现流程自动化。 独立的 OCR API 具有可扩展性、用户友好性和紧凑性。 它包含一组简单的类,可提供开始识别文本所需的所有功能,无需任何额外的麻烦,并能保持正确的文本顺序。 Aspose.OCR 可读取 100 多种不同的格式,并提供了大量有用的功能,包括读取字体、应用样式效果等。(粗体/斜体)此外,您还可以在翻译过程中去除图像中的噪点。 API 可以使用 GPU 执行光学字符识别,从而节省 CPU 的功耗。
将结果保存为文本、DOCX 或 PDF 格式
对于切换导航的集成,Aspose 是一个不错的选择。 识别文本控制台和文档文本识别或图像到文本或图像 OCR API 是可能有用的功能示例。
除自动拼写检查外,图像检测软件的设计还支持多种输出格式(如 PNG)在翻译过程中,翻译人员必须能够在不需要额外的 OCR API 的情况下忽略非文本块。 可在开发环境中访问独立的 API 功能,从图像中捕捉文本。
IronOCR for .NET在 .NET 应用程序和网站中读取照片和 PDF 中的文本内容。 该软件有助于扫描照片中的文字和 BarCode。 它能以纯文本或结构化数据的形式输出内容。 IronOCR 支持多种全球语言。 OCR 库可用于 MVC、Web、控制台和桌面 .NET 应用程序。 对于商业部署,在开发团队的直接协助下提供 License。
打开 Visual Studio,进入文件菜单。 选择新建项目,然后选择控制台应用程序。
在相应文本框中输入项目名称并选择文件路径。 然后,单击 Create 按钮并选择 .NET Framework:
现在,项目将为所选应用程序生成结构。
我们可以使用 NuGet 在应用程序中安装 Aspose.OCR API。 只需进入 Visual Studio 的 "工具 "菜单,选择 "NuGet 包管理器 "即可。 从侧菜单中选择 Manage NuGet Package for a solution。 它将打开一个 NuGet 包管理器窗口。 转到 "浏览 "选项卡并搜索 Aspose.OCR。 然后从搜索结果中选择 Aspose API,点击 "安装 "按钮。 Aspose API 将在项目中安装和使用。
同样,您也可以使用控制台安装 Aspose.OCR。 打开通常位于 Visual Studio 项目底部的 NuGet 控制台,编写以下命令并点击回车。
“Install-Package Aspose.OCR -Version x.x.0”
IronOCR 库可以通过四种方式下载和安装。
它们是
下面的截图显示了如何打开 NuGet 包管理器。
在 "软件包管理器 "窗口中,点击 "浏览 "并搜索关键字 "IronOCR",如下图所示:
从上图中,我们可以看到相关搜索的列表。 我们需要选择所需的选项,将软件包安装到解决方案中。
Install-Package IronOcr
第三种方法是直接从网站上下载 NuGet 软件包。
点击链接请点击此处直接从网站下载最新软件包。下载完成后,请按照以下步骤将软件包添加到项目中。
IronOCR 和 Aspose.OCR 都有一种 OCR 技术,可以将图像转换成文本。
下面的代码片段演示了使用识别图像方法对页面图像执行 OCR 操作。
// For complete examples and data files, please go to https://github.com/aspose-ocr/Aspose.OCR-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir_OCR();
// Initialize an instance of AsposeOcr
AsposeOcr api = new AsposeOcr();
// Recognize image
string result = api.RecognizeImage(dataDir + "Sampleocr.bmp");
// Display the recognized text
Console.WriteLine(result);
// For complete examples and data files, please go to https://github.com/aspose-ocr/Aspose.OCR-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir_OCR();
// Initialize an instance of AsposeOcr
AsposeOcr api = new AsposeOcr();
// Recognize image
string result = api.RecognizeImage(dataDir + "Sampleocr.bmp");
// Display the recognized text
Console.WriteLine(result);
' For complete examples and data files, please go to https://github.com/aspose-ocr/Aspose.OCR-for-.NET
' The path to the documents directory.
Dim dataDir As String = RunExamples.GetDataDir_OCR()
' Initialize an instance of AsposeOcr
Dim api As New AsposeOcr()
' Recognize image
Dim result As String = api.RecognizeImage(dataDir & "Sampleocr.bmp")
' Display the recognized text
Console.WriteLine(result)
下面的代码片段演示了使用识别线方法对包含单行的图像执行 OCR 操作。
// For complete examples and data files, please go to https://github.com/aspose-ocr/Aspose.OCR-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir_OCR();
// Initialize an instance of AsposeOcr
AsposeOcr api = new AsposeOcr();
// Recognize image
string result = api.RecognizeLine(dataDir + "sample_line.png");
// Display the recognized text
Console.WriteLine(result);
// For complete examples and data files, please go to https://github.com/aspose-ocr/Aspose.OCR-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir_OCR();
// Initialize an instance of AsposeOcr
AsposeOcr api = new AsposeOcr();
// Recognize image
string result = api.RecognizeLine(dataDir + "sample_line.png");
// Display the recognized text
Console.WriteLine(result);
' For complete examples and data files, please go to https://github.com/aspose-ocr/Aspose.OCR-for-.NET
' The path to the documents directory.
Dim dataDir As String = RunExamples.GetDataDir_OCR()
' Initialize an instance of AsposeOcr
Dim api As New AsposeOcr()
' Recognize image
Dim result As String = api.RecognizeLine(dataDir & "sample_line.png")
' Display the recognized text
Console.WriteLine(result)
var Ocr = new IronTesseract(); // nothing to configure
Ocr.Language = OcrLanguage.EnglishBest;
Ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract5;
using (var Input = new OcrInput())
{
Input.AddImage(@"3.png");
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
Console.ReadKey();
}
var Ocr = new IronTesseract(); // nothing to configure
Ocr.Language = OcrLanguage.EnglishBest;
Ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract5;
using (var Input = new OcrInput())
{
Input.AddImage(@"3.png");
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
Console.ReadKey();
}
Dim Ocr = New IronTesseract() ' nothing to configure
Ocr.Language = OcrLanguage.EnglishBest
Ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract5
Using Input = New OcrInput()
Input.AddImage("3.png")
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
Console.ReadKey()
End Using
上面演示了 Tesseract 5 API,它允许我们将图像文件转换为文本。 在上述代码中,我们正在为 IronTesseract
创建一个对象。 我们还在制作一个 OcrInput
对象,它将允许我们添加一个或多个图片文件。 在使用 OcrInput
对象方法添加时,我们可能需要在代码中给出可用的图片路径。 可添加任意数量的图片。 我们可以利用之前构建的 "IronTesseract "对象中的 "Read "函数,通过解析图像文件并将结果提取到 OCR 结果中来获取图像。 它能够从照片中提取文本并将其转换为字符串。
我们还可以使用 Tesseract 添加多帧图像。 AddMultiFrameTiff` 是该操作的另一种方法。 Tesseract 库会读取图像中的每一帧,并将每一帧视为一个不同的页面。 该过程将读取图像的第一帧,然后读取下一帧,以此类推,直到扫描完图像的所有帧。 本方法仅支持 TIFF 图像格式。
上图是 IronOCR 的输出结果,它将数据准确地转换成了可编辑的文本。
IronOCR 和 Aspose.OCR 可将 PDF 文件转换为可编辑的文本。 Aspose.OCR 为用户提供了一系列选项,如保存页面、编辑图像、识别页面等。它还提供了文本、文档、HTML 格式等保存选项。IronOCR 还允许我们将转换后的 OCR 文件保存为 HTML、文本、PDF 等格式。
Aspose.OCR 提供的 "RecognizePdf "方法可以识别从扫描的 PDF 文件中提取的图像中的文本。 RecognizePdf "方法以 PDF 路径和 "DocumentRecognitionSettings "对象为参数。 以下代码片段演示了如何使用 "RecognizePdf 方法 "从扫描的多页 PDF 文件中识别图像。
// The path to the PDF file
string dataDir = RunExamples.GetDataDir_OCR();
// Archive Path
string fullPath = dataDir + "OCR.pdf";
// Recognize images from PDF
DocumentRecognitionSettings set = new DocumentRecognitionSettings();
set.DetectAreas = false;
List<RecognitionResult> result = api.RecognizePdf(imgPath, set);
// Print result
int pageNumber = 0;
foreach (var page in result)
{
System.Console.WriteLine($"Page: {pageNumber++} text: {page.RecognitionText}");
}
// The path to the PDF file
string dataDir = RunExamples.GetDataDir_OCR();
// Archive Path
string fullPath = dataDir + "OCR.pdf";
// Recognize images from PDF
DocumentRecognitionSettings set = new DocumentRecognitionSettings();
set.DetectAreas = false;
List<RecognitionResult> result = api.RecognizePdf(imgPath, set);
// Print result
int pageNumber = 0;
foreach (var page in result)
{
System.Console.WriteLine($"Page: {pageNumber++} text: {page.RecognitionText}");
}
' The path to the PDF file
Dim dataDir As String = RunExamples.GetDataDir_OCR()
' Archive Path
Dim fullPath As String = dataDir & "OCR.pdf"
' Recognize images from PDF
Dim [set] As New DocumentRecognitionSettings()
[set].DetectAreas = False
Dim result As List(Of RecognitionResult) = api.RecognizePdf(imgPath, [set])
' Print result
Dim pageNumber As Integer = 0
For Each page In result
'INSTANT VB WARNING: An assignment within expression was extracted from the following statement:
'ORIGINAL LINE: System.Console.WriteLine(string.Format("Page: {0} text: {1}", pageNumber++, page.RecognitionText));
System.Console.WriteLine($"Page: {pageNumber} text: {page.RecognitionText}")
pageNumber += 1
Next page
我们还可以使用 OCRInput
管理 PDF 文件。 文档的每一页都将由 "IronTesseract "类阅读。 然后将从网页中提取文本。 我们还可以使用名为 "AddPDF "的第二个函数打开受保护的文档,该函数允许我们将 PDF 添加到文档列表中(如果密码受到保护). 以下代码演示了如何打开受密码保护的 PDF 文档:
var Ocr = new IronTesseract(); // nothing to configure
using (var Input = new OcrInput())
{
Input.AddPdf("example.pdf", "password");
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
var Ocr = new IronTesseract(); // nothing to configure
using (var Input = new OcrInput())
{
Input.AddPdf("example.pdf", "password");
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
Dim Ocr = New IronTesseract() ' nothing to configure
Using Input = New OcrInput()
Input.AddPdf("example.pdf", "password")
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
我们可以使用 AddPdfPage
阅读并提取 PDF 文档中单页的内容。 只需指定我们希望从中提取文本的页码。 AddPdfPage "允许我们从指定的众多页面中提取文本。 在 IEnumerable<int>
中,我们可以轻松地指定多个页面。 我们还必须包括文件位置以及文件扩展名。下面的代码示例演示了这一点:
IEnumerable<int> numbers = new List<int> {2,8,10 };
var Ocr = new IronTesseract();
using (var Input = new OcrInput())
{
//single page
Input.AddPdfPage("example.pdf",10);
//Multiple page
Input.AddPdfPages("example.pdf", numbers);
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
Result.SaveAsTextFile("ocrtext.txt");
}
IEnumerable<int> numbers = new List<int> {2,8,10 };
var Ocr = new IronTesseract();
using (var Input = new OcrInput())
{
//single page
Input.AddPdfPage("example.pdf",10);
//Multiple page
Input.AddPdfPages("example.pdf", numbers);
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
Result.SaveAsTextFile("ocrtext.txt");
}
Dim numbers As IEnumerable(Of Integer) = New List(Of Integer) From {2, 8, 10}
Dim Ocr = New IronTesseract()
Using Input = New OcrInput()
'single page
Input.AddPdfPage("example.pdf",10)
'Multiple page
Input.AddPdfPages("example.pdf", numbers)
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
Result.SaveAsTextFile("ocrtext.txt")
End Using
使用 SaveAsTextFile
函数,我们可以将结果存储为文本文件,这样就可以将文件下载到输出目录路径。 此外,我们还可以使用 SaveAsHocrFile 将文件保存为 HTML 文件。
Aspose.OCR 还有一些附加选项,如绘制文本区域、绘制图片区域、绘制表格区域、绘制识别区域等。这些都有助于用户提高 OCR 的性能。 该应用程序不仅可以执行 OCR,我们还能执行合并 PDF、分割 PDF、编辑 PDF 等操作。
IronOCR 具有独特的功能,可以读取扫描文件中的条形码和 QR 码。 下面的代码展示了我们如何从给定的图像或文档中读取条形码。
var Ocr = new IronTesseract(); // nothing to configure
Ocr.Language = OcrLanguage.EnglishBest;
Ocr.Configuration.ReadBarCodes = true;
Ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract5;
using (var Input = new OcrInput())
{
Input.AddImage("barcode.gif");
var Result = Ocr.Read(Input);
foreach (var Barcode in Result.Barcodes)
{
Console.WriteLine(Barcode.Value);
}
}
var Ocr = new IronTesseract(); // nothing to configure
Ocr.Language = OcrLanguage.EnglishBest;
Ocr.Configuration.ReadBarCodes = true;
Ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract5;
using (var Input = new OcrInput())
{
Input.AddImage("barcode.gif");
var Result = Ocr.Read(Input);
foreach (var Barcode in Result.Barcodes)
{
Console.WriteLine(Barcode.Value);
}
}
Dim Ocr = New IronTesseract() ' nothing to configure
Ocr.Language = OcrLanguage.EnglishBest
Ocr.Configuration.ReadBarCodes = True
Ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract5
Using Input = New OcrInput()
Input.AddImage("barcode.gif")
Dim Result = Ocr.Read(Input)
For Each Barcode In Result.Barcodes
Console.WriteLine(Barcode.Value)
Next Barcode
End Using
以上是有助于从给定图像或 PDF 文档中读取条形码的代码。 它可以从页面/图像中读取一个以上的 BarCode。 要读取条形码,IronOCR 有一个独特的设置,即 Ocr.Configuration.ReadBarCodes
。 默认值设置为 false。
读取输入内容后,数据将保存到名为 OCRResult
的对象中。 这有一个名为 BarCode 的属性,它会在一个列表中列出所有可用的条形码数据。通过使用 foreach
循环,我们可以逐一获取所有条形码详细信息。 同时,还要扫描条形码并读取条形码的值--两个操作在一个过程中完成。
它还将支持线程选项。 我们可以同时执行多个 OCR 流程。IronOCR 还能识别指定区域中的特定区域。
var Ocr = new IronTesseract();
using (var Input = new OcrInput())
{
var ContentArea = new System.Drawing.Rectangle() { X = 215, Y = 1250, Height = 280, Width = 1335 };
Input.Add("document.png", ContentArea);
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
var Ocr = new IronTesseract();
using (var Input = new OcrInput())
{
var ContentArea = new System.Drawing.Rectangle() { X = 215, Y = 1250, Height = 280, Width = 1335 };
Input.Add("document.png", ContentArea);
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
Dim Ocr = New IronTesseract()
Using Input = New OcrInput()
Dim ContentArea = New System.Drawing.Rectangle() With {
.X = 215,
.Y = 1250,
.Height = 280,
.Width = 1335
}
Input.Add("document.png", ContentArea)
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
以上是对特定区域执行 OCR 的示例代码。 我们只需指定图片或 PDF 中的矩形区域。 IronOCR 中的 Tesseract 引擎可以帮助我们识别文本。
30 天退款保证: IronOCR 实行 30 天退款政策。 因此,如果您在购买软件后改变主意,可以在 30 天内要求退款。
轻松集成: IronOCR 与项目和环境的集成非常简单,我们只需编写一行代码,然后从 NuGet 软件包中添加即可。 或者,我们可以从网上下载,然后将其与我们的环境集成。
永久许可: 每个许可只需购买一次,无需续订。
免费支持和产品更新:每个 License 都附带一年的免费产品更新和产品背后团队的支持。 可以随时购买扩展。 可查看扩展内容。
即时许可证: 收到付款后,将立即发送注册许可证密钥。
所有许可证均为永久许可证,适用于开发、暂存和生产。
永久许可证
此软件包可让一个组织中的单个软件开发人员在一个地方利用此 Iron Software。 它可用于单个网络应用程序、内联网应用程序或桌面软件程序。 许可证不可转让,也不能在组织或代理/客户关系之外共享。本许可类型与所有其他许可类型一样,明确排除本协议未明确授予的所有权利,不包括 OEM 再分发和在不购买额外保险的情况下将 Iron Software 作为 SaaS 使用。
定价: 每年 499 美元起。
永久许可证
这样,一个组织中预定数量的软件开发人员就可以在单个地点使用该 Iron Software,最多不超过 10 人。 IronOCR 可用于任意数量的网站、内网应用程序或桌面软件应用程序。本许可类型与所有其他许可类型一样,明确排除本协议未明确授予的所有权利,包括 OEM 再分发和在未购买额外保险的情况下将 Iron 软件作为 SaaS 使用。 该许可证可与单个项目集成,最多可集成 10 个项目。
定价: 每年 999 美元起。
永久许可证
这样,一个组织中数量不限的软件开发人员就可以在无限多的地点使用这款 Iron Software。 您可以在任意数量的网站、内网应用程序或桌面软件应用程序中使用它。许可证不可转让,也不能在组织或代理/客户关系之外共享。本许可类型与所有其他许可类型一样,明确排除本协议未明确授予的所有权利,包括 OEM 再分发和在未购买额外保险的情况下将 Iron Software 作为 SaaS 使用。
定价: 每年 2999 美元起。
Royalty-Free Redistribution - 这允许您将本 Iron Software 作为一些不同包装的商业产品的一部分进行发布(无需支付版税)基于基本许可证所涵盖的项目数量。 它允许在 SaaS 软件服务中部署 Iron Software,以基本许可证涵盖的项目数量为基础。
定价: 每年 1599 美元起。
开发人员小型企业许可证允许开发人员使用该产品创建无限量的最终用户软件,并仅在其组织内的一个物理位置安装。 在部署最终用户软件时,您需要为开发团队中的每位开发人员或使用该软件的每个物理位置购买一份 License。 开发人员小型企业许可证不允许您向第三方、面向公众的网站、应用程序、外联网、多站点内联网或软件即服务分发最终用户软件。(软件即服务)项目使用场景。 您只能将使用 OEM 许可证开发的应用程序部署到单个客户端。 如果您想创建供其他公司使用的库或将您的作品作为开源软件发布,则需要另一种类型的许可证。
定价: 每年 799 美元起。
开发人员 OEM 许可证意味着一名开发人员可以在任何地点的任何数量的计算机上使用该产品。 因此,如果您在一个办公室工作,但需要在另一个办公室完成一个小时的工作--有了这种许可证就可以做到这一点。 OEM 开发人员许可证涵盖一个软件产品生产者,即不是产品授权经销商但正在制作使用其功能的软件的人。 要向最终用户分发最终用户软件,您需要使用此许可证类型。 为了能够向第三方、面向公众的网站/应用程序、外联网、多站点内联网或 SaaS 项目使用场景分发最终用户软件,必须为开发团队中的每位开发人员购买一份开发人员 License。 本许可不支持为最终用户创建 API 或 SDK 等软件。
定价: 每年 2397 美元起。
Site Small Business License 允许最多十名开发人员使用该产品创建无限量的最终用户软件,可在您的十个物理位置中的任意位置使用(例如,独立的办公楼,或者如果您不是一家拥有多个办事处的企业,任何实际地点). 如果您有十名以上的开发人员,或者您想在十个以上的地点使用 Aspose,那么您可以购买多站点小型企业许可证。 本许可证不支持向其他组织分发使用本许可证创建的软件。
定价: 每年 3995 美元起。
计量 OEM 许可证支持无限开发人员、无限地点和无限最终用户软件。 它允许用户将最终用户软件分发给第三方。 计量 OEM 许可证适用于面向公众的网站/应用程序,也可用于支持外联网或 SaaS 项目。 它创建的最终用户软件可在具有 API 或 SDK 的开发库中使用。
定价: 每年 1999 美元起。
IronOCR Lite许可证包括一个开发者软件包和一年的支持,价格约为 499 美元,而 Aspose.OCR 附带一个开发者软件包的价格为 799 美元,附带免费技术支持,附带付费支持的价格为 1,198 美元。 IronOCR 专业许可证包括 10 个开发人员软件包和一年的支持服务,价格为 999 美元;而Aspose Site OEM包括 10 个开发人员软件包,价格为每年 11,186 美元,提供免费技术支持,而付费技术发布和更新则将这一数字提高到 23,171 美元。
IronOCR Lite和Professional套餐有 SaaS 服务或 OEM 以及 5 年支持选项。 Lite套餐包括一个开发人员套餐,提供 5 年支持以及 SaaS 和 OEM 服务,价格为 2897 美元,而 Aspose 则提供 SaaS 或 OEM 服务以及定制支持选项。 IronOCR Professional许可证包括一个10名开发人员的软件包,提供一年的付费支持以及SaaS和OEM服务,所有服务的价格为23171美元;而Aspose提供的10名开发人员软件包不含支持,但提供SaaS和OEM服务,价格为11186美元。
IronOCR 在 .NET Framework 背景下提供的 Tesseract 简单明了、易于使用。 它以多种方式支持照片和 PDF 文档。 它还提供了一些用于提高 Tesseract OCR 库性能的设置。 一次作业可支持多种语言。 要了解有关 Tesseract OCR 的更多信息,请访问其网站。
Aspose OCR 是一款使用人工智能引擎识别图像和 PDF 文档的软件应用程序。 它还提供了各种设置,以提高 OCR 过程的性能。 此外,它还提供了选择多种语言然后执行 OCR 的选项。 Aspose 对页面转换的使用有一些限制。 此外,不同操作系统的价格也不同。
与 Aspose 相比,IronOCR 软件包提供了更好的许可和支持。 此外,Aspose 的价格较高。IronOCR 的起价为 499 美元,而 Aspose 的起价为每年 999 美元。 此外,与 Aspose 相比,IronOCR 提供了更多的功能,而且它以单一价格支持多种平台。
那么,您还在等什么呢? 免费试用对所有人开放。 您可以获得许可证在此直接开始。