Vyhledání textu v pdf souboru   zodpovězená otázka

VB.NET, I/O operace

Dobrý den,

mám zhruba 1000 pdf souborů a chtěl bych v nich vyhledat určitý text. Jak to udělat? Už jsem zkoušel něco najít, ale zatím bez úspěchu. Do budoucna by asi bylo lepší, kdyby šlo prohledávat i další typy souborů (doc, xls ...). Něco jako je v WXP funkce "Hledat > Soubory či Složky". Díky předem za nápady.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Tak záleží na tom jak prohledávat. Pokud jen jako binární soubor tak to není problém. Pokud by se měl prohledávat skutečně obsah tak to by byl docela velký problém speciálně u toho PDF. Pokud by stačilo prohledávat pouze vlastnosti souborů (nebo obsah indexovaných souborů), tak na to lze použít SQL dotaz a providera od indexovací služby.

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

Pokud byste se chtěl zabořit do nitra každého PDF souboru a hledat ve viditelném obsahu (jak to umí Adobe Reader), vřele vám doporučuji sehnat nějakou PDF komponentu pro .NET.

Je jich opravdu celkem dost, většina placená.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Stačí použít IFilter, které se pro PDF dají nainstalovat a jsou to de facto rozšíření pro Windows Search. Je to klasický COM, takže pomocí nich projdete všechen text, co v PDFku je a co by se pro hledání normálně zaindexoval.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Koukal jsem se na vyhledávání pomocí IFilter - stáhnul a nainstaloval jsem Adobe PDF IFilter 6, ale jako COM to nemohu dostat do projektu.

Pak jsem zkoušel do projektu dostat komponentu Search Assistant Control (srchui.dll), ale ten mi po přidání na frm hází chybu.

Našel jsem ještě pěkný příklad na použití IFiltru (http://www.codeproject.com/KB/cs/IFilter..., ten sice pracuje dobře, ale zatím je nad moje síly, pochopit jak pracuje :-(

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Omlouvám se, zapomněl jsem se přihlásit.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Co tohle? http://www.codeproject.com/KB/cs/IFilter... To by mělo být přesně ono.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

To je to, co jsem psal o pár příspěvků výše, že nějak zatím nechápu, jak to přesně funguje. Koukal jsem se na to a zatím jsem zjistil, že si to "nějak" z registrů nechá vrátit na základě přípony souboru dll knihovnu, která se má pužít. (pro soubory PDF musí být nainstalován v PC např. Adobe PDF IFilter).

Raději bych, kdyby se do PC nemuselo nic instalovat, ale jenom bych onu knihovnu připojil do projektu.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Však to taky můžete udělat, pokud víte, že chcete PDF a pokud je distribuce té knihovny povolena tímto způsobem.

Prostě ji přidáte do projektu jako COM referenci a zavoláte na ní funkce, které to rozhraní IFilter definuje.

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:  
Heslo:  

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback