检测嵌入的许可信息

强大的 C++ API 解决方案,用于检测字体的许可信息。 使用 Aspose.Font for C++ 发现隐藏价值:轻松提取嵌入的许可信息!

 

释放许可信息提取的力量! 我们先进的 C++ API 解决方案将帮助您轻松提取嵌入式许可信息。 它使用先进的算法来提取许可信息,确保您拥有最可靠的数据。 无论是嵌入文档、媒体文件还是软件中,我们的 API 都支持多种文件格式。 无论您是初创公司还是大型企业,我们的 API 都可以扩展以满足您的许可信息提取需求。 我们的 API 采用 C++ 构建,可实现无缝集成,可以轻松整合到您现有的软件应用程序和工作流程中。 不要让嵌入的许可信息保持隐藏和未得到充分利用。 使用我们的 C++ API 解决方案增强您的许可管理和知识产权保护工作。 获取免费试用版以确保 Aspose.Font 是您需要的工具。

重要的是要记住,字体被视为软件,因此必须付费才能合法使用。虽然有一些免费字体可用,但大多数都没有。为确保您使用的字体符合版权法,有必要购买许可证。

需要字体许可证才能以特定方式合法使用字体,例如在网站、印刷品或软件中。如果没有适当的许可,以某些方式使用字体可能会侵犯字体创建者或所有者的权利。字体许可证定义了可以使用字体的条款和条件。字体许可限制可能会有所不同。有几个选项:

  • 该字体可能会嵌入并临时加载到其他系统上。它允许编辑,包括使用嵌入字体格式化新文本,并且可以保存任何更改。

  • 该字体可以嵌入并永久安装,以供远程系统或其他用户使用。

  • 字体可以嵌入并临时加载到其他系统上以查看或打印文档。

  • 未经合法所有者的明确许可,不得以任何方式修改、嵌入或交换字体。

此页面提供有关如何提取有关 TrueType 格式字体的许可限制的信息的信息。显示如何使用该解决方案的其余代码片段可以在 Aspose Github 项目 项目中找到。此存储库包含大量 C++ 代码示例。要查看字体中的许可证和其他嵌入信息,请尝试我们的 字体元数据 跨平台应用程序。

要提取嵌入式许可证,我们需要:

  • Aspose.Font for C++ API是一个功能丰富、功能强大且易于使用的文档操作和转换API。

  • 打开 NuGet 包管理器,搜索 Aspose.Font 并安装。您也可以从包管理器控制台使用以下命令。

Package Manager Console Command


    PM> Install-Package Aspose.Font

使用C++检测字体是否包含授权信息的步骤:

  1. 指定需要检查的字体。
  2. 创建一个 FontDefinition 类的实例,传入字体类型和字体文件信息。然后使用 Open() 方法打开字体文件。
  3. 检查字体是否有 OS/2 表,这是存储许可信息的地方。使用 GetLicenseFlags() 方法检索许可标志(如果有)。然后代码检测允许的嵌入类型。

用于检测字体中的许可信息的 C++ 代码

    using Aspose::Font::Ttf;
    //Font to check
    System::String fileName = dataDir + u"Montserrat-Regular.ttf";
    //Font file name with the full path
    
    System::SharedPtr<FontDefinition> fd = System::MakeObject<FontDefinition>(Aspose::Font::FontType::TTF, System::MakeObject<FontFileDefinition>(u"ttf", System::MakeObject<FileSystemStreamSource>(fileName)));
    System::SharedPtr<TtfFont> font = System::DynamicCast_noexcept<Aspose::Font::Ttf::TtfFont>(Aspose::Font::Font::Open(fd));
    System::SharedPtr<LicenseFlags> licenseFlags;
    if (font->get_TtfTables()->get_Os2Table() != nullptr)
    {
        licenseFlags = font->get_TtfTables()->get_Os2Table()->GetLicenseFlags();
    }
    
    if (licenseFlags == nullptr || licenseFlags->get_FSTypeAbsent())
    {
        System::Console::WriteLine(System::String::Format(u"Font {0} has no embedded license restrictions", font->get_FontName()));
    }
    else
    {
        if (licenseFlags->get_IsEditableEmbedding())
        {
            System::Console::WriteLine(System::String::Format(u"Font {0} may be embedded, and may be temporarily loaded on other systems.", font->get_FontName()) + u" In addition, editing is permitted, including ability to format new text" + u" using the embedded font, and changes may be saved.");
        }
        else if (licenseFlags->get_IsInstallableEmbedding())
        {
            System::Console::WriteLine(System::String::Format(u"Font {0} may be embedded, and may be permanently installed", font->get_FontName()) + u" for use on a remote systems, or for use by other users.");
        }
        else if (licenseFlags->get_IsPreviewAndPrintEmbedding())
        {
            System::Console::WriteLine(System::String::Format(u"Font {0} may be embedded, and may be temporarily loaded", font->get_FontName()) + u"  on other systems for purposes of viewing or printing the document.");
        }
        else if (licenseFlags->get_IsRestrictedLicenseEmbedding())
        {
            System::Console::WriteLine(System::String::Format(u"Font {0} must not be modified, embedded or exchanged in any manner", font->get_FontName()) + u" without first obtaining explicit permission of the legal owner.");
        }
    }



常问问题

1. 什么是字体许可证?

它是一份声明字体用途、使用限制、许可和版权的文件。

2. 您需要许可字体吗?

与任何其他软件一样,字体受版权保护,因此需要获得许可。不管怎样,一些授权字体可以免费用于商业需求。

3. 我可以将字体用于商业用途吗?

是的,字体可以用于商业用途,无论是付费还是免费。许可证也包含此类信息。

4. 如何查看字体授权?

要在线查看字体是否包含许可证信息,您可以使用 字体元数据 应用程序。您将在其中看到许可证说明、许可证信息 URL 和版权声明等信息。要以编程方式获取此类信息,您需要使用 LicenseFlag 类的属性。