フォーマット設定

フォーマットごとの完全なレンダリングオプション

すべてのドキュメントは BaseConfig 実装で開始します。OpenDocumentAsync に渡すか、フォーマットカタログにデフォルトを作成させます。以下のすべてのクラスは Doconut 名前空間に存在します。

csharp
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(ベース構成)

型プロパティデフォルト動作
intImageResolution00 はフォーマットのデフォルトを使用します。有効な明示的範囲は 25〜300 DPI です。無効な代入は無視されます。
stringDocumentCulture""日付と数値のロケールです。空でない値はトリムされ、空の代入は無視されます。
stringPassword""保護されたドキュメントのパスワードです。DocOptions.Password が自動的にここにコピーされます。
boolShowUItrue互換性プロパティ;現在のレンダラーはブラウザツールバーの制御に使用しません。
boolCachePagestrueドキュメントセッションの間、レンダリングされたページ画像をキャッシュします。

PdfConfig(PDF 設定)

フォーマット: PDF。デフォルト DPI: 200。

型プロパティデフォルト動作
boolDefaultRendertrue互換性スイッチ。現在のファクトリはネイティブ PDF ビューアを使用します。
boolAllowSearchfalsePDF テキスト検索インデックスを構築/使用します。リクエストには Search ライセンス機能が必要です。
boolAllowCopyfalseテキスト選択/コピー操作を許可します。
boolExtractHyperlinksfalseクライアントオーバーレイ用にリンク矩形を抽出します。
intHyperlinksPageCount0リンクをスキャンする最大ページ数です。0 はすべてのページを意味します。
boolCompressImagesfalseレンダリング前に埋め込み画像を圧縮します。
intCompressQuality100圧縮が有効な場合に使用される JPEG 品質です。
boolResizeImagesfalseレンダリング前に埋め込み画像のサイズを変更します。
intResizeResolution300サイズ変更された画像の目標 DPI です。
boolCompressFastfalseより高速で低品質な圧縮パスを優先します。
boolFixInvalidImagesfalse無効な埋め込み画像の修復を試みます。
boolSplitSegmentsfalse検索/コピーを改善するために、行セグメントを跨ぐ単語を再結合します。

showHyperlinks は ViewerConfig でクライアントオーバーレイを制御し、ExtractHyperlinks はサーバ抽出を制御します。両方を有効にします。

WordConfig(Word 設定)

フォーマット: DOC, DOCX, DOCM, DOT, DOTX, DOTM, RTF, ODT, OTT, XML。デフォルト DPI: 200。

型プロパティデフォルト動作
boolDefaultRendertrueネイティブ Word レンダリングです。false は PDF リダイレクトを使用します。
PdfConfigPdfConfignew instancePDF/検索パスで使用される設定です。
DocPaperSizePaperSizeA4出力用紙サイズです。幅/高さには Custom を使用します。
intPaperWidth595ポイント単位のカスタム幅です。
intPaperHeight841ポイント単位のカスタム高さです。
boolRemovePaperMarginfalseドキュメントページの余白を削除します。
boolRenderPageColortrueWord の設定されたページカラーを保持します。false は白いページをレンダリングします。
boolExportPdfAfalsePDF パスでアーカイブ PDF/A を使用します。
Encoding?FileEncodingnullソースエンコーディングを上書きします。
stringFontInfo""フォント置換情報です。
string[]?FontFoldersnull追加のフォントディレクトリです。特に Linux/コンテナで有用です。
boolAllowSearchfalse委譲先は PdfConfig.AllowSearch です。
boolAllowCopyfalse委譲先は PdfConfig.AllowCopy です。
TableAutoFitBehaviorAutoFitAllTablesNoneNone、AutoFitToContents、または AutoFitToWindow です。

ExcelConfig

形式: XLS, XLSX, XLSM, XLSB, XLTX, XLTM, ODS, CSV. デフォルト DPI: 200.

タイププロパティデフォルト動作
boolDefaultRendertrueネイティブシートレンダリング; false は PDF リダイレクトを使用します。
PdfConfigPdfConfignew instancePDF/検索パスの設定。
ExcelPaperSizePaperSizePaperA4出力用紙サイズ。
doublePaperMargins0.25インチ単位のページ余白。
boolPaperLandscapetrue横向きシートレンダリング。
boolAutoFitContentsfalse行の高さと列の幅を自動調整。
boolRemoveEmptyContenttrue空のコンテンツを除外して出力を圧縮。
boolCalculateFormulatrueレンダリング前に数式を再計算。
boolShowRowColumnHeaderstrueスプレッドシートヘッダーを含める。
boolExportPdfAfalsePDF パスで PDF/A を使用。
boolSplitWorksheetsfalseワークシートを別々のページグループとして保持。
boolShowEmptyWorkSheetsfalse空のワークシートを含める。
boolExportLandscapefalse横向きエクスポートを強制。
boolExportOnePagePerSheetfalse各ワークシートを 1 ページにフィットさせる。
boolMemoryOptimizationPreferencetrueピークメモリを削減し、速度を若干犠牲にする可能性があります。
boolAutoTrimWorksheetRenderRangetrue明示的な印刷領域がない場合、使用範囲の可視部分のみをレンダリング。
boolAutoTrimPreserveExistingPrintAreatrue自動トリム時にブック定義の印刷領域を保持。
string?PrintAreanull"A1:Z100" のような明示的範囲。
boolPrintGridlinesfalseワークシートのグリッドラインを印刷。
boolPrintHeadingsfalse行/列ヘッダーを印刷。
List<string>SheetNamesempty名前付きワークシートにレンダリングを制限。
CustomStyleCell?CustomStylesnullオプションの日時/小数/整数書式オーバーライド。
boolAllowSearchfalsePdfConfig.AllowSearch に委譲。
boolAllowCopyfalsePdfConfig.AllowCopy に委譲。

CustomStyleCell は CustomStyleDateTime、CustomStyleNumberDecimal、および CustomStyleNumberInteger を公開し、すべて nullable 文字列です。

new ExcelConfig() は SplitWorksheets を false に設定します。明示的な構成なしで Excel ファイルを開くと、フォーマットカタログが使用され、true に設定されます。

PptConfig

形式: PPT, PPTX, PPTM, PPSX, PPSM, POT, POTX, POTM, ODP. デフォルト DPI: 200.

タイププロパティデフォルト動作
boolDefaultRendertrueネイティブスライドレンダリング; false は PDF リダイレクトを使用します。
boolFastLoadfalse開く際に最初のスライドのレンダリングを回避; メタデータを使用し、必要時にレンダリング。
PdfConfigPdfConfignew instancePDF/検索動作の設定。
stringFontInfo""フォント置換情報。
string[]?FontFoldersnull追加のフォントディレクトリ。
boolAllowSearchfalsePdfConfig.AllowSearch に委譲。
boolAllowCopyfalsePdfConfig.AllowCopy に委譲。

Linux および macOS では、現在のエンジンでプレゼンテーションをレンダリングするために libgdiplus と System.Drawing.EnableUnixSupport=true が必要です。プレゼンテーションで使用されるフォントをインストールするか、FontFolders を提供してください。

CadConfig

形式: DWG, DXF, DGN. デフォルト DPI: 200.

タイププロパティデフォルト動作
boolDefaultRendertrueネイティブ CAD レンダリング; false は PDF リダイレクトを使用します。
PdfConfigPdfConfignew instancePDF パス設定。
boolExportPdfAfalseアーカイブ用 PDF/A 出力。
boolShowColortrueモノクロームではなくカラー。
boolWhiteBackgroundtrue背景を黒ではなく白に設定。
shortLineWidth25CAD ストローク幅。
boolShowLayoutsfalseレイアウトタブをレンダリング。
boolShowModeltrueモデル空間をレンダリング。
boolCheck3DSolidtrue3D ソリッドを処理。
boolExportAllLayoutsfalseすべてのレイアウトをエクスポートし、モデル/レイアウト選択を上書き。
boolLimitMinimumSizefalseMinimumSize を適用。
intMinimumSize700ピクセル単位の最小出力サイズ。
boolLimitMaximumSizefalseMaximumSize を適用。
intMaximumSize700ピクセル単位の最大出力サイズ。
boolShowAllLayoutsDgnfalseすべての DGN レイアウトを含める。
boolAutomaticLayoutScalingtrueレイアウトを自動的にスケーリング。
floatPdfMargins0.5PDF の余白(インチ)。
RenderQualityQualityImageLowラスタ品質: Low、Medium、または High。
RenderQualityQualityTextMediumテキスト品質: Low、Medium、または High。

メール設定

フォーマット: EML, EMLX, MSG。デフォルト DPI: 200。

タイププロパティデフォルト動作
boolDefaultRendertrueネイティブメールレンダリング; false は PDF リダイレクトを使用します。
PdfConfigPdfConfig新しいインスタンスPDF パス設定。
Encoding?EmailEncodingnullメッセージエンコーディングを上書きします。
Encoding?SubjectEncodingnull件名エンコーディングを上書きします。
Encoding?BodyEncodingnull本文エンコーディングを上書きします。
boolSkipExternalImagesfalseリモート参照画像を読み込まないでください。信頼できないメールに推奨されます。
boolRemoveLastWhitePagefalse末尾の空白ページを削除します。
boolUseAntiAliasingfalseアンチエイリアシングを有効にします。
boolUseHighQualityRenderingfalseよりクリーンで遅いレンダリングを優先します。
TimeSpan?TimeZoneOffsetnull日付に使用されるタイムゾーンを上書きします。
boolForcePageSizefalse固定ページサイズを強制します。

ImageConfig、TiffConfig、PsdConfig

ImageConfig は JPG、JPEG、JPE、PNG、BMP、GIF、ICO、EPS、TGA、WEBP、CDR、CMX、DNG、EMF、WMF、AVIF、SVG をカバーします。そのデフォルト DPI は 100 です。

設定プロパティデフォルト動作
ImageConfigMaxImagePixelSize3000最大幅/高さ。0 は無制限を意味します。0 以外で 50 未満の値は無視されます。
ImageConfigTransparentPngtruePNG の透過性を保持します; false は白い背景を使用します。
TiffConfigno additional propertiesDPI 200BaseConfig のみを使用します; マルチページ TIFF をサポートします。
PsdConfigMaxImagePixelSize30000/minimum-50 の検証は ImageConfig と同様です; デフォルト DPI は 100 です。

Dicom設定

フォーマット: DCM、IMA。デフォルト有効 DPI: 100。DICOM プラグインが必要です。

タイププロパティデフォルト動作
intHorizontalResolution100 effective水平 DPI を明示的に指定します; それ以外は ImageResolution、次に 100。
intVerticalResolution100 effective垂直 DPI を明示的に指定します; それ以外は ImageResolution、次に 100。
intAnimationFrameDelayMs100マルチフレームアニメーションの遅延; GIF のタイミングは 10 ms 単位を使用します。
ushortLoopCount00 は無限にループします; 正の値はその回数で停止します。
DicomDisplayModeDisplayModeAnimationAndFramesAnimationOnly、FramesOnly、または概要と静止フレームの組み合わせ。

Txt設定

フォーマット: TXT。デフォルト DPI: 200。

タイププロパティデフォルト動作
DocPaperSizePaperSizeA4出力用紙サイズ。
Encoding?FileEncodingnullnull は UTF-8 を使用します。
stringFontInformation""テキストレンダリング用のフォント情報。

プレーンテキストでよりリッチなページレイアウト動作が必要な場合は WordConfig を使用してください。

プロジェクト設定

フォーマット: MPP、MPPX、MPX。デフォルト DPI: 200。

タイププロパティデフォルト動作
boolDefaultRendertrueネイティブ Gantt 画像; false はテキストベースの PDF パスを使用します。
PdfConfigPdfConfig新しいインスタンスPDF パス設定。
boolExportPdfAtrueアーカイブ用 PDF/A 出力。
MppPaperSizePaperSizeLedgerプロジェクト出力用紙サイズ。
MppTimeScaleTimeScaleMonthsDays または Months。
MppFormatPresentationFormatGanttChartGanttChart、TaskUsage、ResourceUsage、ResourceSheet、または TaskSheet。

正確なテキスト座標検索には DefaultRender = false を使用してください。

Visio設定

フォーマット: VSD、VSDX、VSS、VSSX、VST、VSTX、VDX、VSX、VSDM。デフォルト DPI: 200。

タイププロパティデフォルト動作
boolDefaultRendertrueネイティブ図表レンダリング; false は PDF リダイレクトを使用します。
PdfConfigPdfConfig新しいインスタンスPDF パス設定。
boolExportPdfAtrueアーカイブ用 PDF/A 出力。

HtmlConfig、EpubConfig、MhtConfig、XpsConfig

4 つすべてがデフォルトで 200 DPI を使用し、ネストされた PdfConfig を公開します。

設定フォーマットDefaultRender追加プロパティ/動作
HtmlConfigHTML, HTMtrueネイティブレンダリング; テキストベースの PDF 検索パスには false を使用します。
EpubConfigEPUBtrueネイティブレンダリング; false は PDF を使用します。
MhtConfigMHT, MHTMLtrue はクラス上で; false は自動カタログ内で通常の設定なしで開くと検索可能な PDF リダイレクトを使用します。明示的に構築されたデフォルトインスタンスはネイティブにレンダリングします。
XpsConfigXPSfalseデフォルトで PDF パスを使用します; ネイティブ画像レンダリングには true を設定してください。

ファミリー別設定例

csharp
BaseConfig[] configs =
[
    new PdfConfig
    {
        AllowSearch = true,
        ExtractHyperlinks = true,
        HyperlinksPageCount = 0
    },
    new WordConfig
    {
        PaperSize = DocPaperSize.A4,
        RemovePaperMargin = false,
        FontFolders = ["/usr/share/fonts/truetype"],
        AllowSearch = true
    },
    new ExcelConfig
    {
        PaperLandscape = true,
        AutoFitContents = true,
        CalculateFormula = true,
        SplitWorksheets = false,
        PrintGridlines = false
    },
    new PptConfig
    {
        FastLoad = true,
        FontFolders = ["/usr/share/fonts/truetype"],
        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
    }
];

拡張子別の選択

csharp
static BaseConfig? ConfigForExtension(string extUpper) => extUpper switch
{
    ".DOC" or ".DOCX" or ".DOT" or ".DOTX" or ".ODT" => new WordConfig
    {
        AutoFitAllTables = WordConfig.TableAutoFitBehavior.AutoFitToWindow,
        PaperSize = DocPaperSize.Tabloid,
        PdfConfig = new PdfConfig { ExtractHyperlinks = true, HyperlinksPageCount = 5, AllowCopy = true }
    },
    ".PDF" => new PdfConfig { AllowSearch = true, AllowCopy = true },
    ".XLS" or ".XLSX" or ".ODS" or ".CSV" => new ExcelConfig { AllowSearch = true, AllowCopy = true },
    ".DCM" or ".IMA" => new DicomConfig { DisplayMode = DicomDisplayMode.AnimationAndFrames },
    // DefaultRender = false → PDF リダイレクト → ピクセル単位で正確なネイティブテキスト検索
    ".HTML" or ".HTM" => new HtmlConfig { DefaultRender = false },
    ".EML" or ".EMLX" or ".MSG" => new EmailConfig { DefaultRender = false },
    _ => null // format のデフォルト設定にフォールバックする
};

このページは役に立ちましたか?