안녕하세요 모닝수잔입니다 :)

 

이전 포스팅에서는 Uipath RPA에서 Email(Outlook)과 PDF Automation 사용하는 방법에 대해 살펴봤는데요, 오늘은 번외편으로 이 2가지를 방법을 합해서 PDF 파일에서 데이터를 추춭한 뒤, Email(Outlook)로 발송하는 프로세스를 살펴볼까합니다.

 

※ 해당 예제는 Uipath Academy에서 발췌한 예제입니다.

https://academy.uipath.com/learningpath-viewer/1999/1/153878/16

 

 

기존에는 아웃룩(Outlook)을 통해 수신한 이메일 내용을 확인하는 프로세스였다면, 오늘은 아웃룩(Outlook)을 통해 이메일을 발신하는 프로세스입니다. 발신 이메일의 제목과 본문내용은 PDF에서 발췌할텐데요, 간단한 내용이기 때문에 빠르게 살펴보겠습니다.

 

1) Native PDF 파일과 Scanned PDF 파일을 준비한다.

PDF 파일은 2종류가 있습니다. 드래그앤드롭(Drag and Drop)으로 데이터를 그대로 긁어올 수 있는 Native PDF 파일과 드래그앤드롭으로 데이터를 그대로 긁어올 수 없이 하나의 이미지로 스캔된 Scanned PDF 파일이죠. 

 

 

2) Uipath Studio의 Activities Panel에서 Read PDF Text 액티비티와 Read PDF With OCR 액티비티를 불러온다.

Read PDF Text 액티비티는 Native PDF를 위한 액티비티이고, Read PDF With OCR 액티비티는 Scanned PDF를 위한 액티비티입니다. 먼저 Read PDF Text 액티비티를 자세히 살펴보겠습니다. 아래 화면 빨간칸 위주로 살펴보겠습니다. 우선 액티비티 안에 있는 폴더 모양 아이콘을 클릭해서 데이터를 읽을 PDF 파일의 경로를 지정합니다. 오른쪽 Properties Panel을 보시면 Input과 Output 부분이 있는데요, Input의 Range는 PDF 파일의 몇페이지에서부터 몇페이지까지 읽을지 범위를 범위를 정해주는 겁니다. 처음에 기본 값은 "All"로 되어 있을텐데, 저는 6페이지만 읽도록 6이라고 지정했습니다. 그리고 Output에서 읽어온 값을 nativePDF라는 문자열 유형(String) 변수를 만들어서 담아주겠습니다. ▶ 그럼 이제 nativePDF라는 변수에는 Native PDF 파일의 6페이지 내용이 담겨있습니다.

 

 

다음은 Read PDF With OCR 액티비티입니다. Read PDF Text 액티비티와 동일하게 폴더 모양 아이콘을 클릭해서 데이터를 읽을 PDF 파일의 경로를 지정합니다. 차이점이 있다면 Read PDF With OCR의 경우 OCR engine을 지정해줘야 합니다. Activities Panel에서 OCR이라고 검색하면 여러 결과값이 나오는데 저는 Microsoft OCR로 선택해서 액티비티 안에 넣어줬습니다. 오른쪽 Properties Panel을 보시면 Input과 Output 부분이 있는데요, Input에서 Range는 5페이지로 설정하고 Output에서 읽어온 값을 scannedPDF라는 문자열 유형(String) 변수를 만들어서 담아주겠습니다. ▶ 그럼 이제 scannedPDF라는 변수에는 Scanned PDF 파일의 5페이지 내용이 담겨있습니다.

 

 

※ 액티비티 설치하는 방법

Activities Panel에서 액티비티를 검색했을 때 결과가 없는 경우에는, 신규로 액티비티 패키지를 설치해주셔야 합니다. 아래 화면을 보시면 Uipath Studio 상단에 "Manaage Packages"라는 버튼이 있는데요, 버튼을 클릭한 뒤 All Packages를 선택하고 검색창에 원하는 액티비티를 검색하시면 다양한 액티비티가 나옵니다. 다운받고싶은 액티비티 오른쪽에 파란색 화살표 버튼을 클릭하면 → 주황색으로 바뀌는데요, 이때 Save를 클릭해주시면 설치가 완료됩니다.

 

 

3) Uipath Studio의 Activities Panel에서 Write Line 액티비티를 불러온 뒤, 2)에서 추출한 데이터 변수를 출력한다.

앞서 PDF에서 데이터를 추출해서 nativePDF와 scannedPDF라는 문자열(String) 변수로 추출했습니다. 과연 데이터가 정확하게 담겼는지 한번 확인해볼까요? scanned PDF 파일의 5페이지는 아래 내용인데요, 

 

 

Write Line 액티비티를 불러와서 nativePDF와 scannedPDF 2개의 변수를 출력해보면 아래 화면 빨간칸처럼 Output Panel에 결과값이 출력됩니다. 두번째 변수의 결과값인 두번째 동그라미를 보시면 Rx Datemme IMPORTANT NOTES 2013105127 P.004 ~ 라고 데이터가 출력되었음을 확인하실 수 있습니다. 아무래도 스캔된 이미지 파일을 OCR로 읽다보니 100% 정확하진 않지만 그래도 꽤 높은 정확도로 출력되었네요 :)

 

 

 

4) Uipath Studio의 Activities Panel에서 Send Outlook Mail Message 액티비티를 불러온다.

이제 PDF에서 데이터를 모두 추출했으니 이메일로 발송하는 과정만 남았습니다. Send Outlook Mail Message 액티비티를 상세하게 살펴보겠습니다. Send Outlook Mail Message 액티비티는 메일을 받을 수취인 To, 메일 제목인 Subject, 메일 내용인 Body, 첨부파일 Attach Files로 구성되어 있습니다. 그 전에 먼저 아웃룩 계정을 설정해줘야 하는데요, 아래 화면 오른쪽 빨간칸을 보시면 Properties Panel의 Input에 Account가 있습니다. 여기에 아웃룩 계정을 넣어주시면 됩니다. 아웃룩 계정을 직접 "morningsusan@outlook.com" 이런식으로 넣어줘도 되지만, 저는 Sender라는 변수를 만들어서 넣어줬습니다.  아래 화면 가운데 하단의 빨간칸을 보시면 Variables Panel에서 Sender라는 문자열(String) 유형의 변수를 만들었는데요, Default란에 "morningsusan@outlook.com"를 입력하면, 앞으로 모든 프로세스에서 Sender = "morningsusan@outlook.com"를 의미하게 됩니다.

 

 

※ 아웃룩 계정에 메일주소를 넣었는데 오류가 발생하는 경우

Input - Account에는 아웃룩 메일 주소를 입력해주시면 되는데 혹시 오류가 발생한다면, 아웃룩에서 account 정보를 확인해주세요. 메일 주소의 대소문자 차이가 있을 수 있습니다. 대소문자까지 맞춰서 입력해주신다면 오류가 발생하지 않는답니다 :)

 

 

메일을 받을 수취인 To에도 메일 주소를 직접 입력해줘도 되지만, 저는 Receiver라는 변수를 만들어서 넣어봤습니다. Subject란에는 발송할 이메일 제목을 넣어주시면 되는데 저는 오늘의 포스팅 주제와 동일하게 "RPA - Uipath - Studio - Email&PDF(번외편)" 이라고 직접 넣어봤습니다.

 

이제 제일 중요한 이메일의 본문, Body 부분인데요. 앞서 추출한 nativePDF와 scannedPDF를 넣어줘야겠죠? Body란에 직접적으로 nativePDF + scannedPDF라고 딱 2개의 변수만 넣어줘도 되지만, 혼동될 수 있으니 "nativePDF : " +  nativePDF + "scannedPDF : " + scannedPDF이라고 변수명과 변수값이 같이 발신될 수 있도록 설정했습니다.

 

 

※ Uipath에서 줄바꿈(Enter)은 어떻게 할까요?

사실 Body 부분에 "nativePDF : " +  nativePDF + "scannedPDF : " + scannedPDF라고 넣어도 줄바꿈이 되지 않아서 혼동될 수 있는데요, Uipath에서 Enter는 Environment.NewLine으로 표기하시면 됩니다. 그래서 저는 "nativePDF : " +  nativePDF + Environment.NewLine + "scannedPDF : " + scannedPDF로 표기했답니다.

 

이제 프로세스를 한번 실행해볼까요? nativePDF와 scannedPDF에서 각 6페이지, 5페이지 데이터를 추출하고 Sender의 계정으로 Receiver에게 추출된 PDF 데이터를 메일로 발송하게 될 겁니다. 아래 화면의 빨간칸 결과값을 보시면, 제목 Subject 부분도 제가 설정한대로 포스팅 제목과 동일하게 잘 들어가있고, 메일 본문 Body 부분에도 nativePDF와 scannedPDF 데이터가 잘 들어가있네요? 특히 앞에서 "nativePDF : ", "scannedPDF : "를 넣어준 부분도 잘 반영되었고 줄바꿈(Enter)으로 넣어준 Environment.NewLine도 잘 반영되었습니다.

 

 

 

이렇게 nativePDF와 scannedPDF 2종류의 PDF 파일에서 데이터를 추출하는 방법과 추출한 데이터를 아웃룩(Outlook) 메일로 자동 발송하는 프로세스를 살펴봤습니다. 여러분 업무에서 특정 PDF에서 데이터를 추출해서 메일을 발송해야하는 과정이 있다면 Uipath RPA를 이용해서 자동화 프로세스를 만들어보시는건 어떨까요? 이것으로 오늘의 포스팅을 마치겠습니다 :) 

 

 

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기