原創(chuàng)|行業(yè)資訊|編輯:郝浩|2013-10-11 09:27:10.000|閱讀 478 次
概述:Google Drive云服務(wù)非常受歡迎,但是由于Google Drive對PDF文件的搜索有一定的局限性,用戶在云中搜索和查找文件相當(dāng)頭痛。本文主要介紹如何通過LEADTOOLS PDF SDK 來增強Google Drive云儲存的搜索功能。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
由于Google Drive提供了一個安全、可靠、方便的方式來儲存和備份文件、圖像、音樂和其他文件,因此Google Drive云服務(wù)非常受歡迎。然而,對于那些在云中存儲了大量數(shù)據(jù)的用戶來說,搜索和查找文件相當(dāng)頭疼。多數(shù)搜索功能受到限制,只能充分利用文件名或者文本格式以及文本本身實現(xiàn)數(shù)據(jù)的搜索功能。因此,一定程度的定制或者增強對于充分利用 Google Drive云儲存功能是非常有必要的。
搜索PDF文件比搜索MP3和JPEG 要容易一些,但是Google Drive對PDF文件的搜索有一定的局限性。例如,你可以掃描一張發(fā)票和銀行對賬單,并將其保存為PDF。即使是你用帶有OCR功能的掃描儀或者軟件提取文本,但你仍然無法以一種可靠的方式搜索該文件。文本中可能包含了公司名稱和日期,但是可能缺少用于查找和歸檔的關(guān)鍵字,如 "bank", "insurance"以及"paid with PayPal" 等。這些正是你保存PDF文件時需要包含在關(guān)鍵字元數(shù)據(jù)中的信息,但是Google Drive在搜索索引中沒有使用該元數(shù)據(jù)。因此,你可以使用LEADTOOLS PDF SDK 讀取和編輯元數(shù)據(jù),然后更新Google Drive中文件的IndexableTextData屬性。
接下來,我們將展示如何讀取和編輯PDF文檔中的元數(shù)據(jù)關(guān)鍵字,更新Google Drive中的文件,鏈接本地Google Drive數(shù)據(jù)庫等。
創(chuàng)建上下文菜單(右鍵菜單)
Google Drive的服務(wù)配備了桌面應(yīng)用程序,可將文件自動同步到帶有在線云驅(qū)動的電腦上。另外方法就是添加上下文菜單。當(dāng)右鍵點擊PDF文件時,在所彈出的上下文菜單中,選擇"Update File Keywords",將文件名作為參數(shù)傳遞到應(yīng)用程序中。
using (RegistryKey pdfTypeRegKey = Registry.ClassesRoot.OpenSubKey(".pdf")) { // Create path to registry location string regPath = string.Format(@"{0}\shell\{1}", (String)pdfTypeRegKey.GetValue(null), "UpdateFileKeywords"); // Add context menu to the registry using (RegistryKey key = Registry.ClassesRoot.CreateSubKey(regPath)) { key.SetValue(null, "Update File Keywords"); } // Add command that is invoked to the registry string menuCommand = string.Format("\"{0}\" \"%L\"", Application.ExecutablePath); using (RegistryKey key = Registry.ClassesRoot.CreateSubKey( string.Format(@"{0}\command", regPath))) { key.SetValue(null, menuCommand); } }
利用LEADTOOLS更新PDF文檔元數(shù)據(jù)關(guān)鍵字
LEADTOOLS擁有全面的PDF閱讀,PDF編輯功能,允許直接修改PDF文件屬性,搜索文本,書簽等。當(dāng)根據(jù)右鍵菜單的shell命令加載應(yīng)用程序時,LEADTOOLS PDFFile對象將檢索關(guān)鍵詞,并將關(guān)鍵詞顯示在文本框進(jìn)行編輯。
PDFFile _document = new PDFFile(fileName, password); _document.Load(); _txtKeywords.Text = _document.DocumentProperties.Keywords;
保存就是這樣簡單,只需幾行代碼即可。正如所看到的,PDF文檔屬性已經(jīng)更新。
_document.DocumentProperties.Keywords = _txtKeywords.Text; _document.SetDocumentProperties(fileName);
更新Google Drive
在PDF文件中的關(guān)鍵字和其他元數(shù)據(jù)屬性是非常有用而強大的功能,但是Google Drive在其搜索算法中并不它們。Google Drive中每個文件的IndexableTextData屬性都可以在使用Google Drive API時進(jìn)行修改。
當(dāng)使用 Google Drive桌面應(yīng)用程序同步應(yīng)用程序時,它使用本地SQL數(shù)據(jù)庫來跟蹤本地文件和在線信息。要實現(xiàn)該操作,我們必需獲取能匹配所更新的本地文件的字段。根據(jù)Google Drive文件夾的不同結(jié)構(gòu),你可能需要添加一些額外的查詢以找到子文件夾中的文件。然而,一旦你獲取了與PDF文件匹配的 inode_number, 你便可以從數(shù)據(jù)庫中獲取字段,并調(diào)用Google Drive的Web服務(wù)。
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@ke049m.cn
文章轉(zhuǎn)載自:慧都控件網(wǎng)