SharePoint Best Practices
Try SPDocKitContact Us
  • SharePoint Best Practices Library by SPDocKit
  • Configuration
    • App Configuration
      • App Services Configured
      • Apps Configured
    • Distributed Cache
      • Appfabric Patched
      • Cache Cluster State
      • Cache Running
      • SharePoint Distributed Cache Size 2013
      • Distributed Cache Collocation Compliance
    • Security
      • Farm Account is not Local Admin
      • Office Web Apps HTTPS
    • Solutions
      • Solution Assembly Deployment Valid
    • Servers
      • Expired Certificates
      • Loopback Disabled
      • Minrole Compliance
  • Databases
    • ModelDB
      • ModelDB Files Autogrowth
      • ModelDB Files Initial Size
      • ModelDB Recovery Model
    • TempDB
      • TempDB Files
      • TempDB Files Configuration
      • TempDB Recovery Model
      • TempDB Response Times
      • TempDB Size
    • Content Database Autogrowth
    • Content Database Capacity
    • Database Files
    • Disk Allocation Size
    • Max Degree of Parallelism
    • SQL Alias
    • SQL Server Memory – SQL Server Memory Allocation Best Practices
  • Hardware Requirements
    • Free Disk Space
    • SharePoint 2013 Server and Hardware Requirements
  • Maintenance
    • Backup
      • Content Database Backups
      • Farm Backup Configured
      • Farm Backup History
    • Misc
      • Farm Accounts Used Interactively
      • PDF iFilter Installed
      • Upgrade Ready
  • Monitoring and Logging
    • Diagnostic Log Path
    • Enable Usage and Health Data Collection
    • SharePoint IIS Log Path
    • Restrict Trace Log Disk Space Usage
    • Search Index Path
    • ULS Active
    • Usage and Health Log Path
    • Verbose Logging Enabled
  • Service Applications
    • Search
      • Crawl Account Search Permission
      • Incremental Search Configuration
      • PDF Extension Added to Search Application
      • Search Content Sources
      • Search Running
    • UPA
      • My Site Configured
      • UPA Up and Running
    • Web Analytics
      • Event Collection Configured
      • Web Analytics Services Started
    • Application Proxies
    • Authentication Providers
    • Exchange Task Sync
    • Multiple Service Applications
    • Sandboxed Code Service
    • SharePoint 2013 Secure Store Service Configured
    • State Service
  • SharePoint Software Boundaries and Limits
    • SharePoint Software Boundaries and Limits Overview
    • Limits by Feature
      • Search Limits
        • Authoritative Pages
        • Content Sources
        • Crawl Components
        • Crawl Databases
        • Crawl Rules
        • Index Partitions
        • Managed Properties
        • Property Databases
        • Scope Rules Count per Search Service Application
        • Scope Rules Count per Search Scope
        • Search Topology Limits
        • Sharepoint Search Service Applications
        • Start Addresses
      • User Profile Limits
        • User Profile Count
      • Visio Services Limits
        • File Size of Visio Web Drawings – Max Web Drawing Size
        • Visio Services Cache Age
        • Visio Web Drawing Recalculation Time-out
      • Word Automation Services
        • Conversion Job Size
        • Conversion Start Frequency
    • Limits by Hierarchy
      • Content Database Limits
        • Content Database Size
        • Number of Content Databases
        • Site Collections per Content Database
      • Server Limits
        • Number of Application Pools
      • Site Collection Limits
        • Number of Site Collections
        • Site Collection Size
        • Web Site
      • Web Application Limits
        • Content Databases
        • Managed Paths
        • Number of Web Applications
        • Site Collections
  • Site Collection Health
    • Farm Features Duplicate IDs
    • Features Duplicate IDs
    • SharePoint Site Collection Upgrade – Upgrade SharePoint 2010 to 2013
    • Site Collections Duplicate IDs
    • Web Application Features Duplicate IDs
  • Updates
    • SharePoint
      • Build Revoked
      • Farm in Trial
      • Is SharePoint Up to Date
      • SharePoint 2013 Language Packs Up to Date
      • Office Web Apps Up to Date - Office Web App Servers
      • Product Supported
    • Servers
      • Sharepoint Server Upgrade Required
      • Windows Updates
      • Hotfixes per Server Role
        • Application Servers Hotfixes
        • DB Servers Hotfixes
        • Distributed Cache Servers Hotfixes
        • Failover Servers Hotfixes
        • Search Servers Hotfixes
        • WFE Servers Hotfixes
  • Web Applications
    • Caching
      • BLOB Caching Enabled
      • Object Cache User Accounts
      • Publishing Cache
    • AppPool User in Performance Log Group
    • Batch Compilation Disabled
    • Web Application in Debug Mode - Web.config Debugging How To
    • Web Application URL Check
    • Web Applications Without Sites
    • SharePoint Web.config Files Equality
Powered by GitBook
On this page
  • Issue description
  • Explanation
  • Solution
  • Additional information

Was this helpful?

  1. Maintenance
  2. Misc

PDF iFilter Installed

PDF iFilter Installed best practices report by SPDocKit check determines whether you have installed a third party iFilter for PDF files.

PreviousFarm Accounts Used InteractivelyNextUpgrade Ready

Last updated 1 year ago

Was this helpful?

Issue description

This check determines whether you have installed a third party iFilter for PDF files.

Explanation

In a typical company that uses SharePoint the most common documents typically stored in SharePoint are Microsoft Office files like DOCX, XLSX, PPTX, and PDF files. SharePoint is a great tool that indexes all these files and serves them as search results. Microsoft Office files are supported out-of-the-box, but additional steps are required to configure the search contents of PDF files (support for PDF search was added to SharePoint 2013).

Solution

To fix issues with SharePoint 2010 not searching the contents of PDF files, you need to do the following:

  • Download and install the 

  • Configure SharePoint Foundation search service via Central Admin (or )

  • Download the  (select Small 17 x 17) and save it to a folder on your SharePoint server as pdficon_small.gif

  • Download the script below and place it to the same folder as Adobe PDF Icon

  • Run the script as administrator from the Powershell shell

cls
function Get-FileFormatDate {
param( [DateTime]$date = [DateTime]::now )
return $Date.ToUniversalTime().toString( "yyyy-MM-dd_hh-mm-ss" )
}
if((Get-PSSnapin | Where {$_.Name -eq "Microsoft.SharePoint.PowerShell"}) -eq $null) {
Add-PSSnapin Microsoft.SharePoint.PowerShell;
}
$continue = Read-Host "This script will change SharePoint configuration files, registry and will restart your IIS! Would you like to continue (Y/N)"
if($continue -eq "Y")
{
Write-Host -ForegroundColor Yellow "Configuring PDF Icon..."
$SharePointRoot = "C:Program FilesCommon FilesMicrosoft SharedWeb Server Extensions14";
$DocIconFolderPath = "$SharePointRootTEMPLATEXML";
$DocIconFilePath = "$DocIconFolderPathdocicon.xml";
Write-Host "Creating backup of DocIcon.xml file..."
$dateNow = Get-FileFormatDate
$backupFile = "$DocIconFolderPathBackup_DocIcon_" + $dateNow + ".xml"
Copy-Item $DocIconFilePath $backupFile
$pdfIcon = "pdficon_small.gif";
while((Get-Item $pdfIcon) -eq $null)
{
Read-Host "$pdfIcon is missing. Download it from http://www.adobe.com/misc/linking.html and place it to this folder. Press any key to continue...";
}
Copy-Item $pdfIcon "$SharePointRootTemplateImages";
$pdfNode = select-xml -path $DocIconFilePath -xpath "/DocIcons/ByExtension/Mapping[@Key='pdf']" | select-object -expandProperty Node
if($pdfNode -eq $null)
{
$xml= [xml] (Get-Content $DocIconFilePath)
$a = $xml.selectSingleNode("/DocIcons/ByExtension")
$addnode = $xml.createElement("Mapping")
$a.AppendChild($addNode)
$keyAttribute = $xml.CreateAttribute("Key")
$keyAttribute.set_Value("pdf")
$addNode.SetAttributeNode($keyAttribute)
$valueAttribute = $xml.CreateAttribute("Value")
$valueAttribute.set_Value("pdficon_small.gif")
$addNode.SetAttributeNode($valueAttribute)
$xml.Save($DocIconFilePath)
}
Write-Host -ForegroundColor Yellow "Configuring search crawl extension..."
$searchServiceApp = Read-Host "Type the name of your search service application (e.g. Search Service Application)"
$searchApplicationName = Get-SPEnterpriseSearchServiceApplication $searchServiceApp
if($searchApplicationName -ne $null)
{
if(($searchApplicationName | Get-SPEnterpriseSearchCrawlExtension "pdf") -eq $null)
{
$searchApplicationName | New-SPEnterpriseSearchCrawlExtension "pdf"
}
}
Write-Host -ForegroundColor Yellow "Updating registry..."
if((Get-Item -Path Registry::"HKLMSOFTWAREMicrosoftOffice Server14.0SearchSetupFilters.pdf") -eq $null)
{
$item = New-Item -Path Registry::"HKLMSOFTWAREMicrosoftOffice Server14.0SearchSetupFilters.pdf"
$item | New-ItemProperty -Name Extension -PropertyType String -Value "pdf"
$item | New-ItemProperty -Name FileTypeBucket -PropertyType DWord -Value 1
$item | New-ItemProperty -Name MimeTypes -PropertyType String -Value "application/pdf"
}
if((Get-Item -Path Registry::"HKLMSOFTWAREMicrosoftOffice Server14.0SearchSetupContentIndexCommonFiltersExtension.pdf") -eq $null)
{
$registryItem = New-Item -Path Registry::"HKLMSOFTWAREMicrosoftOffice Server14.0SearchSetupContentIndexCommonFiltersExtension.pdf";
$registryItem | New-ItemProperty -Name "(default)" -PropertyType String -Value "{E8978DA6-047F-4E3D-9C78-CDBE46041603}"
}
Write-Host -ForegroundColor Yellow "Restarting SharePoint Foundation Search Service..."
Restart-Service SPSearch4
Write-Host -ForegroundColor Yellow "Restarting SharePoint Search Service..."
Restart-Service OSearch14
Write-Host -ForegroundColor Yellow "Restarting IIS..."
iisreset
Write-Host -ForegroundColor Green "Installation completed..."
}

Additional information

Additional information can be found in the following article:

The same process applies to SharePoint 2007. However, since there was no PowerShell at the time, we recommend using the following to perform the task.

cookbook
Automate PDF configuration for SharePoint 2010 via PowerShell
Adobe PDF iFilter
PowerShell
Adobe PDF icon
2KB
configure-ifilter-sharepoint.zip
archive
Download this script
Download SPDocKit