ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 구글 드라이브 공유폴더에 AI OCR 연동해 문서 자동 분류/정리 시스템 구축하기
    구글 워크스페이스 2025. 7. 14. 21:38

     

    목차

    스캔된 문서가 쌓이는 순간, 조직은 정지한다
    시스템 설계: OCR 기반 Drive 자동화의 흐름 이해
    Cloud Vision API 설정 및 Apps Script 연동
    OCR 결과 기반 문서 분류·정리 자동화 구조
    활용 예시 및 운영 전략
    사람이 정리하는 시대는 끝났다, AI가 관리하는 문서 시스템으로 전환하자

     

     

    스캔된 문서가 쌓이는 순간, 조직은 정지한다

    업무에서 종이 없는 환경이 보편화되고 있지만, 여전히 많은 조직은 스캔된 문서나 이미지 파일을 PDF·JPG 형식으로 Google Drive에 업로드하고 끝이다. 특히 계약서, 세금계산서, 회의자료, 외부 증빙 등 다양한 문서들이 스캔본으로 관리되고, 이 문서들은 Drive의 특정 폴더에 무작위로 저장된다.

    문제는 여기서 시작된다.
    파일명은 scan_20240711.jpg, 2024_contract.pdf처럼 비표준이고,
    내용 검색이 불가능하며, 부서별 분류도 되지 않아 정리되지 않은 채 쌓이기만 하는 저장소가 되어버린다.
    이로 인해 문서 검색 시간은 늘어나고, 누락이나 중복, 이중 입력 등의 문제가 발생한다.

    이 문제를 해결하기 위한 핵심 전략은 OCR(광학문자인식) 기술을 활용해 이미지나 PDF의 텍스트를 추출하고, 추출된 내용을 바탕으로 문서를 자동 분류·정리하는 시스템을 구축하는 것이다. Google Workspace 환경에서는 Google Drive, Apps Script, Vision API를 연계해 누구나 이런 시스템을 구현할 수 있다.

    이 글에서는 Google Drive에 업로드된 문서 파일을 AI OCR로 자동 읽고, 폴더로 분류하거나 문서명을 바꾸는 자동화 시스템을 실제로 만드는 과정을 단계별로 설명한다.

     

     


    시스템 설계: OCR 기반 Drive 자동화의 흐름 이해

    OCR 기반 자동 분류 시스템의 핵심은 다음과 같은 흐름으로 구성된다:

    markdown
    복사
    편집
    a. 사용자가 스캔본(PDF, 이미지 등)을 Google Drive 공유폴더에 업로드  
    b. Apps Script가 업로드 감지 → OCR API 호출  
    c. 추출된 텍스트에서 키워드/날짜/문서 유형 인식  
    d. 조건에 따라 문서 자동 이동, 이름 변경, 메타데이터 기록  
    e. 관리자는 Drive 폴더 구조만 보고도 정리된 문서를 확인
    이 구조를 만들기 위해 필요한 요소는 다음과 같다:

    요소 설명
    Google Drive 문서 저장소 (공유 드라이브 또는 My Drive 사용 가능)
    Apps Script OCR 호출 및 Drive 자동화 스크립트 실행
    Cloud Vision API Google Cloud의 OCR 처리 도구 (텍스트 인식)
    Google Sheets (선택) OCR 결과 기록 및 로그 관리
    Drive 폴더 구조 유형별 정리 목적의 기준 경로 (예: 계약서/세금계산서/회의록 등)

    OCR 처리는 Google Workspace 자체만으로는 불가능하며, 반드시 Google Cloud의 Vision API가 필요하다. 그러나 설정이 어렵지 않고, 소량 테스트 시 무료 할당량도 충분하다.

     

     


    Cloud Vision API 설정 및 Apps Script 연동

    1단계: Cloud Vision API 사용 설정
    Google Cloud Console 접속

    새 프로젝트 생성 → 이름 예: ocr-doc-sorter
    API 및 서비스 > 라이브러리 > Cloud Vision API 검색 후 사용 설정
    API 키 생성 또는 서비스 계정 키(JSON) 발급

    2단계: Apps Script에서 Vision API 호출 구현
    다음은 Google Drive에 저장된 이미지나 PDF에서 텍스트를 추출하는 기본 함수이다:

    javascript
    복사
    편집
    function extractTextFromImage(fileId) {
      const apiKey = "YOUR_API_KEY";
      const file = DriveApp.getFileById(fileId);
      const blob = file.getBlob();
      const base64 = Utilities.base64Encode(blob.getBytes());

      const payload = {
        requests: [
          {
            image: { content: base64 },
            features: [{ type: "TEXT_DETECTION" }]
          }
        ]
      };

      const options = {
        method: "post",
        contentType: "application/json",
        payload: JSON.stringify(payload)
      };

      const response = UrlFetchApp.fetch(
        "https://vision.googleapis.com/v1/images:annotate?key=" + apiKey,
        options
      );

      const json = JSON.parse(response.getContentText());
      const text = json.responses[0].fullTextAnnotation.text;
      return text;
    }
    이 함수는 파일 ID를 입력받아 OCR 결과 텍스트를 반환한다.
    이후 이 텍스트를 분석해 문서 유형, 날짜, 관련 키워드를 기반으로 자동 분류 로직을 만들 수 있다.

    문서 이미지도 자동 인식·분류되는 구글 워크스페이스 기반 실전 자동화 구조


    OCR 결과 기반 문서 분류·정리 자동화 구조

    OCR로 추출된 텍스트를 바탕으로 문서를 정리하는 방법은 여러 가지가 있다.
    대표적인 자동화 시나리오는 다음과 같다:

    a. 키워드 기반 폴더 이동
    javascript
    복사
    편집
    function moveFileByKeyword(fileId, content) {
      const contractFolder = DriveApp.getFolderById("CONTRACT_FOLDER_ID");
      const invoiceFolder = DriveApp.getFolderById("INVOICE_FOLDER_ID");

      if (content.includes("계약") || content.includes("계약서")) {
        DriveApp.getFileById(fileId).moveTo(contractFolder);
      } else if (content.includes("세금계산서")) {
        DriveApp.getFileById(fileId).moveTo(invoiceFolder);
      }
    }
    b. 파일명 자동 변경 (문서 제목 + 날짜 기반)
    javascript
    복사
    편집
    function renameFile(fileId, content) {
      const file = DriveApp.getFileById(fileId);
      const match = content.match(/\d{4}\.\d{2}\.\d{2}/); // 날짜 추출
      const date = match ? match[0] : "날짜없음";
      file.setName("문서_" + date);
    }
    c. 로그 기록 (선택)
    OCR 결과와 분류 결과를 Google Sheets에 기록하면
    문서 정리 이력과 함께 문제 발생 시 추적이 가능하다.

    javascript
    복사
    편집
    function logToSheet(filename, result) {
      const sheet = SpreadsheetApp.openById("시트_ID").getSheetByName("OCR로그");
      sheet.appendRow([new Date(), filename, result]);
    }

     


    활용 예시 및 운영 전략

    이 시스템은 다양한 환경에서 유용하게 활용될 수 있다:

    실전 적용 예시:
    문서 유형 사용 예
    계약서 “계약” 키워드 포함 시 → 계약서 폴더 이동 + 날짜 기반 이름 변경
    세금계산서 “공급가액”, “세액” 등 포함 시 → 세무 폴더 이동
    회의자료 “회의일시”, “참석자” 포함 시 → 회의록 폴더 이동
    외부 자료 “회사명”, “제출용” 포함 시 → 클라이언트별 폴더로 이동

    운영 전략:
    트리거 설정: 새 파일 업로드 시 자동 실행 (시간 기반 or 수동 실행)
    표준 파일 저장 경로 유지: 업로드 위치 제한(예: /업로드/원본) → 분류 후 /분류/문서별로 이동
    처리 실패 문서 별도 저장: 텍스트 인식 실패 시 /분류실패 폴더로 이동
    기록 유지: 로그 시트에 날짜/파일명/분류 결과/오류 기록 남김

    이러한 전략을 적용하면, 문서가 쌓이는 것이 아니라, 자동으로 정리되며 누적되는 구조가 완성된다.

     


    사람이 정리하는 시대는 끝났다, AI가 관리하는 문서 시스템으로 전환하자

    Google Drive는 단순한 저장소가 아니다. Google Cloud의 AI 기능과 연동하면
    Drive는 문서를 스스로 읽고, 해석하고, 정리하는 스마트 시스템으로 진화할 수 있다.
    OCR 기술은 더 이상 고가의 솔루션이 아니며, Google Vision API와 Apps Script를 통해
    누구나 구현 가능한 자동화 도구로 손쉽게 접근할 수 있다.

    이 시스템을 도입하면 관리자는 문서를 정리하는 시간을 줄이고,
    문서 검색, 감사 대응, 업무 추적에 더 많은 에너지를 투자할 수 있다.
    지금까지 Drive에 문서만 쌓아뒀다면, 이제는 그 문서들이 스스로 자리를 찾아가게 해보자.
    Google Workspace와 AI가 결합된 이 시스템은,
    조직의 문서 운영 방식을 ‘사람이 정리하는 시대’에서 ‘AI가 정돈하는 구조’로 바꾸는 전환점이 될 것이다.

     

Designed by Tistory.