インストール
Doconut を .NET Standard 2.1 プロジェクトに追加する
.NET Standard 用の基本 Doconut ビューアは、任意の ASP.NET Core アプリケーションに組み込める単一の NuGet パッケージとして提供されます。オプションのプラグインは別々のパッケージを使用します。このページでは、基本パッケージをインストールし、ホストがそれを利用できることを確認し、ミドルウェアを登録します — 最初のレンダーを行う前に必要な最小限です。
まずホストフレームワークを確認する
このライブラリは netstandard2.1 を対象としています。これは以前の netstandard2.0 ビルドよりも契約が狭く、最初に確認すべき項目です:
| ホスト | サポート |
|---|---|
| .NET Core 3.0 以降、.NET 5/6/7/8 を含む | はい |
| .NET Framework(任意のバージョン) | いいえ — netstandard2.1 は .NET Framework では使用できません |
アプリケーションが .NET Framework 上で実行される場合、これは適切なパッケージではありません。代わりに Doconut.NETFramework を使用してください;26.9.0 以降は .NET Framework 4.7.2 が必要です。このリリースに同梱されたリファレンスアプリケーションは net8.0 を対象としています。
パッケージのインストール
dotnet add package Doconut.NETStandardバージョン指定なしのコマンドは最新の安定版をインストールします。現在の 26.8.0 リリースを正確に再現するには、バージョンを別のオプションとして指定してください:
dotnet add package Doconut.NETStandard --version 26.8.0Doconut.NETStandard はパッケージ ID です。.26.8.0 サフィックスはダウンロードされた Doconut.NETStandard.26.8.0.nupkg ファイル名に属し、ID の一部ではありません。
バージョン番号が世代を示す
ここではパッケージ名よりも重要です。.NET Standard ライブラリの両世代は同じパッケージ ID で公開されており、バージョンだけがそれらを区別します:
| バージョン | ターゲット | API |
|---|---|---|
| 26.7.0 以下 | netstandard2.0 | 以前の統合 |
| 26.8.0 以上 | netstandard2.1 | ここで文書化された統合 |
互換性シムもサイドバイサイドのパッケージもありません。バージョンを上げることがそのままアップグレードであり、コンパイラは API の違いを即座に報告します。
パッケージ名だけでドキュメントを選択しないでください:
new Viewer(_cache, _accessor, …),UnSafeMode, 同期OpenDocument(...),viewer.InitCache(),UseDoconutWebFarm、および手動でコピーしたビューアスクリプトは以前の統合を示します;AddDoconut(),UseDoconutResources(), 注入されたViewer、およびOpenDocumentAsync(...)は、ここで文書化された現在の統合を示します。
翻訳された以前のセットアップマニュアルは引き続き利用可能です。世代を変更するには移行ガイドを使用してください;パッケージの更新だけではスタートアップ、ビューアのライフタイム、またはブラウザリソースは自動的に変換されません。
Doconut の登録
AddDoconut() は唯一の登録エントリポイントです — オーバーロードは1つだけで、Viewer サービス、ライセンスサービス、レンダリングインフラストラクチャを DI コンテナに接続します。
セットアップを完了するには2つのミドルウェア呼び出しが必要で、順序が重要です:UseDoconutResources() は UseDoconut() の前に実行されなければなりません。 UseDoconut() はターミナルミドルウェアであるため、先に呼び出すと /doconut-res アセットへのすべてのリクエストがリソースハンドラに届かず 404 になります。セッションの配線も必要です — Doconut のデフォルトドキュメントセキュリティはすべてのページリクエストを ASP.NET セッション状態と照合して検証します。
builder.Services.AddDoconut(options =>
{
options.LicensePath = "Doconut.Viewer.lic";
});
builder.Services.AddDistributedMemoryCache(); // セッション状態にはキャッシュが必要です(MVC/Razor Pages はすでに追加しています)
builder.Services.AddSession(); // Doconut のドキュメントセキュリティは ASP.NET セッション状態に依存します
app.UseSession(); // UseSession() を UseDoconut() の前に呼び出してください
app.UseDoconutResources(); // UseDoconut() の前に登録する必要があります
app.UseDoconut();名前空間
設定タイプはもはや4つの名前空間に分散していません。このリリースではほぼすべてがルートの Doconut 名前空間に存在します:
using Doconut; // Viewer, DoconutOptions, DocOptions, all format configs
using Doconut.Middleware; // AddDoconut, UseDoconut, UseDoconutResources
using Doconut.Clouds; // cloud and file-share configs
using Doconut.Configs.Conversion; // ConversionTarget型名自体は変更されていません — PdfConfig、WordConfig、ExcelConfig、CssConfig、ScriptConfig などはすべてそのままです。既存のアプリケーションを移行する場合、ほとんどのファイルで削除すべき using 行は2行だけです;移行ガイドをご覧ください。
すべてのオプション
DoconutOptions は以下の設定可能なプロパティを受け取ります。すべて任意で、プロパティが設定されていない場合は以下のデフォルトが適用されます。
| Property | Default | Description |
|---|---|---|
ShowDoconutInfo | false | true の場合、token がないリクエストは 404 の代わりにバージョンバナーを返します。スモークチェックとして便利ですが、本番環境ではオフにしてください。 |
UnsafeMode | false | true の場合、ページリクエスト時の ASP.NET セッションセキュリティチェックをスキップします。本番環境ではオフにしてください。綴りに注意 — 以前のライブラリでは UnSafeMode と呼ばれていました。 |
MiddlewarePath | "/doconut" | ページ画像エンドポイントの調整値です。検証は行われますが、単独でブランチをマウントするわけではありません。実際の UseDoconut() のマッピングおよびクライアントの BasePath と一致させてください。 |
ResourcesPath | "/doconut-res" | 埋め込みの JS/CSS/画像リソースが提供されるパスです。 |
LicensePath | "" (empty string) | ライセンスファイルへのパスです。空文字列は次のソースにフォールスルーし、その後自動検索されます。 |
LicenseContent | "" (empty string) | 生のライセンス内容 — 環境変数、シークレットマネージャ、またはデータベースから取得します。 |
LicenseStream | null | ストリームとしてのライセンスで、起動時に一度読み取ります。 |
ResetLicense | false | 予約された互換性フラグです。ライセンスは AddDoconut() 時に読み取られます;ライセンスを置き換えた後はアプリを再起動してください。 |
複数のソースが設定されている場合のライセンス優先順位:LicenseStream が LicenseContent より優先され、LicenseContent が LicensePath より優先され、LicensePath が自動検索より優先されます — 詳細はライセンス設定をご覧ください。
builder.Services.AddDoconut(options =>
{
options.LicensePath = "Doconut.Viewer.lic";
options.MiddlewarePath = "/doconut"; // アプリのマッピングとクライアント BasePath と調整
options.ResourcesPath = "/doconut-res"; // ビューアの JS/CSS/画像が提供される場所
options.UnsafeMode = false; // セッションセキュリティを有効に保つ
options.ShowDoconutInfo = false;
});次のステップ
このページは役に立ちましたか?