단계별 튜토리얼: 개발자를 위한 보안 플러그인‑무료 문서 뷰어를 ASP.NET Core, MVC 또는 WebForms 애플리케이션에 삽입하기
2026. 7. 24.

단계별 튜토리얼: 개발자를 위한 보안 플러그인‑무료 문서 뷰어를 ASP.NET Core, MVC 또는 WebForms 애플리케이션에 삽입하기

ASP.NET Core, MVC 또는 WebForms에 Doconut Viewer SDK를 삽입하는 방법: 75가지 파일 형식, DOC를 PDF로 변환, 그리고 보안이 실제로 제공되는 위치.

많은 개발자들은 웹 애플리케이션에서 문서를 표시해야 할 때 UI 컴포넌트 라이브러리를 찾는 것부터 시작합니다. Doconut Viewer 는 ASP.NET Core, MVC 또는 클래식 WebForms 프로젝트에 플러그인‑무료 브라우저 뷰어를 추가하기 위한 .NET SDK입니다. 보안은 여전히 전체 애플리케이션 아키텍처에 의존합니다: 인증, 인가, 전송, 저장, 검증, 정리, 패치 및 모니터링.

계층형 애플리케이션 제어로 보호되는 보안 ASP.NET 문서 뷰어
계층형 애플리케이션 제어로 보호되는 보안 ASP.NET 문서 뷰어

1. Doconut App SDK 설치 및 다중 파일 형식을 위한 .NET 프로젝트 준비

1.1 지원 패키지 추가

공식 Doconut 다운로드 페이지 에서 최신 패키지와 설정 안내를 사용하세요. 선택한 버전을 기록하고 대상 .NET 런타임을 지원하는지 확인합니다.

1.2 패키지 참조 확인

설치 후, 프로젝트 파일에서 패키지 참조와 해결된 버전을 확인합니다. 버전을 명시적으로 유지하면 빌드와 배포를 재현 가능하게 하는 데 도움이 됩니다.

1.3 HTTPS 활성화

애플리케이션을 HTTPS로 제공하여 업로드된 문서가 네트워크에서 평문으로 전송되지 않도록 합니다. Kestrel 호스팅 앱의 경우 appsettings.json 에 엔드포인트 구성을 추가합니다:

 {
   "Kestrel": {
     "Endpoints": {
       "Https": {
         "Url": "
       }
     }
   }
 }

IIS에서 호스팅하는 경우 사이트에 HTTPS 인증서를 바인딩하세요. HTTPS가 활성화되면 파일이 안전한 채널을 통해 자체 서버로 전송되며, 그곳에서 SDK가 렌더링합니다.

보안이 제공되는 위치. SDK는 귀하의 애플리케이션 및 인프라 내부에서 실행됩니다: Doconut 서버에 호출을 하지 않으므로 문서는 절대 네트워크를 벗어나지 않습니다. 이것이 설계 시 고려해야 할 핵심 특성입니다. 이는 인증서가 아니라 — SDK 자체에 ISO 27001, SOC 2 또는 HIPAA 인증이 포함되지 않으며, 귀하의 애플리케이션에 이를 부여할 수도 없습니다. SDK가 하는 일은 이미 귀하가 제어하고 감사하고 있는 경계 내에 파일을 유지하는 것입니다.


2. 문서 관리를 위한 보안 파일 업로드 및 저장소 구성

이는 SDK가 아닌 귀하의 책임인 부분이며, 명확히 말씀드리자면: 전송 보안, 정지 시 암호화, 보존 및 정리는 애플리케이션이 결정해야 합니다. SDK는 문서를 렌더링할 뿐이며, 저장 계층이 아니고 디스크를 암호화해 주지도 않습니다.

2.1 서비스 등록

Startup.cs (또는 최신 .NET에서는 Program.cs) 에서 설치한 버전의 문서를 참고하여 Doconut 서비스를 의존성 주입 컨테이너에 등록합니다. SDK가 임시 렌더링 출력을 위한 작업 폴더가 필요할 경우, 귀하가 제어할 수 있는 위치를 지정하고 해당 폴더의 정리를 귀하의 책임으로 합니다 — 예약 작업이나 애플리케이션 관리 수명 주기로, 가정이 아니라.

2.2 업로드 엔드포인트 생성

업로드된 파일을 수신하고, 애플리케이션이 이미 사용하는 저장소에 기록한 뒤 짧은 일회성 토큰을 반환하는 컨트롤러 액션을 구현합니다. 이 토큰은 클라이언트 측 뷰어가 문서를 가져와 렌더링하는 데 사용됩니다. 저장은 귀하의 책임임을 기억하세요: 렌더링 시점에 SDK에 바이트나 경로를 전달하면 SDK가 페이지를 반환합니다.

2.3 엔드포인트 보호

업로드 엔드포인트는 민감한 데이터를 다루므로 인증 및 역할 기반 인가로 보호합니다 (예: DocumentViewer 역할을 가진 사용자만 업로드 가능). 확장자와 크기를 서버 측과 브라우저 양쪽에서 검증하고, 업로드된 바이트를 신뢰할 수 없는 입력으로 취급합니다.

SDK가 이를 처리한다는 가정으로 이 단계를 건너뛰지 마세요. 정지 시 암호화, 키 관리 및 고아 파일 정리는 귀하 애플리케이션의 책임입니다. 디스크에 문서를 암호화해야 한다면 이미 신뢰하는 플랫폼 기능을 사용하세요 — 뷰어는 그 역할이 아닙니다.

3. ASP.NET Core, MVC, 또는 WebForms에 뷰어 컴포넌트 삽입

백엔드가 준비되면, 설치된 Doconut 버전에 문서화된 자산과 API를 사용하여 뷰어를 초기화합니다.

3.1 JavaScript 번들 추가

공유 레이아웃에서, 설치된 SDK와 일치하는 문서에 설명된 뷰어 리소스만 포함하십시오. 버전마다 고정된 번들 이름이나 위치를 가정하지 마세요.

3.2 Core/MVC용 Razor 뷰 만들기

파일 입력, 뷰어를 위한 컨테이너 요소, 선택된 파일을 업로드하고 보안 토큰을 받아 Doconut Viewer 위젯을 초기화하는 작은 스크립트를 포함하는 뷰(예: Views/Document/View.cshtml)를 추가합니다.

스크립트는:

  1. <input type="file"> 요소에서 선택된 파일을 캡처합니다.
  2. fetch 또는 XMLHttpRequest를 사용하여 파일을 업로드 엔드포인트로 전송합니다.
  3. 인증된 응답이 도착하면, 설치된 버전에 지원되는 API를 사용하여 뷰어를 초기화합니다.

3.3 WebForms 등가물

WebForms 페이지(예: DocumentViewer.aspx)에서 asp:FileUpload 컨트롤, 업로드를 트리거하는 버튼, 그리고 뷰어를 호스팅할 <div>를 배치합니다. 코드‑비하인드에서 Doconut 서비스를 호출해 업로드된 파일을 저장하고 토큰을 얻은 뒤, 뷰어 인스턴스를 생성하는 JavaScript 함수(initViewer(token))를 호출하는 시작 스크립트를 등록합니다.

이 방식을 사용하는 이유: 엔드 유저의 머신에 아무것도 설치되지 않은 상태에서 세 가지 .NET UI 모델을 지원하는 하나의 렌더링 경로.


4. 문서 관리용 뷰어 맞춤 설정

뷰어는 자신의 페이지 내 컨테이너 안에 렌더링되므로 주변 애플리케이션은 이미 여러분의 것입니다. 또한, 설치한 버전의 문서에서 옵션 이름과 기본값을 가져오세요. 어떤 튜토리얼(이것 포함)에서 가져오지 마세요 — 구성 인터페이스는 릴리즈마다 변경되며, 하드코딩된 옵션 이름은 업그레이드 시 가장 깨지기 쉬운 요소입니다.

앞서 결정해 두면 좋은 사항:

4.1 사용자가 얻게 되는 제어 항목

사용자가 원본 파일을 다운로드할 수 있게 할지, 렌더링된 페이지만 읽을 수 있게 할지 결정하십시오. 제어된 인쇄는 별도 구매가 아니라 뷰어의 일부이므로, 인쇄 규칙은 라이선스 문제가 아니라 구성 질문입니다.

4.2 실제로 필요한 플러그인

네 가지는 별도로 라이선스가 부여되며, 기억할 만큼 짧은 목록입니다: Annotation, Converter, DICOM, Search. 변환(DOC를 PDF 등으로)은 Converter 플러그인이며, 텍스트 검색은 Search 플러그인입니다. 둘 다 필요하지 않다면 구매하지 않아도 됩니다.

4.3 현지화

애플리케이션이 다국어 지원이라면, 설계하기 전에 설치된 버전이 제공하는 뷰어 UI 문자열을 확인하십시오.

왜 중요한가: 뷰어는 여러분 제품의 일부처럼 보여야 합니다. 뷰어가 해서는 안 되는 것은 구매한 라이선스에 포함되지 않은 기능을 조용히 사용자에게 약속하는 것입니다.


5. 지원되는 모든 형식에 대한 통합 테스트

실서비스 전, 사용자가 볼 것으로 예상되는 각 파일 유형에 대해 간단한 정상 여부 검사를 수행하십시오. Doconut App의 뷰어를 사용해 각 형식의 샘플 파일을 열고 렌더링, 탐색 및 특수 도구가 설명대로 작동하는지 확인합니다.

형식테스트 시나리오예상 결과
PDF이미지가 포함된 대형 다중 페이지 보고서부드러운 스크롤링, 줌, 정확한 색상 렌더링
DOCX표와 각주가 포함된 Word 문서모든 텍스트, 표, 각주가 표시되고 레이아웃 이동이 없음
XLSX차트가 포함된 스프레드시트차트가 벡터 그래픽으로 렌더링되고 줌 시에도 선명도 유지
PPTX애니메이션 빌드가 포함된 슬라이드 데크슬라이드의 각 빌드가 하나의 프레임에 겹쳐서 렌더링됩니다 — 이는 정상이며 오류가 아닙니다
DWG레이어와 외부 참조가 있는 기술 도면레이어 토글, 거리 및 면적 측정이 작동합니다; xref와 SHX 폰트는 파일에 없었기 때문에 존재하지 않습니다
PSD레이어가 있는 Photoshop 파일저장된 합성 이미지가 렌더링되고 숨겨진 레이어는 숨겨진 채 유지됩니다; 색상은 줌 시에도 유지됩니다
SVG그라디언트가 있는 벡터 그래픽그라디언트가 부드럽게 렌더링되고 줌 시에도 선명합니다
TIFF고해상도 스캔이미지가 빠르게 로드되고 줌 시 세부 사항이 드러납니다

실제 사용자 파일로 테스트하고, 깨끗한 샘플이 아니라 실제 파일을 사용하십시오. 사람들을 놀라게 하는 형식은 그 자체의 특이점 때문에 그렇습니다 — 네 개의 다른 도면을 참조하는 DWG, 저장된 값이 재계산되지 않은 스프레드시트, 폰트가 포함되지 않은 프레젠테이션 등. 무료 뷰어인 Doconut.app도 동일한 엔진을 사용하므로, 코드를 작성하기 전에 특정 복잡한 파일이 어떻게 표시되는지 빠르게 확인할 수 있습니다.

결론

플러그인 없이 문서 뷰어를 삽입하는 것은 네 가지로 요약됩니다: SDK를 설치하고, 자체 업로드 경로를 확보하며, 페이지의 컨테이너에 렌더링하고, 설치된 버전 문서에 대해 필요한 것만 구성합니다. 뷰어가 보안에 기여하는 부분은 좁고 실제적이며—서버에서 실행되고 외부로 아무것도 전송하지 않습니다. 나머지 목록의 모든 것은 애플리케이션의 책임이며, 어떤 SDK도 이를 대신할 수 없습니다.

평가해 볼 준비가 되셨나요? 공식 Doconut 다운로드 및 문서 페이지부터 시작한 다음, Windows 기반 ASP.NET 애플리케이션의 나머지 부분에 적용되는 동일한 보안 검토를 통해 SDK를 테스트하세요.