冰蓝科技为每个产品都提供试用版本,每个注册用户都可以在我们网站免费下载并试用产品,试用版对产品功能不做任何限制,不过试用版本将在结果文档中添加一个额外的包含评估信息的工作表(Spire.XLS)或者一行警告信息。当你购买一项许可证后,你将通过邮件获得一个 .xml 格式的许可证文件。应用这一文件后,警告信息就会消失。
下面将详细介绍什么是许可文件和怎样应用它。包括以下几点:
- 许可文件介绍
- 如何应用许可文件
- 如何把许可文件作为嵌入资源来应用(.NET)
- 如何在网站应用许可文件(.NET)
- 如何用许可密钥应用许可文件(.NET/Java/C++/Python)
- 如何同时应用两个或两个以上许可文件(.NET 和 Java)
许可文件介绍
许可文件是一个 XML 格式的文件,它包含的信息有:购买者的用户名、邮箱、组织机构,许可证日期,产品名称,产品版本,以及许可的开发者数量和许可的网站数量等。许可文件是数字签名的,所以请不要修改它。
你需要在用 E-iceblue 产品进行各种操作之前应用许可证,但是在一个应用程序或进程中只需要应用一次。
如何应用许可文件
使用 E-iceblue 产品进行任何操作都将引导许可证模块检测许可证是否已经加载,如果没有加载,许可证模块将会尝试加载。许可证可以从文件、流或者嵌入的资源显式或隐式地加载,默认是隐式的。
注意:不管隐式调用方式还是显示调用方式,在使用 E-iceblue 产品之前都必须先应用许可文件。
隐式加载
这种模式下,许可证模块会尝试在以下几个位置查找许可文件:
- 包含运行时入口程序集(命名为 .exe 的程序集)的文件夹
- 调用 E-iceblue 产品程序集的嵌入资源
- 包含被运行时程序集引用的 E-iceblue 产品程序集(例如 Spire.Doc.dll, Spire.XLS.dll)的文件夹
- 包含在运行时调用 E-iceblue 产品的程序集的文件夹
当你从 E-iceblue 这取得许可证时,默认名称是 license.elic.xml.。你可以把它放在上面提及的任何位置。许可证模块会从你的应用里面自动加载它。你也可以修改许可文件的名称,如果这样做的话,在你用 E-iceblue 产品进行任何操作之前,必须告知许可证模块新的文件名称。比如:
- C#
- VB.NET
//告知许可证模块你-的许可证名称。
Spire.License.LicenseProvider.SetLicenseFileName("your-license-file-name");
//告知许可证模块你-的许可证名称。
Spire.License.LicenseProvider.SetLicenseFileName("your-license-file-name");
可以通过许可证模块来查找来获取许可证名称,比如:
- C#
- VB.NET
//获取许可证默认名称
String fileName = Spire.License.LicenseProvider.GetLicenseFileName();
//获取许可证默认名称
Dim fileName As String = Spire.License.LicenseProvider.GetLicenseFileName()
显式加载
这个模式下,许可证模块试图将从你提供的特定文件或者流来加载许可证。
通过全路径名显式的指定许可证文件。
- C#
- VB.NET
//指定许可证文件的全路径名
Spire.License.LicenseProvider.SetLicenseFileFullPath(@"D:\myApp\license.lic.xml");
//指定许可证文件的全路径名
Spire.License.LicenseProvider.SetLicenseFileFullPath("D:\myApp\license.lic.xml")
通过 FileInfo 对象显式指定许可证文件
- C#
- VB.NET
//通过FileInfo对象指定许可证文件
FileInfo licenseFile = new FileInfo(@"D:\myApp\license.lic.xml");
Spire.License.LicenseProvider.SetLicenseFile(licenseFile);
//通过FileInfo对象指定许可证文件
Dim licenseFile As New FileInfo("D:\myApp\license.lic.xml")
Spire.License.LicenseProvider.SetLicenseFile(licenseFile)
提供许可证数据流
- C#
- VB.NET
//通过许可证数据流指定许可证
Stream stream = File.OpenRead(@"D:\myApp\license.lic.xml");
Spire.License.LicenseProvider.SetLicenseFileStream(stream);
//通过许可证数据流指定许可证
Dim stream As Stream = File.OpenRead("D:\myApp\license.lic.xml")
Spire.License.LicenseProvider.SetLicenseFileStream(stream)
如何把许可文件作为嵌入资源来应用
把许可证文件以嵌入的资源方式包含到调用 E-iceblue 产品程序集中是很好的方式,它会让你的发布和部署更简单。你再也不用担心许可证会丢失。在 Visual Studio 中通过以下几个步骤来包含许可文件作为嵌入的资源:
- 在解决方案管理器中,右键点击你的工程,然后点击添加|添加现有项目菜单。
- 在打开文件浏览对话框中找到你的许可证文件,然后点击添加按钮把它添加到你的工程。
- 在解决方案管理器中选中许可证文件,并在属性窗口设置创建方式为嵌入资源。
- 如果你的许可证文件不是默认名称 license.elic.xml,在你的代码里面调用 Spire.License.LicenseProvider.SetLicenseFileName 方法将真实的名称告知许可证模块。
另请参照:怎样通过许可证密钥应用许可证
如何在网站应用许可文件
如果你想在网站上应用许可证文件,你只需要把许可证文件复制到包含网站引用程序集的Bin文件夹里。
另请参照:怎样通过许可证密钥应用许可证
如何用许可密钥应用许可文件
有时,你的应用程序因为缺少权限或其他原因无法读取许可文件,在这种情况下,你可以调用 Spire.License.LicenseProvider.SetLicenseKey(String key) 方法来应用许可证。Key 参数是 xml 许可文件的元素 Key 属性的值。为了确保在使用我们产品进行任何操作之前能成功应用许可证,我们建议在入口方法的第一行调用这个方法。
- C#
- VB.NET
//注册许可证密钥
Spire.License.LicenseProvider.SetLicenseKey("your license key");
//Spire.Doc version 11.5.6 及以上
Spire.Doc.License.LicenseProvider.SetLicenseKey("your license key");
//Spire.XLS version 13.6.0 及以上
Spire.Xls.License.LicenseProvider.SetLicenseKey("your license key");
//Spire.PDF version 9.6.0 及以上
Spire.Pdf.License.LicenseProvider.SetLicenseKey("your license key");
//Spire.Presentation version 8.6.0 及以上
Spire.Presentation.License.LicenseProvider.SetLicenseKey("your license key");
'注册许可证密钥
Spire.License.LicenseProvider.SetLicenseKey("your license key");
'Spire.Doc version 11.5.6 及以上
Spire.Doc.License.LicenseProvider.SetLicenseKey("your license key");
'Spire.XLS version 13.6.0 及以上
Spire.Xls.License.LicenseProvider.SetLicenseKey("your license key");
'Spire.PDF version 9.6.0 及以上
Spire.Pdf.License.LicenseProvider.SetLicenseKey("your license key");
'Spire.Presentation version 8.6.0 及以上
Spire.Presentation.License.LicenseProvider.SetLicenseKey("your license key");
- Java
//注册许可证密钥
com.spire.license.LicenseProvider.setLicenseKey("your license key");
//Spire.Doc version 12.1.10 及以上
com.spire.doc.license.LicenseProvider.setLicenseKey("Key");
//Spire.XLS version 14.1.3 及以上
com.spire.xls.license.LicenseProvider.setLicenseKey("Key");
//Spire.Presentation version 9.1.2 及以上
com.spire.presentation.license.LicenseProvider.setLicenseKey("Key");
//Spire.PDF version 10.1.9 及以上
com.spire.pdf.license.LicenseProvider.setLicenseKey("Key");
//Spire.Ocr version 1.9.3 及以上
com.spire.ocr.license.LicenseProvider.setLicenseKey("Key");
//Spire.Barcode version 5.1.3 及以上
com.spire.barcode.license.LicenseProvider.setLicenseKey("Key");
- C++
//Spire.Doc
Spire::Doc::License::SetLicenseKey("your license key")
//Spire.XLS
Spire::Xls::License::SetLicenseKey("your license key")
//Spire.Presentation
Spire::Presentation::License::SetLicenseKey("your license key")
//Spire.PDF
Spire::Pdf::License::SetLicenseKey("your license key")
- Python
from spire.doc import *
from spire.pdf import *
from spire.xls import *
from spire.presentation import *
from spire.pdf.common import License as pdfLicense
from spire.doc.common import License as docLicense
from spire.xls.common import License as xlsLicense
from spire.presentation.common import License as pptLicense
# Apply license for Spire.PDF
pdfLicense.SetLicenseKey(key)
# Apply license for Spire.Doc
docLicense.SetLicenseKey(key)
# Apply license for Spire.XLS
xlsLicense.SetLicenseKey(key)
# Apply license for Spire.Presentation
pptLicense.SetLicenseKey(key)
- 如果是 WinForm 应用程序或者是 Console 应用程序,上面的代码应该添加到 main 方法里面。
- 如果是 Web 应用程序,需要先添加 Global.asax 到你的项目然后添加以上方法代码到 Application_Start 方法里。
- 如果是 Sliverlight 应用程序,添加以上方法代码到 App.Application_Startup 方法。我们假设App类是 SliverlightAppEntry。
如何同时应用两个或两个以上许可文件
如果你需要在一个项目中同时调用 Spire.Doc,Spire.XLS 和 Spire.PDF, 则需要下载 Spire.Office 来同时使用它们,您无需购买 Spire.Office。请参考如何在应用程序中应用2个或者多个许可证。
如果你要通过许可证密钥的方式应用两个或两个以上的许可证,你可以在你整个方法的起始位置调用以下方法。
- C#
- Java
Spire.Doc.License.LicenseProvider.SetLicenseKey("your license key");
Spire.Doc.License.LicenseProvider.LoadLicense();
Spire.Xls.License.LicenseProvider.SetLicenseKey("your license key");
Spire.Xls.License.LicenseProvider.LoadLicense();
Spire.Pdf.License.LicenseProvider.SetLicenseKey("your license key");
Spire.Pdf.License.LicenseProvider.LoadLicense();
Spire.Presentation.License.LicenseProvider.SetLicenseKey("your license key");
Spire.Presentation.License.LicenseProvider.LoadLicense();
com.spire.license.LicenseProvider.setLicenseKey("your license key1");
com.spire.license.LicenseProvider.loadLicense();
com.spire.license.LicenseProvider.setLicenseKey("your license key2");
com.spire.license.LicenseProvider.loadLicense();
如果你是通过许可证文件来应用许可证,你可以调用下面的方法:
- C#
Spire.License.LicenseProvider.SetLicenseFileName("license1.elic.xml");
Spire.License.LicenseProvider.LoadLicense();
Spire.License.LicenseProvider.SetLicenseFileName("license2.elic.xml");
Spire.License.LicenseProvider.LoadLicense();