簡體   English   中英

用Java生成的PDF報告上的文本提取

[英]Text Extraction on a Generated PDF report in Java

我有超過6500名學生的學術成績PDF。 我沒有訪問實際數據庫的權限,我夢dream以求的是從這個漫長而又格式合理的文檔中提取數據。 此數據將用於分析和可視化目的。

這是本文檔的前5頁〜1 MB

請幫我

  1. 是否可以提取此數據? 如果是的話,編寫代碼需要花費多少時間?
  2. 一些工具和庫最好使用JAVA。
  3. 鏈接到教程或指南。

提前致謝。

是否可以提取此數據?

是。 PDF包含從文檔中提取文本數據所需的所有信息。 此外,表格列似乎在每個頁面上的相同位置開始。

一種方法是提取文本而不破壞布局。 對於所討論的文檔而言,這是非常明智且容易的,因為它是從純文本文件開始創建的。 然后,您可以逐行分析該文本。

如果是的話,編寫代碼需要花費多少時間?

這取決於編碼人員的技能。 文本提取將使用某些PDF庫完成,因此僅保留對文本的分析,並且在您的文件看起來很簡單的情況下。 在第一天就可以進行概念驗證,而整個過程不超過一周。

一些工具和庫最好使用JAVA。

有多個開源庫(我想到的是iText,PDFBox,PDFClown;一定要了解各自的許可條件),此外,還有許多開源庫也提供文本提取功能。

鏈接到教程或指南。

教程/指南/樣本通常可以在所選庫的網站上找到。

我的建議是嘗試幾個這樣的庫,並檢查它們的文本提取輸出是否符合原始布局,它們的性能是否足夠,它們的資源要求是否可以接受以及它們的許可條件是否適合您。

(以下是與最初提供的PDF有關的原始答案,該PDF是為防止文本提取而構建的)

是否可以提取此數據?

雖然您的文檔的格式看上去確實不錯 ,但是嚴格來說,它不包含任何文本。 您可能已經嘗試過從PDF查看器復制和粘貼,並且對它無法提取任何內容感到失望。

您的PDF代替了文本繪制操作(通常或多或少地從中提取文本),而是使用了路徑繪制操作,即線條,曲線等,並且它們對每個單個字母使用許多操作來繪制文本。 順便說一下,這解釋了文件的巨大大小。

因此,無法立即從文檔中提取文本。 您要么必須瀏覽內容,要么識別繪制操作以創建單個字母,然后從中創建文本; 否則您必須將PDF渲染為位圖並應用OCR。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM