メインコンテンツへスキップ
FC をベースに、第三者への販売を目的としたソリューションを開発できます。ソリューションは Document Definition であり、次の追加コンポーネントを含めることができます。
  • FlexiLayout Studio で作成された FlexiLayout
  • ルールを使用してデータをチェックするルールモジュール、または特殊なデータチェックアルゴリズム
  • Export モジュール、またはカスタムのエクスポート手順
Developer’s License と一意の識別子を使用すると、ライセンスのない使用からソリューションを保護できます。User’s License を持つユーザーのみが、そのソリューションを利用できます。

Document Definition の保護

  1. ソリューションの概要とそのコンポーネントの一覧を記載したメッセージを、お住まいの地域の ABBYY office に送信します。
  2. 開発しているソリューションの種類に応じて、ABBYY office からソリューションのコンポーネント用の一意の識別子と、場合によっては開発者向けライセンスが提供されます。これらの一意の識別子は、ソリューションのコンポーネントのソースコードに組み込み、User’s License に指定された識別子と照合できます。
  3. FC を起動し、Document Definition エディターを開きます。エディターの Document Definition メニューで Document Definition Properties… をクリックし、General タブを選択して、ABBYY office から受け取った一意のソリューション識別子を入力します。
  4. ソリューションを顧客に販売する際は、一意のソリューション識別子を含む User’s License を ABBYY office に依頼してください。このライセンスがないと、顧客は Document Definition や FlexiLayout を使用してドキュメントを処理できません。

個々のコンポーネントの保護

どのコンポーネントも、ソリューション全体とは独立して開発し、保護できます。 FlexiLayout を保護するには、Developer’s License が必要です。詳しくは、ABBYY FlexiLayout Studio ヘルプの Projects → FlexiLayouts and Classifiers の保護機能 の記事を参照してください。 Export モジュールとルール モジュールは、スクリプトを使用して Document Definition に統合されます。これらのモジュールを保護するために Developer’s License は必要ありません。ソリューションでどの Document Definition でもモジュールを使用できる場合は、モジュールのコードに一意の識別子をチェックする処理を組み込むことで保護できます。
*.dll 形式の外部ライブラリを開発し、それを ABBYY FlexiCapture に統合することをお勧めします。これにより、ユーザーはソースコードにアクセスできなくなります。
そのためには、モジュール内で IsModuleAllowedByLicense メソッドを使用し、ユーザーの License でそのモジュールの使用が許可されているかどうかを確認します。
IsModuleAllowedByLicense ( authorId : string, moduleName : string ) : bool
上記のコード サンプルでは、authorId は開発者の一意の識別子、moduleName はソリューションの一意の識別子です。
次のコード サンプルは、メソッドでライセンス内のパラメーターを確認する方法を示しています。
private bool CheckLicense()
       {
            if (FCTools.IsModuleAllowedByLicense("ABBYY RU", "ModuleName") == false)
            {
                FCTools.ShowMessage("Your license does not allow the use of this module", true);
                return false;
            }
            else
            {
                // FCTools.ShowMessage("License is OK", false);
                return true;
            }
        }
次のように、エクスポート スクリプトでライセンス確認メソッドを呼び出せます。
public void ExportDocument(ref IExportDocument docRef, ref FCTools FCTools )
        {
            if (CheckLicense() == true)
            {
                …
                exportImages(docRef, FCTools, exportFolder);
                    // export information about the document
                exportDocInfo(docRef, sw);
                    // export fields
                exportFields(docRef.Children, sw, "");
            }
        }
ライセンスに ModuleName という名前で、著者が ABBYY RU のモジュールが含まれていない場合、ドキュメントをエクスポートするとエラーになります。