フォーマット設定
フォーマットごとの完全なレンダリングオプション
すべてのドキュメントは BaseConfig 実装で開かれます。OpenDocumentAsync(または OpenDocument)に渡すか、フォーマット カタログにデフォルトを作成させます。以下のすべてのクラスは Doconut 名前空間にあります。
var token = await viewer.OpenDocumentAsync(path, new PdfConfig
{
AllowSearch = true,
AllowCopy = true,
ImageResolution = 150
});継承とネストされた PDF 設定
すべてのフォーマットは 5 つの BaseConfig プロパティを継承します。PDF 経由でリダイレクトできるフォーマットはネストされた PdfConfig を公開します。WordConfig、ExcelConfig、PptConfig では、AllowSearch と AllowCopy はネストされた PdfConfig を読み書きする便利なプロパティです。
DefaultRender = true はネイティブ フォーマット レンダラを選択します。PDF リダイレクトを持つフォーマットでは、false にすると最初にインメモリ PDF に変換し、次に PDF ビューアを使用します。このパスはテキスト座標検索に便利ですが、余分な変換コストがかかります。
特に記載がない限り、表はコンストラクタ/プロパティのデフォルトを示しています。自動フォーマット カタログは意図的にそのうちの 2 つを上書きします:ExcelConfig は SplitWorksheets = true で作成され、MhtConfig は DefaultRender = false です。
BaseConfig
| 型 | プロパティ | デフォルト | 動作 |
|---|---|---|---|
int | ImageResolution | 0 | 0 はフォーマットのデフォルトを使用します。有効な明示的範囲は 25〜300 DPI で、無効な代入は無視されます。 |
string | DocumentCulture | "" | 日付と数値のロケールです。空でない値はトリムされ、空の代入は無視されます。 |
string | Password | "" | 保護されたドキュメントのパスワードです。DocOptions.Password が自動的にここにコピーされます。 |
bool | ShowUI | true | 互換性プロパティです。現在のレンダラはブラウザ ツールバーの制御に使用しません。 |
bool | CachePages | true | ドキュメント セッションのためにレンダリングされたページ画像をキャッシュします。 |
PdfConfig
フォーマット: PDF。デフォルト DPI: 200。
| 型 | プロパティ | デフォルト | 動作 |
|---|---|---|---|
bool | DefaultRender | true | 互換性スイッチです。現在のファクトリはネイティブ PDF ビューアを使用します。 |
bool | AllowSearch | false | PDF テキスト検索インデックスを構築/使用します。リクエストには Search ライセンス機能が必要です。 |
bool | AllowCopy | false | テキスト選択/コピー操作を許可します。 |
bool | ExtractHyperlinks | false | クライアント オーバーレイ用にリンク矩形を抽出します。 |
int | HyperlinksPageCount | 0 | リンクをスキャンする最大ページ数です。0 はすべてのページを意味します。 |
bool | CompressImages | false | レンダリング前に埋め込み画像を圧縮します。 |
int | CompressQuality | 100 | 圧縮が有効な場合に使用される JPEG 品質です。 |
bool | ResizeImages | false | レンダリング前に埋め込み画像のサイズを変更します。 |
int | ResizeResolution | 300 | サイズ変更された画像の目標 DPI です。 |
bool | CompressFast | false | より高速で低品質な圧縮パスを優先します。 |
bool | FixInvalidImages | false | 無効な埋め込み画像の修復を試みます。 |
bool | SplitSegments | false | 検索/コピーを改善するために、行セグメントを跨いで分割された単語を再結合します。 |
ViewerConfig の showHyperlinks はクライアント オーバーレイを制御し、ExtractHyperlinks はサーバー側の抽出を制御します。両方を有効にしてください。
WordConfig
フォーマット: DOC、DOCX、DOCM、DOT、DOTX、DOTM、RTF、ODT、OTT、XML。デフォルト DPI: 200。
| 型 | プロパティ | デフォルト | 動作 |
|---|---|---|---|
bool | DefaultRender | true | ネイティブ Word レンダリングです。false の場合は PDF リダイレクトを使用します。 |
PdfConfig | PdfConfig | new instance | PDF/検索パスで使用される設定です。 |
DocPaperSize | PaperSize | A4 | 出力用紙サイズです。幅/高さを指定して Custom を使用します。 |
int | PaperWidth | 595 | ポイント単位のカスタム幅です。 |
int | PaperHeight | 841 | ポイント単位のカスタム高さです。 |
bool | RemovePaperMargin | false | ドキュメントのページ余白を削除します。 |
bool | RenderPageColor | true | Word の設定されたページカラーを保持します。false の場合は白いページをレンダリングします。 |
bool | ExportPdfA | false | PDF パスでアーカイブ用 PDF/A を使用します。 |
Encoding? | FileEncoding | null | ソースのエンコーディングを上書きします。 |
string | FontInfo | "" | フォント置換情報です。 |
string[]? | FontFolders | null | 追加のフォントディレクトリです。ドキュメントが使用するフォントがサーバーにない場合に便利です。 |
bool | AllowSearch | false | PdfConfig.AllowSearch に委譲します。 |
bool | AllowCopy | false | PdfConfig.AllowCopy に委譲します。 |
TableAutoFitBehavior | AutoFitAllTables | None | None、AutoFitToContents、または AutoFitToWindow のいずれかです。 |
ExcelConfig
対応フォーマット: XLS, XLSX, XLSM, XLSB, XLTX, XLTM, ODS, CSV。デフォルト DPI: 200。
| 型 | プロパティ | デフォルト | 動作 |
|---|---|---|---|
bool | DefaultRender | true | ネイティブシートレンダリング;false の場合は PDF リダイレクトを使用します。 |
PdfConfig | PdfConfig | new instance | PDF/検索パスの設定。 |
ExcelPaperSize | PaperSize | PaperA4 | 出力用紙サイズ。 |
double | PaperMargins | 0.25 | ページ余白(インチ)。 |
bool | PaperLandscape | true | 横向きシートのレンダリング。 |
bool | AutoFitContents | false | 行の高さと列の幅を自動調整します。 |
bool | RemoveEmptyContent | true | 空のコンテンツを除外して出力を圧縮します。 |
bool | CalculateFormula | true | レンダリング前に数式を再計算します。 |
bool | ShowRowColumnHeaders | true | スプレッドシートのヘッダーを含めます。 |
bool | ExportPdfA | false | PDF パスで PDF/A を使用します。 |
bool | SplitWorksheets | false | ワークシートを別々のページグループとして保持します。 |
bool | ShowEmptyWorkSheets | false | 空のワークシートを含めます。 |
bool | ExportLandscape | false | 横向きエクスポートを強制します。 |
bool | ExportOnePagePerSheet | false | 各ワークシートを 1 ページに収めます。 |
bool | MemoryOptimizationPreference | true | ピークメモリを削減し、速度が若干低下する可能性があります。 |
bool | AutoTrimWorksheetRenderRange | true | 明示的な印刷領域がない場合、表示されている使用範囲のみをレンダリングします。 |
bool | AutoTrimPreserveExistingPrintArea | true | 自動トリム中にブックで定義された印刷領域を保持します。 |
string? | PrintArea | null | 例: "A1:Z100" のような明示的な範囲。 |
bool | PrintGridlines | false | ワークシートのグリッドラインを印刷します。 |
bool | PrintHeadings | false | 行/列の見出しを印刷します。 |
List<string> | SheetNames | empty | 指定された名前のワークシートにレンダリングを制限します。 |
CustomStyleCell? | CustomStyles | null | 日付/小数/整数の書式設定をオーバーライドするオプション。 |
bool | AllowSearch | false | PdfConfig.AllowSearch に委譲します。 |
bool | AllowCopy | false | PdfConfig.AllowCopy に委譲します。 |
CustomStyleCell は CustomStyleDateTime、CustomStyleNumberDecimal、CustomStyleNumberInteger を公開し、すべて nullable な文字列です。
new ExcelConfig() は SplitWorksheets を false に設定します。明示的な設定なしで Excel ファイルを開くと、フォーマットカタログが使用され、true に設定されます。
PptConfig
対応フォーマット: PPT, PPTX, PPTM, PPSX, PPSM, POT, POTX, POTM, ODP。デフォルト DPI: 200。
| 型 | プロパティ | デフォルト | 動作 |
|---|---|---|---|
bool | DefaultRender | true | ネイティブスライドレンダリング;false の場合は PDF リダイレクトを使用します。 |
bool | FastLoad | false | 開く際に最初のスライドのレンダリングを回避し、メタデータを使用して必要に応じてレンダリングします。 |
PdfConfig | PdfConfig | new instance | PDF/検索動作の設定。 |
string | FontInfo | "" | フォント置換情報。 |
string[]? | FontFolders | null | 追加のフォントディレクトリ。 |
bool | AllowSearch | false | PdfConfig.AllowSearch に委譲します。 |
bool | AllowCopy | false | PdfConfig.AllowCopy に委譲します。 |
プレゼンテーションで使用するフォントをサーバーにインストールするか、FontFolders をフォントが格納されたフォルダーに指定してください。Office がインストールされていない Windows Server では開発マシンに比べてフォントが大幅に少なく、欠落したフォントはエラーなく置換されます。
CadConfig
対応フォーマット: DWG, DXF, DGN。デフォルト DPI: 200。
| 型 | プロパティ | デフォルト | 動作 |
|---|---|---|---|
bool | DefaultRender | true | ネイティブ CAD レンダリング;false の場合は PDF リダイレクトを使用します。 |
PdfConfig | PdfConfig | new instance | PDF パスの設定。 |
bool | ExportPdfA | false | アーカイブ用 PDF/A 出力。 |
bool | ShowColor | true | モノクロではなくカラーで表示します。 |
bool | WhiteBackground | true | 背景を黒ではなく白にします。 |
short | LineWidth | 25 | CAD の線幅。 |
bool | ShowLayouts | false | レイアウトタブをレンダリングします。 |
bool | ShowModel | true | モデル空間をレンダリングします。 |
bool | Check3DSolid | true | 3D ソリッドを処理します。 |
bool | ExportAllLayouts | false | モデル/レイアウト選択を上書きしてすべてのレイアウトをエクスポートします。 |
bool | LimitMinimumSize | false | MinimumSize を適用します。 |
int | MinimumSize | 700 | 出力の最小サイズ(ピクセル)。 |
bool | LimitMaximumSize | false | MaximumSize を適用します。 |
int | MaximumSize | 700 | 出力の最大サイズ(ピクセル)。 |
bool | ShowAllLayoutsDgn | false | すべての DGN レイアウトを含めます。 |
bool | AutomaticLayoutScaling | true | レイアウトを自動的にスケーリングします。 |
float | PdfMargins | 0.5 | PDF の余白(インチ)。 |
RenderQuality | QualityImage | Low | ラスター品質:Low、Medium、High のいずれか。 |
RenderQuality | QualityText | Medium | テキスト品質:Low、Medium、High のいずれか。 |
EmailConfig
Formats: EML、EMLX、MSG。デフォルト DPI: 200。
| 型 | プロパティ | デフォルト | 動作 |
|---|---|---|---|
bool | DefaultRender | true | ネイティブなメールレンダリング;false は PDF リダイレクトを使用します。 |
PdfConfig | PdfConfig | new instance | PDF パス設定。 |
Encoding? | EmailEncoding | null | メッセージのエンコーディングを上書きします。 |
Encoding? | SubjectEncoding | null | 件名のエンコーディングを上書きします。 |
Encoding? | BodyEncoding | null | 本文のエンコーディングを上書きします。 |
bool | SkipExternalImages | false | リモート参照画像を読み込まないでください。信頼できないメールに推奨されます。 |
bool | RemoveLastWhitePage | false | 末尾の空白ページを削除します。 |
bool | UseAntiAliasing | false | アンチエイリアスを有効にします。 |
bool | UseHighQualityRendering | false | よりクリーンで遅いレンダリングを優先します。 |
TimeSpan? | TimeZoneOffset | null | 日付に使用されるタイムゾーンを上書きします。 |
bool | ForcePageSize | false | 固定ページサイズを強制します。 |
ImageConfig、TiffConfig、PsdConfig
ImageConfig は JPG、JPEG、JPE、PNG、BMP、GIF、ICO、EPS、TGA、WEBP、CDR、CMX、DNG、EMF、WMF、AVIF、SVG をサポートします。デフォルト DPI は 100 です。
| 設定 | プロパティ | デフォルト | 動作 |
|---|---|---|---|
ImageConfig | MaxImagePixelSize | 3000 | 最大幅/高さ。0 は無制限を意味し、0 以外で 50 未満の値は無視されます。 |
ImageConfig | TransparentPng | true | PNG の透過性を保持します。false は白背景を使用します。 |
TiffConfig | no additional properties | DPI 200 | BaseConfig のみ使用します;マルチページ TIFF をサポートします。 |
PsdConfig | MaxImagePixelSize | 3000 | ImageConfig と同様の 0 / 最小 50 の検証です;デフォルト DPI は 100 です。 |
DicomConfig
Formats: DCM、IMA。デフォルト有効 DPI: 100。DICOM プラグインが必要です。このパッケージでは DICOM ファイルは完全にレンダリングされますが、技術メタデータは利用できません — DICOM プラグイン を参照してください。
| 型 | プロパティ | デフォルト | 動作 |
|---|---|---|---|
int | HorizontalResolution | 100 effective | 明示的な水平 DPI;それ以外は ImageResolution、次に 100 を使用します。 |
int | VerticalResolution | 100 effective | 明示的な垂直 DPI;それ以外は ImageResolution、次に 100 を使用します。 |
int | AnimationFrameDelayMs | 100 | マルチフレームアニメーションの遅延;GIF のタイミングは 10 ms 単位です。 |
ushort | LoopCount | 0 | 0 は無限ループ;正の値はその回数で停止します。 |
DicomDisplayMode | DisplayMode | AnimationAndFrames | AnimationOnly、FramesOnly、または概要と静的フレームの組み合わせです。 |
TxtConfig
Format: TXT。デフォルト DPI: 200。
| 型 | プロパティ | デフォルト | 動作 |
|---|---|---|---|
DocPaperSize | PaperSize | A4 | 出力用紙サイズ。 |
Encoding? | FileEncoding | null | null の場合は UTF-8 を使用します。 |
string | FontInformation | "" | テキストレンダリング用のフォント情報。 |
プレーンテキストでよりリッチなページレイアウトが必要な場合は WordConfig を使用してください。
ProjectConfig
Formats: MPP、MPPX、MPX。デフォルト DPI: 200。
| 型 | プロパティ | デフォルト | 動作 |
|---|---|---|---|
bool | DefaultRender | true | ネイティブなガント画像;false はテキストベースの PDF パスを使用します。 |
PdfConfig | PdfConfig | new instance | PDF パス設定。 |
bool | ExportPdfA | true | アーカイブ用 PDF/A 出力。 |
MppPaperSize | PaperSize | Ledger | プロジェクト出力用紙サイズ。 |
MppTimeScale | TimeScale | Months | Days または Months。 |
MppFormat | PresentationFormat | GanttChart | GanttChart、TaskUsage、ResourceUsage、ResourceSheet、TaskSheet のいずれか。 |
正確なテキスト座標検索には、DefaultRender = false を使用してください。
VisioConfig
Formats: VSD、VSDX、VSS、VSSX、VST、VSTX、VDX、VSX、VSDM。デフォルト DPI: 200。
| 型 | プロパティ | デフォルト | 動作 |
|---|---|---|---|
bool | DefaultRender | true | ネイティブな図表レンダリング;false は PDF リダイレクトを使用します。 |
PdfConfig | PdfConfig | new instance | PDF パス設定。 |
bool | ExportPdfA | true | アーカイブ用 PDF/A 出力。 |
HtmlConfig、EpubConfig、MhtConfig、XpsConfig
All four default to 200 DPI and expose a nested PdfConfig.
| 設定 | 形式 | DefaultRender | 追加プロパティ/動作 |
|---|---|---|---|
HtmlConfig | HTML、HTM | true | ネイティブレンダリング;テキストベースの PDF 検索パスには false を使用します。 |
EpubConfig | EPUB | true | ネイティブレンダリング;false は PDF を使用します。 |
MhtConfig | MHT、MHTML | true on the class; false in the automatic catalog | クラス上では true、自動カタログでは false。通常の設定なしで開くと検索可能な PDF リダイレクトを使用します。明示的に構築されたデフォルトインスタンスはネイティブにレンダリングします。 |
XpsConfig | XPS | false | デフォルトで PDF パスを使用します;ネイティブ画像レンダリングには true を設定してください。 |
設定例(ファミリー別)
BaseConfig[] configs =
{
new PdfConfig
{
AllowSearch = true,
ExtractHyperlinks = true,
HyperlinksPageCount = 0
},
new WordConfig
{
PaperSize = DocPaperSize.A4,
RemovePaperMargin = false,
FontFolders = new[] { HostingEnvironment.MapPath("~/App_Data/Fonts") },
AllowSearch = true
},
new ExcelConfig
{
PaperLandscape = true,
AutoFitContents = true,
CalculateFormula = true,
SplitWorksheets = false,
PrintGridlines = false
},
new PptConfig
{
FastLoad = true,
FontFolders = new[] { HostingEnvironment.MapPath("~/App_Data/Fonts") },
AllowSearch = true
},
new CadConfig
{
ShowColor = true,
WhiteBackground = true,
ShowModel = true,
ShowLayouts = false,
QualityText = CadConfig.RenderQuality.High
},
new EmailConfig
{
SkipExternalImages = true,
RemoveLastWhitePage = true,
TimeZoneOffset = TimeSpan.Zero
},
new ImageConfig
{
MaxImagePixelSize = 3000,
TransparentPng = true
},
new DicomConfig
{
DisplayMode = DicomDisplayMode.AnimationAndFrames,
AnimationFrameDelayMs = 100,
LoopCount = 0
}
};拡張子別選択
static BaseConfig ConfigForExtension(string extUpper)
{
switch (extUpper)
{
case ".DOC": case ".DOCX": case ".DOT": case ".DOTX": case ".ODT":
return new WordConfig
{
AutoFitAllTables = WordConfig.TableAutoFitBehavior.AutoFitToWindow,
PaperSize = DocPaperSize.Tabloid,
PdfConfig = new PdfConfig { ExtractHyperlinks = true, HyperlinksPageCount = 5, AllowCopy = true }
};
case ".PDF":
return new PdfConfig { AllowSearch = true, AllowCopy = true };
case ".XLS": case ".XLSX": case ".ODS": case ".CSV":
return new ExcelConfig { AllowSearch = true, AllowCopy = true };
case ".DCM": case ".IMA":
return new DicomConfig { DisplayMode = DicomDisplayMode.AnimationAndFrames };
// DefaultRender = false → PDF リダイレクト → ピクセル単位のネイティブテキスト検索
case ".HTML": case ".HTM":
return new HtmlConfig { DefaultRender = false };
case ".EML": case ".EMLX": case ".MSG":
return new EmailConfig { DefaultRender = false };
default:
return null; // fall back to the format's default config
}
}このページは役に立ちましたか?