iT邦幫忙

2023 iThome 鐵人賽

DAY 13
1
IT管理

Five mins RPA | 機器人流程自動化系列 第 13

Five mins RPA | 13.PDF Analyzer 文件處理

  • 分享至 

  • xImage
  •  

PDF 文件處理

從 Excel 說明到 PDF,我們在文件處理上還有一個常用的工具是 PDF Analyzer 分析模組,這項工具能夠分析 PDF 文件上的文字,並且用直觀的方式取用 PDF 的資料。

PDFAnalyzer.png

回顧前一天文章:Five mins RPA | 12.Excel Writer 樣式處理模組

PDF Analyzer 模組:切分出 PDF 文件的內容

PDF文件生活中無處不在,從報告到論文、生活中的文件帳單再到電子書,裡面有非常豐富的訊息。然而,有時我們需要更深入地瞭解這些PDF文件的內容,這就是PDF分析器發揮作用的地方。PDF 模組的參數設定也相對單純許多。

  • 選擇文件 (PICK)

首先選擇要分析的PDF文件,可以單擊“PICK”按鈕來選擇文件,或者使用環境變數 %FILENAME% 來指定文件名稱。

  • 設置PDF文件密碼(選填)

如果 PDF 文件有密碼保護,可以在這裡輸入密碼,一樣利用環境變數的方式指定文件。

RPA 是怎麼看 PDF 檔案的?

PDF 文件模組與 Excel 最不同的地方就是具有訓練模式 (Train) 與預覽模式 (View) 可以提前先預覽文件的資料樣貌。在訓練模式下,我們可以進行程式碼編寫,以便對 PDF 文件進行更深入的分析和處理。而預覽模式是用於查看PDF文件內容的模式。它允許快速預覽文件的內容,並在需要時進行操作。可以輕鬆地瀏覽文件的各個部分,並使用左邊的上/下操作進行文件換頁。

我們在讀取一份 PDF 檔案後,點選 VIEW 即可切換頁面,點選 TRAIN 及可切換回程式撰寫

  • 粉紅底色區塊 : 文字物件
  • 滑鼠 : 有十字座標與座標位置

Amazon.png

座標系統

PDF Analyzer 使用 Page Normalized Coordinate (PNC) 座標系統,其中原點位於左上角,每一頁的座標範圍正規化至相鄰的整數範圍。這使文件內容的座標表示非常方便,並且易於處理。對於 RPA 而言,他所看到是一個這樣的畫面:

  • EMILY 會將整份 PDF 視為一個平面座標系統
  • 原點於頁面的左上角,無論有幾頁,頁面會沿著此坐標系的 Y 軸向下延展
  • PDF 文件中的文字就是散落於這個座標系統中
  • EMILY 會自動將 PDF 文件中的每一個字根據演算法歸類為一個文字物件
  • 在 PDF VIEWER 中,被滑鼠指到的文字會用藍色將物件框選起來
  • 文字物件包含:4 個座標點(LT、RT、LB、RB), 高度與寬度(h,w), 文字內容

PNC.png

今天訓練的內容為:PDF Analyzer 模組

  • 開啟 PDF Analyzer 模組

建立訓練命名技能群組,打開主畫面右邊的 PDF Analyzer 模組。

Analyzer.png

  • 利用 CodeGen 找到物件:input.getKeyObj()

首先我們先選擇我們要的檔案,我這邊使用的是我今年初在 Amazon 上購買電腦的發票資料來做示範。首先我們先在 Train 中 PICK 我們要的檔案,選擇完成後點擊上方功能欄到 VIEW 做預覽。在預覽畫面中,我點擊(藍色框)了我的 Amazon 訂單編號,點擊 TRAIN 切換回程式編輯區,並使用 Ctrl+V 貼上程式碼得到結果,可以發現參數有抓到了,而且連坐標與位置都有抓到。

add.png

  1. 找到訂單編號 『113-7555202』後使用滑鼠點擊它
  2. 點擊 TRAIN 切換至程式編輯區,並使用 Ctrl+V 貼上程式碼
  3. 修改變數名稱 obj => test ,輸入以下程式碼 DEBUG console 然後 Test 查看結果
// 點擊 PDF 後會自動複製,在 Code Area 貼上程式碼
test = input.getKeyObj( "113-7555202", {"page":1})
console.log(test)

CodeGen.png

  • 利用 CodeGen 找到物件:input.resolve()

第二種方法是尋找相對位置,將滑鼠游標移至鍵值文字物件後,按住 Shift 不放並接著按下方向鍵,RPA 會並以淡藍底色標示。

add2.png

  1. 找到 『訂單編號』後,將滑鼠移至該文字物件上按下 Shift + 方向鍵(右)
  2. 確認目標文字物件變成淡藍底色,點擊 TRAIN 切換至程式編輯區,Ctrl+V 貼上程式碼
  3. 修改變數名稱 obj => test ,輸入以下程式碼 DEBUG console 然後 Test 查看結果
// 點擊 PDF 後會自動複製,在 Code Area 貼上程式碼
test = input.resolve( {"keyName":"訂單編號","keyBounds":{"page":1}, "valPos":"RIGHT"}) 
console.log(test)

Anser.png

  • 結束訓練

今天簡單了解了基本的操作概念,PDF Analyzer 是一個強大的工具,可幫助我們深入了解PDF文件的內容。無論是需要自定義處理還是僅僅想快速預覽文件,它都能滿足需求。優化了對 PDF 文件的分析,使其更加容易,也使其應用更加廣泛。

這個世界瘋了,但我們也可以跟著瘋

黃仁勳的一句話讓這個世界都瘋了,身為與數據打交道多年的我們能做些什麼呢? 很簡單就是跟著一起瘋。「You Learn the more, you Get the more.」。沒想到鐵人賽又一年了呢,這篇是 【Five mins RPA】 系列文章除此之外也歡迎大家走走逛逛關於我過去的文章

Jerry Chien

一個正在為 300 多萬訂閱的 Youtuber 服務的資料科學家,擅長將商管行銷導入機器學習與人工智慧,並且從大量的數據中找出 Insight,待過 FMCG、Communication、Digital Marketing,最近一直在資訊圈打滾,趕著不被這波人工智慧浪潮給吞噬,寫文章寫了好一段時間了,期待著這個社會每個人能在各個角力間不斷沖突而漸能找到一個平衡點並回歸最初的初心。


上一篇
Five mins RPA | 12.Excel Writer 樣式處理模組
下一篇
Five mins RPA | 14.PDF Analyzer 範圍文件範圍處理
系列文
Five mins RPA | 機器人流程自動化30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言