フォーマット設定

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

すべてのドキュメントは BaseConfig 実装で開かれます。OpenDocumentAsync(または OpenDocument)に渡すか、フォーマット カタログにデフォルトを作成させます。以下のすべてのクラスは 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。デフォルト DPI: 200。

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

ViewerConfig の showHyperlinks はクライアント オーバーレイを制御し、ExtractHyperlinks はサーバー側の抽出を制御します。両方を有効にしてください。

WordConfig

フォーマット: 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追加のフォントディレクトリです。ドキュメントが使用するフォントがサーバーにない場合に便利です。
boolAllowSearchfalsePdfConfig.AllowSearch に委譲します。
boolAllowCopyfalsePdfConfig.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 に委譲します。

プレゼンテーションで使用するフォントをサーバーにインストールするか、FontFolders をフォントが格納されたフォルダーに指定してください。Office がインストールされていない Windows Server では開発マシンに比べてフォントが大幅に少なく、欠落したフォントはエラーなく置換されます。

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 のいずれか。

EmailConfig

Formats: EML、EMLX、MSG。デフォルト DPI: 200。

型プロパティデフォルト動作
boolDefaultRendertrueネイティブなメールレンダリング;false は PDF リダイレクトを使用します。
PdfConfigPdfConfignew instancePDF パス設定。
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 をサポートします。
PsdConfigMaxImagePixelSize3000ImageConfig と同様の 0 / 最小 50 の検証です;デフォルト DPI は 100 です。

DicomConfig

Formats: DCM、IMA。デフォルト有効 DPI: 100。DICOM プラグインが必要です。このパッケージでは DICOM ファイルは完全にレンダリングされますが、技術メタデータは利用できません — DICOM プラグイン を参照してください。

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

TxtConfig

Format: TXT。デフォルト DPI: 200。

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

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

ProjectConfig

Formats: MPP、MPPX、MPX。デフォルト DPI: 200。

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

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

VisioConfig

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

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

HtmlConfig、EpubConfig、MhtConfig、XpsConfig

All four default to 200 DPI and expose a nested PdfConfig.

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

設定例(ファミリー別)

csharp
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
    }
};

拡張子別選択

csharp
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
    }
}

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