SSRS - Disabling export options (eg. PDF) for individual reports
You can hide PDF button globally in a specific config file here:
"InstallPath\Reporting Services\ReportServer\rsreportserver.config"
For more information, there is already a topic about this on StackOverflow.
Please check for more answers here: ReportViewer - Hide PDF Export
You can use Pre_render event in Report Viewer.
Take a look at this post, it is the source of the following code
Example Remove save As in SSRS
protected void ReportViewer1_PreRender(object sender, EventArgs e)
{
DisableUnwantedExportFormat((ReportViewer)sender, "Excel");
DisableUnwantedExportFormat((ReportViewer)sender, "Word");
}
public void DisableUnwantedExportFormat(ReportViewer ReportViewerID, string strFormatName)
{
FieldInfo info;
foreach (RenderingExtension extension in ReportViewerID.LocalReport.ListRenderingExtensions())
{
if (extension.Name.Trim().ToUpper() == strFormatName.Trim().ToUpper())
{
info = extension.GetType().GetField("m_isVisible", BindingFlags.Instance | BindingFlags.NonPublic);
info.SetValue(extension, false);
}
}
}
Just in case nobody else said it out loud before here or in linked articles:
The neatiest global solution is to find the rendering engines in the RS config file (mine sits in: C:\Program Files\Microsoft SQL Server\MSRS12.MSSQLSERVER\Reporting Services\ReportServer\rsreportserver.config), go to xml key: Extensions > Render and insert following property at the end of each entry you want to hide:
Visible="false"
Example:
<Extension Name="XML" Type="Microsoft.ReportingServices.Rendering.DataRenderer.XmlDataReport,Microsoft.ReportingServices.DataRendering" Visible="false"/>
Alternatively put <!-- and --> (HTML comment markers) at the beginning and end of the entry.
For individual reports those functions will do the trick.