포맷 구성

포맷별 렌더링 옵션 전체

모든 문서는 BaseConfig 구현으로 시작합니다. OpenDocumentAsync에 전달하거나 포맷 카탈로그가 기본값을 생성하도록 하세요. 아래 모든 클래스는 Doconut 네임스페이스에 존재합니다.

csharp
var token = await viewer.OpenDocumentAsync(path, new PdfConfig
{
    AllowSearch = true,
    AllowCopy   = true,
    ImageResolution = 150
});

상속 및 중첩 PDF 설정

각 포맷은 다섯 개의 BaseConfig 속성을 상속합니다. PDF를 통해 리다이렉트할 수 있는 포맷은 중첩된 PdfConfig을 노출합니다. WordConfig, ExcelConfig, 그리고 PptConfig에서, AllowSearch 및 AllowCopy은 중첩된 PdfConfig을 읽고 쓰는 편리한 속성입니다.

DefaultRender = true은(는) 기본 포맷 렌더러를 선택합니다. PDF 리다이렉트가 있는 포맷에서는 false가 먼저 메모리 내 PDF로 변환한 뒤 PDF 뷰어를 사용합니다. 이 경로는 텍스트 좌표 검색에 유용하지만 추가 변환 비용이 발생합니다.

별도 언급이 없는 한, 표는 생성자/속성 기본값을 보여줍니다. 자동 포맷 카탈로그는 의도적으로 두 값을 재정의합니다: 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검색/복사를 개선하기 위해 줄 구간에 걸쳐 분할된 단어를 다시 합칩니다.

showHyperlinks는 ViewerConfig에서 클라이언트 오버레이를 제어하고, ExtractHyperlinks는 서버 추출을 제어합니다. 둘 다 활성화하세요.

WordConfig

포맷: DOC, DOCX, DOCM, DOT, DOTX, DOTM, RTF, ODT, OTT, XML. 기본 DPI: 200.

유형속성기본값동작
boolDefaultRendertrue네이티브 Word 렌더링; false는 PDF 리다이렉트를 사용합니다.
PdfConfigPdfConfig새 인스턴스PDF/검색 경로에서 사용되는 설정.
DocPaperSizePaperSizeA4출력 용지 크기. 너비/높이와 함께 Custom를 사용하세요.
intPaperWidth595포인트 단위의 사용자 정의 너비.
intPaperHeight841포인트 단위의 사용자 정의 높이.
boolRemovePaperMarginfalse문서 페이지 여백을 제거합니다.
boolRenderPageColortrueWord에서 설정한 페이지 색상을 보존합니다; false는 흰색 페이지를 렌더링합니다.
boolExportPdfAfalsePDF 경로에서 보관용 PDF/A를 사용합니다.
Encoding?FileEncodingnull소스 인코딩을 재정의합니다.
stringFontInfo""글꼴 대체 정보.
string[]?FontFoldersnull추가 글꼴 디렉터리, 특히 Linux/컨테이너에서 유용합니다.
boolAllowSearchfalsePdfConfig.AllowSearch에 위임합니다.
boolAllowCopyfalsePdfConfig.AllowCopy에 위임합니다.
TableAutoFitBehaviorAutoFitAllTablesNoneNone, AutoFitToContents 또는 AutoFitToWindow.

Excel 구성

지원 형식: 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각 워크시트를 하나의 출력 페이지에 맞춤.
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 로 설정됩니다.

Ppt 구성

지원 형식: 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 를 제공하십시오.

Cad 구성

지원 형식: 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.5인치 단위 PDF 여백.
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고정 페이지 크기를 강제합니다.

이미지 구성, Tiff 구성 및 Psd 구성

ImageConfig 은 JPG, JPEG, JPE, PNG, BMP, GIF, ICO, EPS, TGA, WEBP, CDR, CMX, DNG, EMF, WMF, AVIF 및 SVG 를 포함합니다. 기본 DPI는 100 입니다.

구성속성기본값동작
ImageConfigMaxImagePixelSize3000최대 너비/높이. 0 은 무제한을 의미합니다; 50 미만의 0이 아닌 값은 무시됩니다.
ImageConfigTransparentPngtruePNG 투명성을 유지합니다; false 은 흰색 배경을 사용합니다.
TiffConfig추가 속성 없음DPI 200BaseConfig 만 사용합니다; 다중 페이지 TIFF를 지원합니다.
PsdConfigMaxImagePixelSize3000같은 0/minimum-50 검증이 ImageConfig 와 동일합니다; 기본 DPI는 100 입니다.

디콤 구성

포맷: DCM, IMA. 기본 유효 DPI: 100. DICOM 플러그인이 필요합니다.

유형속성기본값동작
intHorizontalResolution100 effective수평 DPI를 명시합니다; 그렇지 않으면 ImageResolution, 그 다음 100.
intVerticalResolution100 effective수직 DPI를 명시합니다; 그렇지 않으면 ImageResolution, 그 다음 100.
intAnimationFrameDelayMs100다중 프레임 애니메이션 지연; GIF 타이밍은 10 ms 단위를 사용합니다.
ushortLoopCount00 은 영원히 반복합니다; 양수 값은 해당 횟수 후에 멈춥니다.
DicomDisplayModeDisplayModeAnimationAndFramesAnimationOnly, FramesOnly, 또는 결합된 개요와 정적 프레임.

텍스트 구성

포맷: TXT. 기본 DPI: 200.

유형속성기본값동작
DocPaperSizePaperSizeA4출력 용지 크기.
Encoding?FileEncodingnullnull 은 UTF-8을 사용합니다.
stringFontInformation""텍스트 렌더링을 위한 글꼴 정보.

평문 텍스트에 더 풍부한 페이지 레이아웃 동작이 필요할 때 WordConfig 를 사용하십시오.

프로젝트 구성

포맷: MPP, MPPX, MPX. 기본 DPI: 200.

유형속성기본값동작
boolDefaultRendertrue네이티브 간트 이미지; false 은 텍스트 기반 PDF 경로를 사용합니다.
PdfConfigPdfConfig새 인스턴스PDF 경로 설정.
boolExportPdfAtrue보관용 PDF/A 출력.
MppPaperSizePaperSizeLedger프로젝트 출력 용지 크기.
MppTimeScaleTimeScaleMonthsDays 또는 Months.
MppFormatPresentationFormatGanttChartGanttChart, TaskUsage, ResourceUsage, ResourceSheet, 또는 TaskSheet.

정확한 텍스트 좌표 검색을 위해 DefaultRender = false 를 사용하십시오.

비지오 구성

포맷: VSD, VSDX, VSS, VSSX, VST, VSTX, VDX, VSX, VSDM. 기본 DPI: 200.

유형속성기본값동작
boolDefaultRendertrue네이티브 다이어그램 렌더링; false 은 PDF 리다이렉트를 사용합니다.
PdfConfigPdfConfig새 인스턴스PDF 경로 설정.
boolExportPdfAtrue보관용 PDF/A 출력.

HTML 구성, Epub 구성, MHT 구성 및 XPS 구성

네 개 모두 기본 DPI가 200이며 중첩된 PdfConfig 를 노출합니다.

구성포맷DefaultRender추가 속성/동작
HtmlConfigHTML, HTMtrue네이티브 렌더링; 텍스트 기반 PDF 검색 경로를 위해 false 를 사용하십시오.
EpubConfigEPUBtrue네이티브 렌더링; false 은 PDF를 사용합니다.
MhtConfigMHT, MHTML클래스에 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[] { "/usr/share/fonts/truetype" },
        AllowSearch = true
    },
    new ExcelConfig
    {
        PaperLandscape = true,
        AutoFitContents = true,
        CalculateFormula = true,
        SplitWorksheets = false,
        PrintGridlines = false
    },
    new PptConfig
    {
        FastLoad = true,
        FontFolders = new[] { "/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 // 포맷의 기본 설정으로 되돌아갑니다
};

이 페이지가 도움이 되었나요?