Pdf自動化


#1

Continuing the discussion from Pdfデータよりエクセルへ転記する方法について:

関連質問させて下さい。

EXCEL が PDFとしてメールで送られてくる。
行数30~31行
カラムは3つ 日付、開始時刻、終了時刻。
このFDFをデータテーブルとして読み込み、
EXCELデータにする(戻す)
適切な、読み込みアクティビティは何でしょうか。

よろしくおねがいします。
シルバー エンジニア 奥野智洋


#2

PDFと一概に言っても、文字の扱いが色々あります。
いわゆる文字データ+フォントとして格納されている場合と、文字をベクタデータ、或いは画像として埋め込んでいる場合です。

前者であれば、
・Read PDF TextでString(文字列)の配列として読み取り、1行ずつ確認して必要なデータ行だけをExcelに書き込む処理をする
・Screen ScrapingのExtract Structed Dataを使ってDataTableに落とし込み、Excelに書き出す
あたりが無難かと思います。

後者の場合、そもそも文字データではなくなっているので、Get OCR Textで読むべきでしょう。但し、日付・時刻だけなら数字と一部記号なので、さほど誤差は出ないとは思いますが、それでも100%は期待できないので、何かしらの検証等が必要になると思います。

実際にPDFがどのように出力されるかは、ExcelからPDFに変換するソフトの仕様や、変換時の設定によっても異なります。Excelの「名前をつけて保存」で作成するのか、「Adobe Acrobat DC」等を使うのか、それ以外のソフトか、等々。
ですので、こればかりは実物を見ないことには「何が最適か」とは言えないものと思います。

ただ、正直なところ、自動化を「業務の効率化」と捉えるのであれば、そもそも
Excelの元ファイル→PDFに変換→Excelに再度、書き込む
というプロセスそのものに、どこまで必要性があるのか、から洗い出してはいかがでしょうか。
可能であれば、元のExcelを使うように業務フローを変更するほうが、RPAの実装は確実かつ容易になります。Excelファイルからのデータ抽出はPDFより遙かに、定型的にロジックを組めるからです。
(セキュリティ等の関係でExcelファイルを送信できない、等もあり得るので、その点は要検討なのかもしれませんが、単に編集が困難なPDFが証跡として必要なのであれば、ExcelとPDFを同時にメールで送るよう業務フローを変更する、という考え方もアリだと思います)