
大家好,這節課我們接 循環下載下傳釘釘出差審批單(PDF檔案)場景,繼續講解該場景接下來的操作 - 循環從PDF檔案中擷取指定資訊:日期及出差理由,并把對應資訊存入資料表中。
我們在RPA擷取PDF文檔的資料中講過表格類型的PDF文檔可以轉換為Excel操作,如果不是純表格的PDF文檔可以轉換為Word文檔操作,那麼這節課我們再講講将PDF文檔轉換為txt檔案并從中擷取指定資訊的方案。接下來,一起看看如何操作。
準備工作:
- 準備開發流程的電腦,請打開雲擴學院連結檢視雲擴RPA編輯器運作的硬體&軟體要求。
- 打開雲擴官網下載下傳編輯器并安裝(本節課使用編輯器版本為:1.1.2009.10)。
- 已下載下傳釘釘出差審批單-PDF文檔。
流程操作步驟:
- 搭建資料表
1. 建立項目并打開項目。
2. 拖入“搭建資料表”元件,定義列名“日期”與“出差事由”并建立資料表變量:
- PDF文檔轉TXT文檔
1. PDF格式轉換工具元件在元件市場中,是以我們需要先把需要的對應元件從元件市場從下載下傳下來:
2. 因為我們需要循環處理PDF檔案,是以先拖入“周遊檔案夾”元件,并定義含有PDF檔案的檔案夾路徑:
3. 拖入“PDF轉Text”元件,定義PDF檔案路徑與轉換後的txt檔案路徑:
a) PDF檔案路徑:filePath
b) 轉換後Text檔案路徑:filePath.Split('.')[0] + ".txt"
- 讀取檔案内容
1. 拖入“讀取檔案”元件并輸入檔案路徑與定義輸出變量,用以讀取上步操作中轉換後的txt檔案資料,如下圖所示:
- 擷取指定資訊
1. 拖入“截取文本”元件擷取所需資料。首先我們打開PDF檔案檢視資料的位置
從上圖可見,需要擷取的資料為:
a)出差事由(内容在關鍵字“出差事由”與“出差天數”之間);
b)時間(内容在關鍵字“時間”與“考勤”之間)
首先擷取出差事由:輸入“開始位置”(用text.IndexOf("出差事由"))與“結束位置”(text.IndexOf("出差天數")),定義截取結果變量,并拖入“确認框”元件驗證擷取的内容:
運作流程檢視擷取資料:
從上面的圖可見,擷取的資料除了可用資料外還多出前面的“出差事由”與後面的“出”,那麼,我們需要做索引偏移,設定開始位置與結束位置如下圖所示:
2. 同樣方法擷取出差時間,如下圖所示:
- 将擷取的資料添加到資料表中
1. 拖入“添加資料行”元件,并把上步操作擷取的時間與出差事由内容寫入資料表行數組中:new Object[]{dateText.Trim(),businessReason.Trim()}:
- 預覽資料表及天數txt檔案
至此,流程已開發完成,為了展示擷取資料是否正确添加到資料表中,我們拖入“預覽資料表”元件進行預覽資料。再拖入“删除檔案/檔案夾”元件删除生成的txt檔案:
如果需要把資料存入Excel檔案,則用“打開/建立”元件與“寫入區域”元件将資料寫入Excel檔案中,儲存流程并運作,下面視訊供參考:
好了各位,今天的課程就到此結束。我們可以用這種方法擷取很多種PDF文檔中的資料,比如pdf格式的發票,用OCR需要另外收費,那麼我們何不用這種方式免費擷取呢?免費還好用的東西誰不值得擁有呢?祝各位流程開發順利~
快來點選閱讀原文,申請下載下傳雲擴RPA社群版吧!
往期精彩課程推薦
-END- 上海雲擴資訊科技有限公司是全球RPA領域的創新領軍者。公司以自研的雲擴RPA平台為核心,緻力于為各行業客戶提供智能的RPA機器人産品與解決方案,通過RPA賦能,持續為客戶創造價值,助力企業推進數字化轉型。