1
我們使用PDFNet庫來提取PDF文件的內容。我們需要做的一件事是提取PDF中的URL。不幸的是,當你掃描文件中的元素時,你會得到一些網址,並且並不總是清楚哪個片段與哪個片段相關。使用PDFNet從PDF獲取網址
從PDFNet獲取完整網址的最佳方法是什麼?
我們使用PDFNet庫來提取PDF文件的內容。我們需要做的一件事是提取PDF中的URL。不幸的是,當你掃描文件中的元素時,你會得到一些網址,並且並不總是清楚哪個片段與哪個片段相關。使用PDFNet從PDF獲取網址
從PDFNet獲取完整網址的最佳方法是什麼?
鏈接作爲註釋存儲在頁面上。您可以執行類似下面的代碼來從註釋中獲取URI。 try/catch塊在那裏,因爲如果有任何值丟失,它們仍然會返回一個Obj對象,但是如果沒有拋出,就無法調用任何方法。
另外,請注意,並非所有看起來像鏈接的東西都是相同的。我們從同一個Word文件創建了兩個PDF。我們首先用PDF打印創建的。第二個是我們在Acrobat中創建的。
這兩個文件中的鏈接都可以在Acrobat Reader中正常工作,但只有第二個文件具有PDFNet可以看到的註釋。
Page page = doc.GetPage(1);
for (int i = 1; j < page.GetNumAnnots(); j++) {
Annot annot = page.GetAnnot(i);
if (!annot.IsValid())
continue;
var sdf = annot.GetSDFObj();
string uri = ParseURI(sdf);
Console.WriteLine(uri);
}
private string ParseURI(pdftron.SDF.Obj obj) {
try {
if (obj.IsDict()) {
var aDictionary = obj.Find("A").Value();
var uri = aDictionary.Find("URI").Value();
return uri.GetAsPDFText();
}
} catch (Exception) {
return null;
}
return null;
}
是一種類似tostring的方法從整個文檔中獲取文本輸出嗎? – Paparazzi