클라우드 스토리지 및 협업 플랫폼과 문서 뷰어 SDK 통합
← Back to Blog6 min read

클라우드 스토리지 및 협업 플랫폼과 문서 뷰어 SDK 통합

클라우드 스토리지 및 협업 플랫폼과 문서 뷰어 SDK 통합
클라우드 스토리지 및 협업 플랫폼과 문서 뷰어 SDK 통합
클라우드 스토리지 및 협업 플랫폼과 문서 뷰어 SDK를 통합하면 .NET 애플리케이션에서 바로 원활하고 안전하며 검색 가능한 문서 경험을 제공할 수 있습니다. Doconut—.NET 백엔드를 위한 범용 문서 뷰어—를 사용하면 PDF, Office 파일, CAD 도면 및 이미지를 네이티브로 렌더링하고, OCR 기반 검색을 추가하며, 실시간 주석을 활성화하고, 인쇄를 제어할 수 있으며, 모든 데이터를 선택한 클라우드 또는 온프레미스 환경에 보관할 수 있습니다. 이 가이드는 시니어 개발자와 소프트웨어 아키텍트에게 Doconut을 Azure Blob, Amazon S3 또는 Google Cloud Storage에 연결하고, Microsoft Teams, SharePoint 또는 맞춤형 React 기반 작업 공간과 같은 협업 포털을 통해 뷰어를 노출하는 방법을 보여줍니다.


현대 .NET 앱을 위한 클라우드 네이티브 문서 보기의 중요성

단일 .NET 코어로 크로스 플랫폼 일관성

기업들은 데스크톱 전용 문서 도구에서 벗어나 Windows에서 실행되는 웹 퍼스트 경험을 채택하고 있습니다. Doconut의 서버 측 렌더링 엔진은 .NET 6 이상에서 실행되어 기본 OS와 관계없이 동일한 픽셀 완벽 출력을 보장합니다. 뷰어가 스트림으로 작동하기 때문에 클라우드 버킷에서 파일을 가져와 바로 Doconut 뷰어 컴포넌트에 전달하고, 렌더링된 페이지나 썸네일을 디스크에 파일을 쓰지 않고 클라이언트에 반환할 수 있습니다.

지연 시간 및 대역폭 감소

문서가 Azure Blob Storage에 저장되어 있을 때, 첫 페이지를 보기 위해 전체 파일을 클라이언트로 다운로드하면 불필요한 지연이 발생합니다. Doconut은 온디맨드 썸네일 생성을 지원하여 먼저 저해상도 미리보기를 요청하고 사용자가 스크롤할 때만 전체 페이지 렌더링을 가져올 수 있습니다. 이 패턴은 수백 메가바이트에 달할 수 있는 대형 CAD 도면(DWG, DXF)에서 특히 유용합니다.

보안 우선 처리

모든 무거운 작업은 서버에서 수행됩니다. Doconut의 서버‑사이드 처리 기능을 사용하면 기밀 PDF, 법률 계약서 또는 의료 기록을 개인 VNet 또는 기업 방화벽 뒤에 보관할 수 있습니다. 제3자 SaaS를 호출하지 않으며, 뷰어는 브라우저 측 엔진에 원시 바이트를 스트리밍하지 않고, 백그라운드에서 생성한 이미지 타일이나 HTML 조각만 전송합니다.


Doconut을 인기 클라우드 스토리지 서비스에 연결하기

일반 통합 접근 방식

  1. 문서 스트림 가져오기 – 선택한 클라우드 제공업체(Azure Blob, Amazon S3, Google Cloud Storage)의 SDK를 사용하여 파일을 Stream 객체로 다운로드합니다.
  2. 스트림을 Doconut에 전달 – Doconut 뷰어는 선택적 렌더링 옵션과 함께 스트림을 받아들입니다. 이를 통해 웹 서버에 임시 파일을 만들 필요가 없습니다.
  3. 뷰어 토큰 생성 – Doconut은 현재 세션에서 열린 문서를 고유하게 식별하는 토큰을 반환합니다. 이 토큰은 JSON 형태로 프런트엔드에 반환되어 이후 페이지 렌더링 또는 주석 요청에 사용될 수 있습니다.
  4. 필요 시 페이지 렌더링 – 프런트엔드는 토큰과 원하는 페이지 번호를 사용해 Doconut 엔드포인트를 호출합니다; Doconut은 이미지 또는 HTML 조각을 스트리밍합니다.

워크플로가 스트림만을 사용하기 때문에 Azure 코드를 Amazon S3 또는 Google Cloud Storage로 교체하려면 스트림을 생성하는 클라우드‑SDK 호출만 변경하면 되며, Doconut 파이프라인의 나머지는 동일하게 유지됩니다.

다중 테넌트 스토리지 처리

SaaS DMS에서는 각 테넌트가 별도의 버킷이나 프리픽스를 가질 수 있습니다. Doconut이 스트림으로 작동하므로 런타임에 올바른 버킷을 결정하고 문서를 열며, 토큰을 현재 사용자의 클레임에 맞게 범위 지정할 수 있습니다. Doconut의 내부 캐시(IDistributedCache)는 Redis 또는 Azure Cache for Redis를 사용하도록 구성할 수 있어 동일 페이지에 대한 반복 요청이 재렌더링이 아닌 메모리에서 처리됩니다.


협업 워크플로에서 실시간 주석 및 OCR 활성화

주석 플러그인: 정적 뷰어를 리뷰 허브로 전환

Doconut은 사용자가 텍스트를 강조 표시하고, 스티키 노트를 추가하며, 자유형 도형을 그릴 수 있는 Annotation Plugin을 제공합니다. 문서를 연 후 뷰어에서 주석 관리자를 얻어 주석 객체를 추가하거나 수정하고, 주석 상태를 XML로 저장합니다. XML을 문서 레코드와 함께 저장하면 버전별 리뷰 히스토리를 만들 수 있으며, 이후 열 때 XML을 로드하면 정확한 시각적 상태가 복원됩니다.

스캔된 PDF를 위한 OCR 기반 검색

스캔된 계약서, 영수증 또는 의료 이미지는 종종 이미지 전용 PDF 형태로 제공됩니다. Doconut의 Search Plugin은 뷰어 설정에서 활성화하면 서버에서 자동으로 OCR을 수행합니다. OCR 엔진은 서버‑사이드 스택 내부에 존재하므로 추출된 텍스트가 보호된 환경을 벗어나지 않습니다. OCR이 완료되면 검색 API를 호출해 일치하는 페이지 번호와 경계 사각형을 가져올 수 있으며, UI에서 이를 강조 표시합니다. OCR이 서버에서 실행되기 때문에 추출된 텍스트를 Azure Cognitive Search, Elasticsearch 또는 기타 검색 서비스에 인덱싱하여 전체 저장소에 대한 즉시 전체 텍스트 검색을 제공할 수 있습니다.

공유 토큰을 통한 협업

Teams 또는 SharePoint 통합에서는 일반적으로 문서 ID, 사용자 권한 및 타임스탬프를 인코딩한 단기간 유효 토큰을 생성합니다. OpenDocument 호출에서 반환된 Doconut 토큰 문자열은 JWT로 래핑하거나 캐시 항목에 저장할 수 있습니다. 다른 사용자가 공유 링크를 클릭하면 동일한 토큰을 사용해 뷰어를 재구성하여 모든 참여자에게 주석 및 OCR 레이어를 유지합니다.


Doconut을 이용한 안전한 서버‑사이드 변환 및 제어된 인쇄

많은 기업에서는 들어오는 Word, Excel 또는 CAD 파일을 PDF로 변환해 보관하거나 “승인된 경우에만 인쇄” 정책을 적용해야 합니다. Doconut의 Converter Plugin은 Microsoft Office나 제3자 서비스를 필요로 하지 않고 이러한 시나리오를 처리합니다. 서버에서 변환 API를 호출하여 소스 파일 경로(또는 스트림)와 원하는 출력 형식을 전달합니다. 변환은 백엔드에서 완전히 수행되어 문서 저장소에 저장할 수 있는 PDF를 생성합니다.

PDF가 생성되면 뷰어 UI에서 바로 Controlled Printing을 활성화할 수 있습니다. Doconut은 특정 문서 토큰에 대한 인쇄 권한을 설정하는 메서드를 제공합니다. 사용자가 인쇄 버튼을 클릭하면 Doconut이 플래그를 확인하고 인쇄 가능한 이미지 스트림을 렌더링하거나 친절한 “인쇄 비활성화” 메시지를 반환합니다. 이 접근 방식은 브라우저 인쇄 대화 상자를 차단하기 위한 맞춤 JavaScript 필요성을 없애줍니다.

인쇄 활동 감사

인쇄 요청이 Doconut 미들웨어를 거치므로 ASP.NET Core 로깅 파이프라인에 연결해 누가 언제 무엇을 인쇄했는지 캡처할 수 있습니다. 감사 항목을 SQL 테이블에 저장하거나 SIEM 시스템으로 전달해 컴플라이언스 보고에 활용합니다—모든 문서 접근을 추적해야 하는 법률 기술 또는 의료 솔루션에 필수적입니다.


크로스‑플랫폼 환경에서 확장성과 성능을 위한 모범 사례

  1. 분산 캐시 활용 – Doconut의 내부 페이지‑타일 캐시는 Redis, Azure Cache 또는 any IDistributedCache 구현으로 백업할 수 있습니다. 변환 후 오래된 이미지를 제공하지 않도록 캐시 키에 문서 버전 해시를 포함합니다.
  2. 대량 변환을 위한 백그라운드 작업 사용 – 대규모 아카이브를 온보딩할 때 Hangfire 또는 Azure Functions로 변환 작업을 큐에 넣습니다. Doconut 뷰어 클래스는 스트림을 받아 토큰을 반환하고 HTTP 컨텍스트를 필요로 하지 않기 때문에 IHostedService 워커와 함께 작동합니다.
  3. 디바이스별 이미지 해상도 조정 – 모바일 디바이스는 낮은 ImageResolution(150‑200 DPI)으로 이점을 얻고, 데스크톱 워크스테이션은 CAD 세부 정보를 위해 300 DPI를 요청할 수 있습니다. 사용자‑에이전트 문자열이나 클라이언트‑사이드 설정에 따라 해상도를 조정합니다.
  4. 주석의 지연 로딩 활성화 – 주석 XML을 별도 테이블에 저장하고 사용자가 주석 패널을 열 때만 로드합니다. 이렇게 하면 초기 페이로드가 감소하고 첫 페이지 렌더링 속도가 빨라집니다.
  5. 메모리 사용량 모니터링 – 고해상도 CAD 페이지 렌더링은 메모리를 많이 소모할 수 있습니다. 프로덕션에서 .NET GC를 서버 모드(<gcServer enabled="true"/>)로 설정하고, 무한 렌더링 작업을 방지하기 위해 합리적인 타임아웃을 지정합니다.
  6. 정적 자산에 CDN 적용 – 뷰어의 JavaScript와 CSS 번들은 정적 파일입니다. Azure CDN, CloudFront 또는 Cloudflare를 통해 제공하면 초기 페이지 로드 시간을 수 밀리초 단축할 수 있으며, 특히 전 세계에 분산된 팀에 유리합니다.

이 가이드라인을 따르면 대륙을 넘어 수천 명의 동시 사용자를 지원하면서 첫 페이지에 대한 지연 시간을 200 ms 이하로 유지할 수 있습니다—이는 많은 기업 포털이 목표로 하는 벤치마크입니다.


Doconut 무료 체험으로 빠르게 시작하기

Doconut을 평가하는 가장 빠른 방법은 공식 사이트에서 무료 체험을 다운로드하고, 새 ASP.NET Core 프로젝트에 NuGet 패키지를 추가한 뒤 빠른 시작 가이드를 따르는 것입니다. 몇 분 안에 Azure Blob에서 문서를 가져오고, 주석을 활성화하며, OCR 기반 검색을 실행하고, 안전한 서버‑사이드 변환을 수행하는 기능적인 뷰어를 갖게 됩니다. 단계별 안내는 Doconut 문서를 방문하여 오늘 클라우드‑네이티브 문서 경험을 구축해 보세요.

문서 워크플로를 혁신할 준비가 되셨나요? 지금 Doconut 무료 체험에 등록하고 .NET 애플리케이션에서 안전하고 검색 가능하며 협업 가능한 문서 경험을 제공하는 것이 얼마나 쉬운지 확인하세요.

#document viewer#.NET#cloud integration#collaboration#OCR#문서 뷰어#클라우드 통합#협업