自動化 PDF 表體處理

Azure AI 文件智慧服務
Azure AI 服務
Azure Logic Apps
Azure Functions

本文說明一種 Azure 架構,可讓您使用符合成本效益且彈性的自動化 PDF 處理來取代成本高昂且不靈活的表單處理方法。

架構

PDF 表單處理的架構圖表

下載此架構的PowerPoint檔案

工作流程

  1. 指定的 Outlook 電子郵件帳戶會以附件形式接收 PDF 檔案。 電子郵件的抵達會觸發邏輯應用程式來處理電子郵件。 邏輯應用程式是使用 Azure Logic Apps 的功能所建置。
  2. 邏輯應用程式會將 PDF 檔案上傳至 Azure Data Lake 儲存體 中的容器。
  3. 您也可以手動或以程式設計方式將 PDF 檔案上傳至相同的 PDF 容器。
  4. PDF 容器中 PDF 檔案的抵達會觸發另一個邏輯應用程式來處理 PDF 檔案中的 PDF 表單。
  5. 邏輯應用程式會將 PDF 檔案的位置傳送至函式應用程式進行處理。 函式應用程式是使用 Azure Functions 的功能所建置。
  6. 函式應用程式會接收檔案的位置,並採取下列動作:
    1. 如果檔案有多個頁面,則會將檔案分割成單一頁面。 每個頁面都包含一個獨立表單。 分割檔案會儲存至 Data Lake 儲存體 中的第二個容器。
    2. 它會使用 AZURE REST API HTTPS POST,將單頁 PDF 檔案的位置傳送至 AI 檔智慧進行處理。 當 Azure AI 檔案智慧完成其處理時,它會將回應傳回函式應用程式,以將資訊放入數據結構中。
    3. 它會建立 JSON 數據檔,其中包含響應數據,並將檔案儲存至 Data Lake 儲存體 中的第三個容器。
  7. 表單處理邏輯應用程式會接收已處理的響應數據。
  8. 處理邏輯應用程式的窗體會將已處理的數據傳送至 Azure Cosmos DB,以將資料儲存在資料庫和集合中。
  9. Power BI 會從 Azure Cosmos DB 取得數據,並提供深入解析和儀錶板。
  10. 您可以視需要在 Azure Cosmos DB 中的數據上實作進一步處理。

元件

  • Azure AI 服務 是 Azure AI 產品類別,其使用 Azure AI 服務、工作特定的 AI 和商業規則,為常見的商務程式提供周全的 AI 服務。 其中一項產品是 Azure AI 檔智慧,其使用機器學習模型從檔擷取索引鍵/值組、文字和數據表。
  • Azure Logic Apps 是無伺服器雲端服務,可用來建立和執行整合應用程式、數據、服務和系統的自動化工作流程。
  • Azure Functions 是無伺服器解決方案,可讓您撰寫較少的程式代碼、維護較少的基礎結構,並節省成本。
  • Azure Data Lake 儲存體 是在 Azure 上建置企業數據湖的基礎。
  • Azure Cosmos DB 是適用於新式應用程式開發的完全受控 NoSQL 和關聯式資料庫。
  • Power BI 是軟體服務、應用程式和連接器的集合,可一起運作,讓您可以將不相關的數據源轉換成一致的、可視化的沉浸式和互動式深入解析。

替代項目

  • 您可以使用 Azure SQL 資料庫,而不是 Azure Cosmos DB 來儲存已處理的表單資料。
  • 您可以使用 Azure 資料總管,將儲存在 Data Lake 儲存體 中的已處理表單資料可視化。

案例詳細資料

表單處理通常是重要的商務功能。 許多公司仍然依賴成本高昂、耗時且容易出錯的手動程式。 取代手動程式可降低成本和風險,並讓公司更靈活。

本文說明一種架構,可用來取代手動 PDF 窗體處理或成本高昂的舊版系統,以自動化 PDF 窗體處理。 Azure AI 檔智慧會處理 PDF 表單、Logic Apps 提供工作流程,Functions 提供數據處理功能。

如需部署資訊,請參閱 本文中的部署此案例

潛在使用案例

本文所述的解決方案可以處理許多類型的表單,包括:

  • 發票
  • 付款記錄
  • 保管庫記錄
  • 事件記錄
  • 合規性記錄
  • 採購單
  • 付款授權表單
  • 健康篩查表格
  • 問卷表單

考量

這些考慮會實作 Azure Well-Architected Framework 的要素,這是一組指導原則,可用來改善工作負載的品質。 如需詳細資訊,請參閱 Microsoft Azure Well-Architected Framework (部分機器翻譯)。

可靠性

可靠性可確保您的應用程式可以符合您對客戶所做的承諾。 如需詳細資訊,請參閱可靠性要素的概觀 (部分機器翻譯)。

可靠的工作負載是彈性且可用的工作負載。 復原能力是系統從失敗中復原並繼續運作的能力。 復原的目標是在發生失敗之後,將應用程式傳回完整運作的狀態。 可用性 是一項量值,可測量使用者是否需要存取您的工作負載。

此架構是一種入門架構,您可以快速部署和原型來提供商務解決方案。 如果您的原型成功,您可以視需要擴充和增強架構,以符合其他需求。

此架構會利用可調整且具彈性的 Azure 基礎結構和技術。 例如,Azure Cosmos DB 具有內建備援和全域涵蓋範圍,您可以設定以符合您的需求。

如需此解決方案所使用之 Azure 服務的可用性保證,請參閱 在線服務的服務等級協定(SLA)。

安全性

安全性可提供保證,以避免刻意攻擊和濫用您寶貴的資料和系統。 如需詳細資訊,請參閱安全性要素的概觀

此架構中使用的 Outlook 電子郵件帳戶是一個專用的電子郵件帳戶,會以附件形式接收 PDF 表單。 最好只將寄件者限制為受信任的合作物件,並防止惡意執行者擷取電子郵件帳戶。

部署此案例中所述的此架構實作會採取下列措施來增加安全性:

  • PowerShell 和 Bicep 部署腳本會使用 Azure 金鑰保存庫 來儲存敏感性資訊,使其不會顯示在終端機畫面上或儲存在部署記錄中。
  • 受控識別會在 Microsoft Entra ID 中提供自動受控識別,讓應用程式在聯機到支援 Microsoft Entra 驗證的資源時使用。 函式應用程式會使用受控識別,讓程式代碼不相依於個別主體,而且不包含敏感性身分識別資訊。

成本最佳化

成本優化是考慮如何減少不必要的費用,並改善營運效率。 如需詳細資訊,請參閱成本最佳化要素的概觀

以下是優化成本的一些指導方針:

  • 針對您的架構使用隨用隨付策略,並 視需要相應放大 ,而不是在一開始就投資大規模資源。
  • 部署此案例中所述的架構實作會部署適合概念證明的起始解決方案。 部署腳本會以最少的資源需求建立工作架構。 例如,部署腳本會建立最小的無伺服器Linux主機來執行函式應用程式。

效能效益

效能效率是工作負載以有效率的方式調整的能力,以符合使用者所放置的需求。 如需詳細資訊,請參閱效能效率要件概觀

此架構會使用內建調整功能的服務,可用來提升效能效率。 以下列出一些範例:

部署此案例

您可以部署此架構的基本版本、 解決方案加速器,並將其作為部署您自己的解決方案的起點。 加速器的參考實作包括程式碼、部署腳本和部署指南。

加速器會接收 PDF 窗體、擷取數據欄位,並將資料儲存在 Azure Cosmos DB 中。 Power BI 會將數據可視化。 設計使用模組化的元數據驅動方法。 沒有硬式編碼的表單域。 它可以處理任何 PDF 表單。

您可以使用快捷鍵,而不需修改程序代碼,即可處理及可視化任何單頁 PDF 表單,例如安全表單、發票、事件記錄,以及其他許多表單。 若要使用它,您只需要收集範例 PDF 窗體、訓練新的模型來了解表單的配置,並將模型插入解決方案。 您也需要重新設計數據集的Power BI報表,以便提供您想要的深入解析。

實作會使用 Azure AI Document Intelligence Studio 來建立自定義模型。 加速器會使用儲存在機器學習模型中的域名作為處理其他窗體的參考。 建立自定義建置的機器學習模型只需要五個範例窗體。 您可以合併多達 100 個自定義建置模型,以建立可處理各種形式的複合機器學習模型。

部署存放庫

解決方案加速器的 GitHub 存放庫位於 Azure PDF 表單處理自動化解決方案加速器 ,其中包含此解決方案的部署指南。

部署先決條件

若要部署,您需要 Azure 訂用帳戶。 如需免費訂用帳戶的相關信息,請參閱 使用 Azure 免費帳戶在雲端中建置。

若要瞭解加速器中使用的服務,請參閱下列文章中所列的概觀和參考文章:

部署考量

若要處理新類型的 PDF 表單,您可以使用範例 PDF 檔案來建立新的機器學習模型。 當模型準備就緒時,您會將模型標識碼插入解決方案中。

您可以在您從 GitHub 存放庫取得的部署文稿中設定此容器名稱。

此架構無法解決任何高可用性 (HA) 或災害復原 (DR) 需求。 如果您想要擴充和增強目前生產部署的架構,請考慮下列建議和最佳做法:

  • 根據您的需求設計HA/DR架構,並在適用的情況下使用內建備援功能。
  • 更新 Bicep 部署程式代碼,以建立可處理處理磁碟區的運算環境。
  • 更新 Bicep 部署程式代碼,以建立更多架構元件的實例,以符合 HA/DR 需求。
  • 當您設計和布建記憶體時,請遵循 Azure 儲存體 備援中的指導方針。
  • 當您設計和布建邏輯應用程式時,請遵循商務持續性和災害復原中的指導方針。
  • 當您設計和布建函式應用程式時,請遵循 Azure Functions 中可靠性中的指導方針。
  • 當您設計和布建使用 Azure Cosmos DB 所建立的資料庫時,請遵循使用 Azure Cosmos DB 實現高可用性中的指導方針。
  • 如果您考慮將此系統放入生產環境來處理大量的 PDF 表單,您可以修改部署腳本來建立具有更多資源的 Linux 主機。 若要這樣做,請修改 deploy-functionsapp.bicep 內的 程序代碼

參與者

本文由 Microsoft 維護。 原始投稿人如下。

主體作者:

其他投稿人:

若要查看非公用LinkedIn配置檔,請登入LinkedIn。

下一步