0
這將是我第一次閱讀PDF。閱讀PDF文件?
我四處搜尋,發現如此選項可以用C#做,並選擇使用iTextSharp。
到目前爲止,我已經完成了基本的工作,比如閱讀文件並獲取沒有問題的內容。
PdfReader reader = new PdfReader(iPDF.Text);
for (int x = 2; x <= reader.NumberOfPages; x++)
{
iResult.Text = Encoding.UTF8.GetString(reader.GetPageContent(x));
break;
}
正如你可以看到它是一個非常非常基本的代碼只是爲了閱讀PDF的第2頁到一個文本文件,但是,我已經看到了很多代碼到文本文件,我有點如何僅解析我所需要的數據就會丟失。
我想知道,如果存在一個模式或東西,這將幫我把PDF的那一部分。綜觀純文本文件似乎有事情定義開始/的線條,色彩端等
一些所述提取物的數據:
1 0 0 1 0 612 cm 0 0 0 rg
0 0 0 RG
28.35 -28.35 735.3 -526.95 re
W
n
0 0 0.502 sc
28.35 -65.5 735.3 -12.75 re
f
28.35 -543.9 735.3 -11.4 re
f
q
92.25 -28.35 560.9 -18 re
W
n
1 1 1 sc
92.25 -28.35 560.9 -18 re
f
BT
1 0 0 1 95.25 -39.1 Tm
0 0 0 sc
/i 10.75 Tf
(Name - Live) T
注:上面的只是部分的初始數據從第2頁指出我以前的意思。
數據是列表中的某種東西,我怎麼能只提取?
嗨,的確是不給它一個更簡單的方法,但我認爲從原始解析它應該那麼從簡單文本中就不那麼容易了?我的意思是,在原始的情況下,它似乎存在一些模式,它定義了數據的位置,我只是想知道是否有列表或某些函數直接從表中提取... – Guapo
是的,當然存在一種模式。這種模式在PDF規範中有描述,並且是iTextSharp已經爲您解析PDF所實現的內容。 PDF規範就像一個35MB的PDF文件。你真的想閱讀它來理解這種模式嗎?這裏有一個鏈接,如果你這樣做:http://wwwimages.adobe.com/www.adobe.com/content/dam/Adobe/en/devnet/pdf/pdfs/PDF32000_2008.pdf –
所以我想iTextSharp沒有一個已經有BT,tf等模式的功能......即使沒有讀取規格,我也有一組數據在它之間看似簡單的是像BT/ET這樣的模式。然後,例如'Tf(Assess)Tj'和括號內的是實際數據,但這正是我正在尋找的,如果有解析器,或者甚至是iTextSharp中的一個函數來識別的。 – Guapo