안녕하세요. 엔지엠소프트웨어입니다. 다중 언어(한글과 영어 및 숫자) 문자 인식을 커스텀 모듈로 만드는 방법에 대해 글을 작성중입니다. 왜 이 글을 작성하는지는 [ 1부 ]를 참고하시면 됩니다. 1부 내용을 안보셨으면 이 내용을 학습할 수 없으니 꼭~ 읽어보고 오시기 바랍니다^^ 만약~ 코딩이 귀찮다면 이 글의 첨부 파일과 [ 커스텀 모듈 ]을 다운로드 후 구글 API만 받아서 폴더에 복사해도 됩니다. 커스텀 모듈을 구매하시면 기본적인 셋팅은 원격으로 도와드립니다!
자~ 커스텀 모듈을 개발하기 위한 준비를 해야 하는데요. [ 커스텀 모듈 제작 도움말 ]이 있으니 참고하셔서 기본적인건 미리 준비해주세요. Visual Studio를 실행하고, 커스텀 모듈을 하나 추가 해줍니다. 저는 아래와 같이 CustomGoogleOcrModule로 이름을 지었습니다.

클래스명을 OcrModel로 변경하세요.
namespace CustomGoogleOcrModule
{
public class OcrModel : NGM.Models.Interface.BaseCustomToolModel
{
public override string DisplayCategory => "Google APIs";
public override string DisplayName => "Vision AI";
public override void Execute() { throw new NotImplementedException(); }
}
}
프로젝트 참조에 커스텀 모듈 개발 라이브러리들을 추가 해줍니다. 이 라이브러리들은 엔지엠 매크로와 사용자가 커스텀으로 만든 모듈이 호환될 수 있도록 해줍니다^^

"NGM.Models.Interface.BaseCustomToolModel"을 상속 받으면 아래와 같이 기본 구조가 만들어집니다.
[Category("Action")]
[DisplayName("이미지 선택")]
[Description("문자를 판독할 이미지를 선택 해주세요.")]
[Browsable(true)]
[DefaultValue(null)]
[Editor(typeof(NGM.Models.TypeEditor.OpenFileSelectorEditor), typeof(UITypeEditor))]
public string ImagePath { get; set; }
엔지엠 에디터에 표시될 카테고리와 액션 이름을 아래와 같이 설정 해주세요.
[Category("Data")]
[DisplayName("결과 값")]
[Description("이미지에서 추출한 텍스트를 표시합니다.")]
[Browsable(true)]
[DefaultValue(null)]
[Editor(typeof(MultilineStringEditor), typeof(UITypeEditor))]
public string Result { get; set; }
구글 API를 사용하기 위해 구글 패키지를 설치해줍시다. 아래 그림과 같이 프로젝트에서 우클릭 후 NuGet 패키지 관리를 클릭하세요.

"Google.Cloud.Vision"을 검색하고, 설치 해주세요. 우측에 설치 버튼을 누르면 됩니다.

변경 내용 미리 보기에서 어떤것들이 설치되는지 확인하고, "확인"을 누르세요.

1부에서 다운로드 받은 키파일을 쉘에 등록해줍니다. 인증은 환경 변수를 설정하여 애플리케이션 코드에 사용자 인증 정보를 제공합니다. 그렇기 때문에 아래 명령을 통해 시스템에 등록해야 합니다. 우선, 키 파일을 내문서의 NGM6 폴더에 복사 해줍니다. CMD를 관리자 권한으로 실행하고, 아래 명령을 실행하세요.
set GOOGLE_APPLICATION_CREDENTIALS=KEY_PATH
시스템 변수에 정상적으로 등록되었는지 확인하기 위해 내 컴퓨터의 속성을 클릭하세요. 아래 그림과 같이 "고급 시스템 설정"을 클릭해줍니다.

고급 탭에 환경 변수를 클릭하세요.

하단의 시스템 변수에 "GOOGLE_APPLICATION_CREDENTIALS"이 등록되어 있는지 확인하세요.

만약, 환경 변수에 등록되어 있지 않다면 아래와 같이 직접 추가해야 합니다. 변수 값은 1부에서 다운로드 받은 키 파일을 추가해줘야 합니다. 이 작업이 완료되면 컴퓨터를 리부팅해야 정상적으로 시스템에 적용됩니다. 꼭 리부팅 후 다시 진행 해주세요.

5. 커스텀 모듈 적용
- 첨부 파일 참조 → 프로젝트에 추가
- 전체 빌드 후 → 내문서\NGM6\ToolExtension 폴더에 복사
- 엔지엠 에디터 실행 → 새로운 스크립트 추가
- Google APIs 카테고리 → Vision AI 액션 추가
- 이미지 선택 후 실행 → 문자 판독 결과 확인

찾아 보기를 클릭하세요. 그리고 다운로드 한 파일의 압축을 해제하고, 선택하면 됩니다.

커스텀 모듈을 전체 빌드한 후 생성된 모든 파일을 복사하고, 내문서 > NGM6 > ToolExtension 폴더에 붙여넣기 하세요.

엔지엠 에디터를 실행한 후 새로운 스크립트를 추가 해줍니다.

사용자 도구에 보면 Google APIs 카테고리가 생성되고, Vision AI 액션이 추가된 것을 확인할 수 있습니다. 스크립트에 드래그하여 추가 하세요.

아래와 같은 이미지를 생성한 후 선택 해줍니다. 아래 이미지를 다른 이름으로 저장한 후 선택하시면 됩니다.

실행하면 아래와 같이 문자가 판독된것을 확인할 수 있습니다.

6. 활용 팁
- 무료 OCR에서 다중 언어 지원이 부족한 문제 해결 → 유료 OCR, 구글 Vision AI 사용 권장
- 엔지엠 매크로 조건 인터페이스 구현 시 추가 기능 확장 가능
- 구글 API 활용 → 다양한 텍스트, 이미지 처리 자동화 가능
구글 검색 최적화 키워드
다중 언어 OCR, 구글 Vision AI, 엔지엠 매크로, 커스텀 모듈, OCR 문자 인식, 한글 영어 OCR, RPA 매크로, 이미지 문자 판독, NGMsoftware, 엑셀 OCR 연동
해시태그
#다중언어OCR #구글VisionAI #엔지엠매크로 #커스텀모듈 #OCR문자인식 #한글영어OCR #RPA매크로 #이미지문자판독 #NGMsoftware #엑셀OCR연동
'업무 자동화 매크로' 카테고리의 다른 글
마우스 다운과 마우스 업 (0) | 2024.08.13 |
---|---|
마우스 드래그 (0) | 2024.08.13 |
엔지엠 매크로(EGM Macro) – 키보드 이벤트로 서브 스크립트 제어하기 (0) | 2021.10.11 |
엔지엠소프트웨어 매크로: 소프트웨어 vs 하드웨어 입력 변환 (아두이노 활용) (0) | 2021.10.05 |
프로그램 QA 품질 자동화 테스트, 단위 테스트, 전체 테스트 자동화 (0) | 2021.10.02 |