Thursday, March 18, 2010

PDF iFilter - I love you, I hate you, ohhhh I LOVE YOU (again)

A surprising detail about SharePoint is that natively, it does not crawl the contents of PDF files.  The good news is that Adobe makes a plug in that facilitates SharePoint in doing this - even better, it's FREE (that's the first I love you).  http://www.adobe.com/support/downloads/detail.jsp?ftpID=4025

So, as any good consultant would do, we hit up Adobe for the latest version and install it without reading the instructions.  Because, after all - who needs instructions - it's just an executable?  :)  Well, if you did not read the instructions and proceeded to recrawl and test, you would find that your PDF's were not being indexed (the first I hate you). 

On to Google to discover why, and I came across this little gem relaying specific instructions on how to configure the iFilter to work with MOSS (and waddya know, it's from Adobe): http://www.adobe.com/special/acrobat/configuring_pdf_ifilter_for_ms_sharepoint_2007.pdf.  Note that it entails edits to the registry which seems awfully scary...can this possibly be correct?  Yes, yes indeed. 

I very cautiously stepped through each configuration (and yes, even step 4 b needs to be completed with the specific guid).  At the end I re-crawled and tested for my pdf - nothing.  No results were returned based on content I was searching for within the PDF file itself.  Sigh (this is the second I hate you). 

Now I turn to my team of other brainy consultants and one had the answer...I missed a step.  It wasn't in the executable instructions, and it was not in the PDF help file I found while Googling...it was embedded on the original iFilter download instructions (you know, the ones I skipped):

  • After installing the PDF iFilter, it is recommended that you set your system PATH environment variable to the "bin" folder of the "Ifilter" installation. For example, from the "Control Panel\System\Advanced\Environment Variables" tab, append to PATH "C:\Program Files\Adobe\Adobe PDF iFilter 9 for 64-bit platforms\bin\" and then restart the computer. 

WE HAVE A WINNER!  That was the missing link, and it's the part where we go back to loving the PDF iFilter.  :)

Recap - to properly install the PDF iFilter and actually have it work:

  1. Download and install the iFilter from Adobe
  2. Installation should be performed on the index server
  3. http://www.adobe.com/support/downloads/detail.jsp?ftpID=4025
  4. On the index server, set your system PATH environment variable to the "bin" folder of the "Ifilter" installation.
  5. Start --> Control Panel --> System
  6. Select the Advanced Tab
  7. Select the Environment Variables button
  8. Select the "Path" System Variable and edit
  9. Add ";%SystemRoot%\Program Files\Adobe\Adobe PDF iFilter 9 for 64-bit platforms\bin\" to the end of the value
  10. the ";" is the delimeter
  11. the "%SystemRoot% identifies the base which is really C:\ in most cases, but could vary
  12. the rest of the path identifies where to go for iFilter 9 for 64 bit
  13. Click Ok, Ok, Ok
  14. Reboot the server
  15. Run through the remaining configuration here: http://www.adobe.com/special/acrobat/configuring_pdf_ifilter_for_ms_sharepoint_2007.pdf
  16. Your welcome!