1. 서론
최근 디지털 기술이 빠르게 발전하면서 현대 사회의 업무 환경 또한 디지털 중심으로 변화하고 있으며, 관련 프로그램의 활용이 보편화되고 있다. 하지만, 요청한 문서의 종류와 수에 따라 프로그램을 사용하더라도 한계점이 존재한다. 문서를 관리하는 작업은 여러 문서를 일일이 전부 열람하고 편집하는 반복적인 업무를 통해 많은 시간이 소요된다. 실제로 일반 직장인의 경우는 약 52%의 업무 시간을 문서 작업에 사용될 정도로 높은 비율을 차지하게 되는 문제가 존재한다 [1]. 이러한 문서 작업은 크게 문서의 작성, 병합 및 편집, 그리고 변경 검토 및 승인 과정으로 구성된다. 특히 대규모 프로젝트가 주를 이루는 조선업에서는 신규 작성 보다 기존 데이터의 병합 및 수정 사항 비교와 검토에 소요되는 비중이 업무의 많은 부분을 차지한다. 조선업에서는 다른 업종과는 달리 선박이나 해양플랜트 설계 과정 시 발생하는 승인용 문서와 방대한 설계 문서들은 수천에서 수만 장에 이르게 된다. 대부분 문서의 형식은 MS Word, MS Excel과 같은 특정 문서 프로그램을 활용하더라도 사람이 직접 관리하면 문서 병합, 비교에서 이전의 내용과 수정된 내용을 검토하는 과정에서 일일이 확인해야 하기에 많은 시간이 소요된다. 즉 전체 문서 작업 중 병합과 비교는 단순 반복 업무임에도 불구하고, 승인 전 품질 검토 단계에서 휴먼 에러를 방지하기 위해 가장 많은 인적 자원이 투입되는 병목 구간이다. 그럼에도 불구하고 사람의 직접적인 검토 과정에서 휴먼 에러가 일어날 가능성이 높아, 인력 소모와 자원 효율이 저하로 이어지게 되며 비효율이 발생한다.
따라서 본 논문에서는 문서 관리 전반의 과정 중 가장 비효율이 큰 병합 및 검토 단계를 타켓팅하여, 기존의 불필요한 프로세스의 한계점을 극복하고, 반복적으로 수행되는 업무 시간을 단축하고 정확성을 높이는 자동화 솔루션을 갖춘 프로그램을 제안한다. 이는 사용자 맞춤형 조건에 따라 다양한 형식의 문서들을 자동으로 병합할 수 있는 기능과 두 문서 간의 차이점을 식별하도록 메타데이터와 해시 함수 등을 활용하여 문서 간 차이점을 식별한다. 특히, 비교 과정에서 발생할 수 있는 육안 검토의 피로도를 줄이기 위하여 변경된 부분이 포함된 페이지를 시각적으로 강조하여 검토 지원 기능을 수행한다. 이를 통하여 문서 관리의 체계성과 안정성을 높여 업무 효율성과 문서의 정확도를 동시에 향상하는 것을 목표로 하며, 본 시스템은 초기에 조선업 설계 문서를 중심으로 설계되었으나, 대량의 OOXML·PDF 기반 설계 문서를 다루는 일반 제조·엔지니어링 분야에도 확장 적용이 가능하다.
본 논문의 구성은 다음과 같다. 2장에서는 관련 연구를 소개하고 3장에서는 개발한 시스템의 설계 및 구현 방안에 대해서 논의한다. 4장에서는 결론을 논의한다.
2. 관련 연구
설계 분야에서는 실제 제품이 제조되기 전 2D 도면 및 3D 모델을 설계 및 생성하는 CAD(Computer-Aided Design) 프로그램과 제품 미래 성능을 예측하고 평가하는 CAE(Computer-Aided Engineering) 프로그램을 사용한다 [2]. 해당 프로그램 간의 관리 효율성을 높이기 위해 계층적 데이터 포맷(HDF)에 기반하여 이종 시스템 간의 통합 방안을 제시하였다. 이는 데이터 변환 과정에서 발생하는 오류와 비효율성을 줄이기 위하여 통합 구조를 도입한다. 기존에는 제품 모델에 따라 CAD, CAE 중심 접근 방식에 집중되지만 두 접근 방식 모두 최적화된 모델을 얻기 위한 반복적인 재작업이 가장 큰 문제로 꼽힌다. 모델을 얻기 위한 수동 재작업은 시간이 많이 소요되고 종종 만족스럽지 못한 결과를 초래한다.
기존의 방식을 개선하기 위해 통합된 데이터 포맷을 활용하며 설계 데이터와 해석 데이터의 일관성을 유지한다. 이를 활용하여 기존 방식 대비한 통합 관리 체계를 통해 데이터의 추적성과 재사용성이 증대하여 이기종 엔지니어링 시스템 간 데이터 호환성이 크게 향상되었다.
임상 실험 의료 분야에서 임상시험 데이터 관리의 효율성을 높이기 위하여 사용되는 데이터의 형태가 아날로그 기반에서 디지털 기반 형태로 변화함에 따라 워크플로 내에서 이미지 및 생체신호 파일의 통합을 제안하였다 [3]. 기존 방식은 자료 수집을 위한 자료 준비 및 라벨링부터 분석 결과를 수동적인 업무 흐름 상호 작용을 통해 수동으로 입력하는 경우가 발생한다. 이는 의사와 연구 간호사의 업무 흐름을 악화시키는 결과를 초래한다. 수동적인 업무 수행 방식을 개선하기 위해 웹서비스 기반의 통합 시스템을 통해 다양한 데이터 유형을 가진 임상시험 데이터를 하나의 관리 체계로 통합하여 품질과 활용도를 높였다. 디지털 기반 형태는 전자 데이터 수집 시스템(EDSC)을 사용하여 임상시험 수행한다. 이는 데이터 통합을 통하여 임상시험 과정 전반의 자료를 수집, 저장, 분석 절차를 간소화하고 오류 발생 가능성과 지연 시간을 줄임으로 관리 효율을 증대시켰다. 이를 통해 여러 부서나 연구자 간의 협업을 원활히 진행할 수 있었고 임상시험의 신속한 의사결정과 결과 도출한다.
학술 문서의 위변조 방지를 위해 SHA-256 해시 함수를 이용한 무결성 검증 시스템을 사용한다 [4]. 해당 연구는 문서의 고유한 지문 역할을 하는 해시값을 생성하고 이를 분산 환경에서 검증함으로써, 물리적 문서의 디지털화 과정에서 발생할 수 있는 데이터 위변조 문제를 해결하는 신뢰 메커니즘을 입증한다.
특허문서의 상세한 설명을 이용한 특허 자동 분류에 1D-Convolutional Layer를 적용한 모델을 사용한다 [5]. 1D Convolutional Layer 기반의 WaveNet 모델을 적용하여 분류 정확도를 최대 17%까지 향상한다.
기존의 선행 연구들은 CAD 도메인 내에서의 데이터 통합 포맷 구축, 워크플로 효율화를 위한 시스템적 통합, 문서의 전체적인 무결성 인증 메커니즘, 문서 자동 분류 모델을 제안했다. 하지만 이러한 연구들은 실제 실무 현장에서 발생하는 다양한 이기종 문서의 배치 왜곡 없는 물리적 병합이나 대량의 문서 내에서 변경된 페이지만을 즉각적으로 추적하여 시각화하는 세부적인 검토 지원 기능에는 한계가 있다.
3. 본론
3.1 문서 형식
3.1.1 Binary File Format
Microsoft의 Microsoft Office Binary File Format을 기반으로 한 파일 포맷으로 .doc, .xls가 대표적으로 해당한다 [6]. 그림 1과 같이 여러 개의 데이터 스트림을 포함하여 저장소 계층 구조로 구성된다. 특히 각 복합 문서 파일에는 다른 모든 저장소와 스트림의 직접 또는 간접 루트가 되는 저장소를 포함하게 된다.

그림 1. 바이너리 파일 구조
Fig. 1. Binary File Structure
문서 헤더에는 필요한 모든 데이터가 포함되어 있으며, 바이너리 형식으로 복잡한 구조로 저장되어 있다. 그래서 현재에는 다양한 플랫폼과 애플리케이션에서 호환성을 위해 Office Open XML 기반의 문서를 선호하는 편으로 Binary file format 기반 문서는 지양하는 편이다.
3.2 문서 병합 과정 설계
3.2.1 동종 형식 문서 병합
워드, 엑셀과 같은 동종 형식 문서의 병합은 그림 2와 같이 Office Open XML의 형태를 분해하여 내부 구성요소를 재조합하고 rID와 같은 참조 요소를 재매핑하는 과정을 통해 수행된다. 특히, Docx의 병합 과정에서 단순 결합 방식을 사용하더라도 그림 3과 같이 원본과 다른 결과물을 생성한다. 특히, 이미지 참조 오류와 페이지 구성 왜곡과 같은 현상이 나타난다. 이미지 참조 오류의 원인은 워드 문서 내 이미지 객체가 충돌로 확인되며, 각 이미지의 rID가 잘못 연결되어 발생한다. rID는 문서 내부의 각 이미지를 지정하는 고유 식별자로, 해당 값이 올바르게 연결되지 않으면 이미지가 정상적으로 참조되지 않아 오류로 이어진다. 이를 해결하기 위하여 병합 결과물의 rID를 초기화하고 해당 rID를 직접적으로 추가하는 방식으로 전처리를 진행하여 원본과 같은 형태의 결과물을 생성한다. 그림 4는 rID 초기화 및 추가를 적용하여 문서를 병합한 결과이다. Xlsx 형식의 경우, 다수의 파일을 하나의 워크시트로 통합하는 과정에서, 최종적으로 병합되는 셀의 규격이 우선 적용되어 그림 5와 같이 가독성이 떨어지는 결과물을 나타낸다. 각 셀의 크기가 달라지는 문제가 나타난다. 이를 해결하기 위해 두 엑셀 파일의 셀 너비를 고려하여 더 큰 크기의 값을 기준값으로 설정하여 문서를 병합한다. 이에 따라 그림 6과 같이 가독성이 낮아지는 문제가 발생했던 문서 병합 결과와는 다르게 상대적으로 가독성이 높은 병합 문서가 생성되는 것으로 확인된다.

그림 2. 오피스 오픈 XML
Fig. 2. Office Open XML

그림 3. 이미지 참조 오류가 발생한 병합 문서
Fig. 3. Merged Document with Image Reference Errors

그림 4. 성공적인 병합 문서
Fig. 4. Successfully Merged Document

그림 5. 셀 크기를 고려하지 않은 병합 문서의 일부
Fig. 5. Merged Document without Cell Size Consideration

그림 6. 셀 크기를 고려한 병합 문서의 일부
Fig. 6. Merged Document with Cell Size Consideration
3.2.2 이기종 형식 문서 병합
이기종 형식 문서 병합은 동종 문서 병합 시 사용한 방법을 적용하기에는 추가적인 문제가 발생한다. 문서 포맷별로 존재하는 여백, 구성 등과 같은 서로 다른 문서의 사소한 배치 차이로 병합 결과물의 일관성을 저해하는 점이 주요 요인이다. 이를 해결하기 위해 결과물을 PDF 하나의 확장자로 처리하도록 설계하였다. 하지만, 이는 장단점이 명확하다. 원본과의 일관성이 유지되지만, 편집 가능성은 함께 상실하게 되어 새롭게 병합 과정을 진행하게 되어 한계점도 분명히 존재한다. 하지만, 본 연구에서는 여러 문서를 한 번에 처리한다는 것에 초점을 두어 이기종 형식 문서 병합을 새롭게 제안한다.
먼저, 그림 7과 같이 모든 결과물을 PDF 형식으로 변경하여 문서 형식을 통일한 후 병합한다. 추가로 사용자가 병합을 원하는 문서를 지정하면 해당 페이지 또는 워크시트만을 대상으로 병합한다. 예를 들면, 워드 문서인 Docx, Doc은 PDF로 변환한 후, 사용자가 원하는 페이지를 선택적으로 추출하며, 엑셀 문서는 선택한 워크시트를 추출한 뒤 PDF로 변환하는 방식으로 처리된다. 이를 통하여 기존에 발생했던 원본과 다른 결과물이 나오는 것을 방지하고 병합 결과물은 원본의 형식과 같은 것으로 확인된다. 또한, Binary file format과 Open Office XML의 구분 없이 결과물을 추출할 수 있다.

그림 7. PDF 변환 후 문서 병합 과정
Fig. 7. Document Merging Process after PDF Conversion
이어서 그림 8과 같이 표지와 목차 페이지를 생성한다. 먼저 원본 문서의 메타데이터로부터 파일명, 작성자, 페이지 수와 병합 시작 위치 등을 추출한다. 추출한 데이터는 사전 정의된 서식에 따라 워드 문서 형태로 구성된 후 PDF로 변환한다. 최종적으로 그림 7에서 생성한 병합 PDF의 앞부분에 결합한다. 그림 9는 책갈피 기능과 페이지 번호 삽입 과정을 보여준다. 페이지 번호의 위치는 페이지 하단 중앙 배치를 하나, 여러 문서를 병합하는 과정에서는 서로 다른 규격의 문서로 인하여 페이지 크기에 따라 번호의 위치가 일치하지 않는 문제가 발생한다. 이를 해결하기 위해 개별 페이지의 좌표 정보를 저장하여 새로운 레이어를 생성하고, 이를 기존 문서 위에 스탬핑 기법으로 합성하는 방식을 적용한다. 또한, 그림 8에 추출한 문서의 정보들을 활용하여 책갈피 기능을 추가하고, XML 형식으로 저장된 정보들을 병합 문서의 메타데이터에 저장하여 비교 방식에 활용한다. 이러한 기능들은 사용자가 별도의 작업을 진행하지 않아도 문서에 자동으로 반영되도록 설계되었기에 업무 효율성을 높인다.

그림 8. 표지 페이지와 목차 페이지 생성 과정
Fig. 8. Process of creating a cover page and table of contents page

그림 9. 책갈피와 페이지 번호 삽입 과정
Fig. 9. Process of inserting bookmarks and page numbers
3.3 문서 비교 과정 설계
3.3.1 동종 형식 문서 비교
본 연구의 문서 비교 방식은 기존 프로세스와 차별화된 절차를 따른다. 기존 문서 비교 방식은 서로 다른 형식을 가진 문서라도 텍스트를 기준으로 두 문서를 비교한다. 하지만, 이는 현재 프로세스에서는 문제가 발생할 수 있다.
그림 10과 같이 동일한 원본 텍스트를 포함하고 있더라도 Python의 difflib 라이브러리를 활용하여 형태소 단위의 유사도를 워드와 엑셀의 파일에서 직접 텍스트를 추출하였다 [8]. 먼저, 문자열 단순 비교를 진행하게 된다면 정확도는 약 23%로 저조한 결과로 측정된다. 이는 각 파일의 형식에 따라 텍스틀 저장하는 구조와 개행 문자, 단락 등의 문자가 다르게 삽입되기 때문이다. 이러한 형식을 배제하고 순수 텍스트만을 정규화하는 전처리 고정을 거친 후 재측정한 결과, 일치도는 92%까지 향상되었다. 그러나 문서 내 숨겨진 메타데이터나 표 내부의 보이지 않는 서식 정보의 차이로 인해 완전 일치의 100% 결과는 도달하지 못하였으나, 실무적인 식별에는 불충분한 수준임을 확인하였다. 그래서 이를 해결하기 위해 서로 다른 확장자를 가진 문서가 아닌 PDF의 문서만 비교를 진행한다.

그림 10. 같은 내용의 워드와 엑셀 문서
Fig. 10. Word and Excel documents with the same content
3.3.2 문서 단위 비교
문서 단위 비교는 그림 9에서 생성된 병합 문서를 활용하여 병합된 문서들을 비교하는 방식을 사용한다. 이전 병합 과정에서 메타데이터에 원본 문서의 정보들을 활용하여 두 병합 문서의 비교를 진행한다. 각 원본 문서의 페이지의 모든 내용과 메타데이터 내용을 활용하여 페이지마다 키값을 가진다. 페이지의 내용은 도형, 그림, 텍스트 등 다양한 요건을 페이지마다 일일이 비교하게 된다면 오랜 시간이 걸리게 된다. 이에 본 연구에서는 비교 효율성을 높이기 위해 SHA-1 알고리즘을 적용하였다. 이는 보안 목적이 아닌 페이지 단위 내용의 동일성 판단을 위한 식별자로 활용되며 충돌 가능성은 실무 문서 관리 환경에서 충분히 허용할 수 있는 수준으로 판단된다. 페이지 내용이 일치하면, 문서의 정보들로 문서명, 페이지 수, 페이지 위치 등 세부적인 내용을 비교한다. 이를 통하여 같은 문서를 병합하더라도 문서의 시작 위치, 내용, 수가 달라짐을 확인할 수 있으며, 기존에서 추가된 문서나 삭제된 문서도 확인할 수 있다.
기존의 사람이 서로 다른 병합 결과물을 10장 정도 비교하였을 경우, 세부적인 서식과 수치들을 일일이 확인하게 된다면 평균 10분 정도 걸리게 된다. 하지만, 사람이 직접 눈으로 검토하는 경우에는 실수를 초래할 수 있기에 여러 번 검토 하게 된다. 하지만, 해시 함수와 메타데이터를 활용하게 될 경우는 사람이 직접 비교했을 경우에 비해 실수를 초래할 가능성이 낮아질뿐더러 작업 시간이 1-3분으로 줄어든 결과를 도출하였다.
3.4 문서 관리 시스템 UI 설계
3.4.1 TKinter
Tkinter는 Tcl/Tk GUI 개발환경에 대한 표준 Python 인터페이스이다. 이는 CLI를 통하여 간단한 인터페이스와 기능 등을 수행할 수 있다. 그림 11과 같이 UI를 직관적으로 설계할 수 있다. 시스템의 초기에는 Tkinter를 활용하여 UI를 제작한다. 그림 11은 초기 시스템의 UI이다. 왼쪽은 불러온 문서들을 확인할 수 있으며 문서를 클릭하여 왼쪽 아래의 버튼과 입력창을 통하여 원하는 페이지나 워크시트를 선택할 수 있다. 또한 오른쪽의 4가지 입력창을 통하여 표지 페이지를 설정할 수 있다. 하지만, 별도의 UI 제작 도구를 제공하지 않아 모든 요소를 코드로 직접적으로 구현하기에는 유지 보수 및 새로운 기능을 추가하는데 어려움이 존재하였다. 이를 해결하기 위하여 CLI와 GUI를 동시에 제공하는 PyQt를 활용한다.

그림 11. Tkinter 사용자 인터페이스
Fig. 11. Tkinter UI
3.4.2 PyQt
PyQt는 파이썬 플러그인으로 구현된 크로스 플랫폼 GUI 툴킷 Qt 파이썬 바인딩으로 CLI와 GUI를 동시에 제공한다. Qt Designer을 통하여 UI와 Python 로직을 분리함으로써 시스템의 유지보수성과 기능적 확장성을 확보하였다. 이를 통하여 복잡한 문서 처리 과정에서 발생할 수 있는 지연을 최소화하고 사용자에게 이전과는 다른 직관적인 인터페이스가 제공할 수 있다. 메인 화면의 그림 12와 같이 상단의 탭을 통하여 ‘Merge’, ‘Compare’ 기능을 교차하며 사용할 수 있다. 메인 화면은 다량의 문서를 처리하는 사용자의 동선 작업을 단순화하도록 ‘Load’ 버튼을 통하여 .docx, doc, xls. xlsx. pdf 파일을 상관없이 모두 불러올 수 있다. ‘Preview’ 기능과 하단 표를 통하여 사용자가 병합 전 원본 데이터를 시각적으로 재확인하게 함으로써 파일 오선택 등 휴먼 에러를 사전에 방지한다. 또한, 원하는 문서 행을 두 번 클릭하면 범위 선택이 가능하며 이를 통하여 필요한 부분만 발췌 병합할 수 있도록 정밀도를 제공하며, 사용자가 추가적인 작업을 하지 않아 업무 피로도를 경감시킨다. 또한, 표지 정보로 문서명, 부서, 담당자를 입력할 수 있으며, 초기에 입력한 데이터를 유지하고 있어 번거로움을 줄여준다. 최하단의 진행 막대를 통하여 병합 진행도를 통하여 실시간 병합 과정을 파악할 수 있다. 두 번째 기능은 ‘Compare’로 PDF 형식의 두 문서를 비교할 수 있다. 드래그를 통하여 문서를 불러와 그림 13의 가운데에 있는 ‘X’ 버튼을 통하여 삭제도 가능하며, ‘Compare’ 버튼을 통하여 두 문서를 비교한다. 비교 결과는 하단의 표를 통하여 비교에 대한 요약본을 확인할 수 있고, 별도의 pdf 파일로 저장하여 변경 이력이 존재하는 페이지에 하이라이트 처리된 것을 확인할 수 있다.

그림 12. PyQt의 Merge 사용자 인터페이스
Fig. 12. PyQt’s Merge UI

그림 13. PyQt의 Compare 사용자 인터페이스
Fig. 13. PyQt’s Compare UI
4. 결론
본 연구에서는 수기 문서 관리의 비효율성을 개선하기 위하여 OOXML 구조 분석 및 SHA-1 해시 알고리즘 기반의 문서 관리 자동화 시스템을 설계하고 개발하였다. 특히 이기종 문서 간 병합 시 발생하는 레이아웃 왜곡을 rID 재매핑 기술로 해결하고, 페이지 단위 해시 비교 로직을 통해 육안 검토 시 발생하는 휴먼 에러를 원천적으로 차단하였다. 기존 평균적으로 10~15분 정도 소요되던 수기 관리 프로세스를 평균 1~3분 내로 단축하여, 약 80% 이상의 업무 효율을 달성하였으며, 이는 대량의 설계 문서를 다루는 환경에서 데이터 무결성과 검증 생산성을 동시에 확보할 수 있는 실무적 해결책임을 확인하였다.
References
- Korea Productivity Center, "Report on Smart Work and Organizational Creativity", Korea Productivity Center, October, March, 2014.
- M. Khan, S. Rezwana, "A review of CAD to CAE integration with a hierarchical data format(HDF)-based solution," Journal of King Saud University, vol. 33, no. 4, pp. 248-258
- D. Haak, C. Samsel, J. Gehlen, S. Jonas, T. Deserno, "Simplifying Electronic Data Capture in Clinical Trials: Workflow Embedded Image and Bio-signal File Integration and Analysis via Web Services," J Digit Imaging, vol. 27, no. 5, pp. 571-580
- M. Rane, S. Singh, R. Singh, V. Amarsinh, "Integrity and Authenticity of Academic Documents Using Blockchain Approach," International Conference on Automation, Computing and Communication 2020, Daytona Beach, USA, Jan., 2020
- S. Kim, S. Kim, "Comparison of Performance of Models Applying 1D-convolutional Layer to Automatic Patent Classification using Detailed Descriptions of Patent Documents," Journal of The Institute of Electronics and Information Engineers, vol. 59, no. 1, pp. 21-28
- Microsoft Compound Document File Format(2010), Retrieved Feb., 3, 2026, from https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-cfb/53989ce4-7b05-4f8d-829b-d08d6148375b
- XML file name extension reference for Office(2016), Retrieved Feb., 3, 2026, from https://learn.microsoft.com/en-us/office/compatibility/xml-file-name-extension-reference-for-office
- difflib(2026), Retrieved Feb., 3, 2026, from https://docs.python.org/3/library/difflib.html