지원 파일 형식 상세 가이드
DiffMate에서 비교할 수 있는 파일 형식과 각각의 특성, 제한사항을 상세히 안내합니다.
TXT (Plain Text)
TXT 파일은 가장 기본적인 텍스트 파일 형식입니다. 서식 정보 없이 순수한 텍스트만 포함하며, 거의 모든 운영체제와 프로그램에서 읽을 수 있습니다.
DiffMate는 TXT 파일을 줄 단위로 비교합니다. 각 줄의 내용을 정밀하게 비교하여 추가, 삭제, 수정된 줄을 색상으로 구분합니다. 수정된 줄에서는 문자 단위로 정확히 어디가 변경되었는지 하이라이팅합니다.
인코딩 자동 감지를 지원합니다. UTF-8, EUC-KR(CP949), ISO-8859-1, UTF-16LE, UTF-16BE 등의 인코딩을 순차적으로 시도하여 최적의 인코딩으로 파일을 읽습니다. BOM(Byte Order Mark)이 포함된 파일도 정상 처리됩니다.
TXT 파일 비교 시 주의할 점은 줄 바꿈 방식입니다. 윈도우(CRLF)와 맥/리눅스(LF)의 줄 바꿈이 다르면 내용이 동일해도 차이로 표시될 수 있습니다. 가능하면 같은 OS에서 생성된 파일끼리 비교하는 것이 좋습니다.
파일 크기에 제한은 없지만, 브라우저 메모리에 의존하므로 수십 MB 이상의 파일은 처리 시간이 길어질 수 있습니다. 일반적인 텍스트 파일(수 MB 이내)은 거의 즉시 비교됩니다.
CSV (Comma-Separated Values)
CSV는 데이터를 쉼표로 구분하여 저장하는 형식으로, 데이터베이스 내보내기, 스프레드시트 공유, API 데이터 교환 등에 널리 사용됩니다.
DiffMate는 CSV 파일을 텍스트 기반으로 비교합니다. 각 행을 하나의 라인으로 취급하여 줄 단위 비교를 수행합니다. 쉼표(,), 탭( ), 세미콜론(;) 등 다양한 구분자를 자동으로 인식합니다.
CSV 비교의 장점은 스프레드시트 프로그램 없이도 데이터 차이를 빠르게 파악할 수 있다는 점입니다. 수천 행의 데이터에서 변경된 셀, 추가된 행, 삭제된 행을 색상으로 구분하여 보여줍니다.
주의사항으로, CSV에서 셀 내에 쉼표가 포함된 경우 큰따옴표로 감싸져 있어야 올바르게 파싱됩니다. 또한 헤더 행이 있는 CSV와 없는 CSV를 비교할 때는 결과 해석에 주의가 필요합니다.
인코딩 측면에서, 한국어가 포함된 CSV는 EUC-KR로 저장되는 경우가 많습니다(특히 윈도우 엑셀에서 "CSV로 저장" 시). DiffMate는 이를 자동 감지하여 처리합니다.
XLSX (Microsoft Excel)
XLSX는 Microsoft Excel의 기본 파일 형식으로, 여러 시트, 수식, 서식, 차트 등을 포함할 수 있는 복잡한 구조입니다.
DiffMate는 SheetJS 라이브러리를 사용하여 XLSX 파일을 파싱합니다. 엑셀 파일의 첫 번째 시트 데이터를 텍스트로 변환한 후 줄 단위로 비교합니다. 각 행의 셀 데이터는 탭으로 구분되어 비교됩니다.
비교 대상은 셀에 표시되는 값(표시값)입니다. 수식이 포함된 셀의 경우 수식 자체가 아닌 계산 결과값이 비교됩니다. 셀 서식(글꼴, 색상, 테두리 등)은 비교 대상이 아닙니다.
현재 제한사항: 첫 번째 시트만 비교됩니다. 여러 시트가 있는 파일에서 특정 시트를 비교하려면, 해당 시트를 별도 파일로 저장한 후 비교해 주세요.
차트, 이미지, 피벗 테이블 등의 비텍스트 요소는 비교되지 않습니다. 순수한 셀 데이터만 비교 대상입니다.
병합된 셀은 각 개별 셀로 풀어서 비교됩니다. 원본의 시각적 레이아웃과 다를 수 있습니다.
XLS(이전 엑셀 형식)도 지원됩니다. SheetJS가 두 형식을 모두 처리할 수 있기 때문입니다.
PDF (Portable Document Format)
PDF는 문서의 레이아웃을 그대로 유지하면서 공유할 수 있는 형식으로, 계약서, 보고서, 매뉴얼 등 공식 문서에 가장 많이 사용됩니다.
DiffMate는 pdf.js(Mozilla에서 개발한 PDF 렌더링 라이브러리)를 사용하여 PDF에서 텍스트를 추출합니다. 각 페이지의 텍스트 요소를 Y좌표 기준으로 정렬하여 줄을 구성한 후 비교합니다.
PDF 텍스트 추출의 특성상 원본 문서의 줄 바꿈과 추출된 텍스트의 줄 바꿈이 다를 수 있습니다. 이는 PDF가 본래 인쇄용 포맷이기 때문에 텍스트 흐름 정보가 완벽하게 보존되지 않기 때문입니다.
스캔된 PDF(이미지로 구성된 PDF)에서는 텍스트를 추출할 수 없습니다. OCR(광학 문자 인식) 처리가 완료된 PDF만 텍스트 비교가 가능합니다. Adobe Acrobat이나 다른 OCR 도구로 먼저 텍스트 레이어를 추가해야 합니다.
암호화된 PDF는 텍스트 추출이 제한될 수 있습니다. 비교 전에 암호를 해제하거나 텍스트 복사가 허용된 PDF를 사용해야 합니다.
표(테이블)가 포함된 PDF의 경우, 셀 간 구분이 정확하지 않을 수 있습니다. 표 데이터를 정확하게 비교해야 할 때는 PDF를 엑셀이나 CSV로 변환한 후 비교하는 것을 권장합니다.
다단(multi-column) 레이아웃의 PDF도 텍스트 추출 순서가 예상과 다를 수 있습니다. 단일 열 레이아웃의 PDF가 가장 정확한 비교 결과를 제공합니다.
파일 형식별 비교표
각 파일 형식의 특성을 한눈에 비교할 수 있습니다:
TXT: 가장 정확한 비교 가능, 인코딩 자동 감지, 파일 크기 제한 없음 CSV: 행 단위 정확한 비교, 구분자 자동 인식, 인코딩 자동 감지 XLSX: 첫 번째 시트의 셀 값 비교, 서식/차트 비교 불가, XLS도 지원 PDF: 텍스트 기반 비교, 레이아웃 차이 가능, 스캔 PDF 미지원
모든 형식에 공통으로 적용되는 특성: 모든 처리는 브라우저에서 진행되며, 파일이 외부 서버로 전송되지 않습니다. 문자 단위 하이라이팅으로 정확한 차이를 보여주고, 비교 결과를 파일로 저장할 수 있습니다.