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