페이지 로딩과 파일 처리는 별개입니다
페이지를 열면 HTML, JavaScript, CSS, 이미지 같은 사이트 자원이 내려옵니다. Word·PowerPoint·Excel → PDF 도구는 LibreOffice WebAssembly와 데이터 파일도 정적 자원으로 내려받습니다.
선택한 이미지·PDF·문서 파일은 변환을 위해 서버로 전송하지 않습니다. 파일 내용은 현재 브라우저에서 읽고 처리합니다.
- 페이지·스크립트·WebAssembly 자원 다운로드는 발생할 수 있습니다.
- 사용자가 선택한 파일을 처리 서버로 업로드하는 별도 API는 사용하지 않습니다.
- 광고나 분석 스크립트가 추가될 경우 그 스크립트의 네트워크 요청은 파일 처리 흐름과 별개입니다.
이미지 도구는 브라우저 Canvas를 사용합니다
이미지를 선택하면 브라우저가 파일 헤더와 픽셀 크기를 확인하고 createImageBitmap으로 이미지를 읽습니다. 변환·압축·리사이즈 과정에서는 Canvas에 이미지를 그린 뒤 JPG, PNG 또는 WebP로 다시 인코딩합니다.
JPG 출력에서는 투명 영역을 흰색으로 채운 뒤 저장합니다. 품질 값을 지원하는 JPG와 WebP는 브라우저 인코더의 품질 설정을 사용하므로 브라우저 버전이나 이미지 내용에 따라 결과 용량이 조금 달라질 수 있습니다.
PDF 도구는 목적에 따라 처리 방식이 다릅니다
PDF 합치기·페이지 추출·순서 변경 같은 작업은 pdf-lib로 페이지 객체를 읽고 새 PDF를 구성합니다. PDF 미리보기와 페이지 렌더링이 필요한 작업에는 PDF.js를 사용합니다.
PDF 압축은 각 페이지를 이미지로 다시 구성하는 방식이므로 선택 가능한 텍스트, 링크와 벡터 요소가 이미지화될 수 있습니다. 중요한 원본은 별도로 보관하는 것이 좋습니다.
Office → PDF는 브라우저용 LibreOffice 엔진을 내려받아 실행합니다
Word, PowerPoint, Excel 변환은 서버에 문서를 보내는 대신 브라우저에서 실행되는 LibreOffice 변환 엔진을 사용합니다. 처음 사용할 때 엔진의 WebAssembly와 데이터 파일을 내려받기 때문에 다른 도구보다 준비 시간이 길 수 있습니다.
엔진 파일은 사이트의 정적 자원이며, 사용자가 고른 문서 파일과는 다릅니다. 변환 입력은 현재 브라우저 안에서 ArrayBuffer로 읽혀 엔진에 전달됩니다.
파일은 계정이나 서버 보관함에 저장되지 않습니다
툴담에는 파일 작업 이력을 저장하는 사용자 계정이나 서버 데이터베이스가 없습니다. 일반적인 도구 작업 중 선택한 파일과 결과는 브라우저 메모리에 유지되며 새로고침하거나 탭을 닫으면 다시 선택해야 합니다.
Office 변환 페이지의 sessionStorage는 변환 엔진 로딩 과정에서 필요한 재시도 상태를 한 번 기록하는 용도로 사용하며 사용자가 선택한 문서 내용은 저장하지 않습니다.
개발자 도구에서 직접 확인하는 방법
브라우저 개발자 도구의 Network 탭을 열고 파일을 선택한 뒤 변환을 실행해 보면 어떤 요청이 발생하는지 확인할 수 있습니다. 파일 업로드형 서비스라면 보통 선택한 파일 크기와 비슷한 POST 또는 PUT 요청이 나타나지만, 툴담의 로컬 처리 도구에서는 파일 내용을 업로드하는 요청이 없어야 합니다.
- Chrome/Edge: F12 → Network → Preserve log를 켭니다.
- 툴담 도구에서 파일을 선택하고 작업을 실행합니다.
- Fetch/XHR 항목과 요청 크기를 확인합니다.
- Office 변환에서는 엔진용 wasm/data 정적 파일 다운로드가 보일 수 있습니다.
로컬 처리에도 한계가 있습니다
서버 자원을 쓰지 않는 대신 처리 속도와 가능한 파일 크기는 사용자의 브라우저·메모리·CPU 성능에 영향을 받습니다. 특히 고해상도 이미지, 페이지가 많은 PDF, 대형 Office 문서는 메모리 사용량이 커질 수 있습니다.
도구별 최대 파일 수와 처리 방식은 각 도구 페이지에서 확인할 수 있습니다. 이미지 압축·변환 결과는 테스트 결과 페이지에서도 확인할 수 있습니다.