none
Configuring PDF Rendering Extension - how?? (or any extention) RRS feed

  • Question

  • SQL Server Reporting Services 2017 running on Windows Server 2016 Standard

    I'm looking at the file "Program Files\Microsoft SQL Server Reporting Services\SSRS\ReportServer\rsreportserver.config" and adding the following to the PDF Device:

    <Extension Name="PDF" Type="Microsoft.ReportingServices.Rendering.ImageRenderer.PDFRenderer,Microsoft.ReportingServices.ImageRendering">
       <Configuration>
          <DeviceInfo>
             <EmbedFonts>true</EmbedFonts>
             <DpiX>220</DpiX>
             <DpiY>220</DpiY>
          </DeviceInfo>
       </Configuration>
    </Extension>

    I try stopping and restarting the service, but I don't see these changes in my PDF.

    What am I missing? Is this the right config file? It's the only one I could find, but the options here don't show up in the export drop down in the browser...

    Also, if I create a second instance of a Render Extension, (and name it uniquely) should that show up in my "Save As" drop down menu in the browser when I go to report?

    I'm referencing this page (2019, but I assumed 2017 wasn't that different and all the files are there...):

    https://docs.microsoft.com/en-us/sql/reporting-services/customize-rendering-extension-parameters-in-rsreportserver-config?view=sql-server-ver15


    ~if this were /. this sig would be funny




    • Edited by owen_i Tuesday, November 19, 2019 10:35 PM
    Tuesday, November 19, 2019 10:01 PM

All replies

  • Hi,

    -- Is this the right config file? 

    Yes, it is the right file.

    -- Also, if I create a second instance of a Render Extension, (and name it uniquely) should that show up in my "Save As" drop down menu in the browser when I go to report?Yes, as my example here. I've create a new csv render, and give it a new name.

    The article you have read is good to go for SSRS 2017.  You could try edit and save the config file again, and double check with the article.

    BTW, just wondering why are you using ssrs 2017 on ms sql 2016, for this, you've had two license? What are your ssrs and ms sql edition?

    Regards,

    Lukas


    MSDN Community Support Please remember to click Mark as Answer; the responses that resolved your issue, and to click Unmark as Answer if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.


    Wednesday, November 20, 2019 8:06 AM
  • Thank you for confirming!

    Could there be any other rsreportserver.config file? Is there some other configuration place where we can point to a different location? The reason I ask is because we have these devices in our config file...

    <Render>
    <Extension Name="WORDOPENXML" Type="Microsoft.ReportingServices.Rendering.WordRenderer.WordOpenXmlRenderer.WordOpenXmlDocumentRenderer,Microsoft.ReportingServices.WordRendering"/>
    <Extension Name="WORD" Type="Microsoft.ReportingServices.Rendering.WordRenderer.WordDocumentRenderer,Microsoft.ReportingServices.WordRendering" Visible="false"/>
    <Extension Name="EXCELOPENXML" Type="Microsoft.ReportingServices.Rendering.ExcelOpenXmlRenderer.ExcelOpenXmlRenderer,Microsoft.ReportingServices.ExcelRendering"/>
    <Extension Name="EXCEL" Type="Microsoft.ReportingServices.Rendering.ExcelRenderer.ExcelRenderer,Microsoft.ReportingServices.ExcelRendering" Visible="false"/>
    <Extension Name="PPTX" Type="Microsoft.ReportingServices.Rendering.PowerPointRendering.PptxRenderingExtension,Microsoft.ReportingServices.PowerPointRendering"/>
    <Extension Name="PDF" Type="Microsoft.ReportingServices.Rendering.ImageRenderer.PDFRenderer,Microsoft.ReportingServices.ImageRendering"/>
    <Extension Name="IMAGE" Type="Microsoft.ReportingServices.Rendering.ImageRenderer.ImageRenderer,Microsoft.ReportingServices.ImageRendering"/>
    <Extension Name="MHTML" Type="Microsoft.ReportingServices.Rendering.HtmlRenderer.MHtmlRenderingExtension,Microsoft.ReportingServices.HtmlRendering">
    	<Configuration>
    		<DeviceInfo>
    			<DataVisualizationFitSizing>Approximate</DataVisualizationFitSizing>
    		</DeviceInfo>
    	</Configuration>
    </Extension>
    <Extension Name="CSV" Type="Microsoft.ReportingServices.Rendering.DataRenderer.CsvReport,Microsoft.ReportingServices.DataRendering"/>
    <Extension Name="XML" Type="Microsoft.ReportingServices.Rendering.DataRenderer.XmlDataReport,Microsoft.ReportingServices.DataRendering"/>
    <Extension Name="ATOM" Type="Microsoft.ReportingServices.Rendering.DataRenderer.AtomDataReport,Microsoft.ReportingServices.DataRendering"/>
    <Extension Name="NULL" Type="Microsoft.ReportingServices.Rendering.NullRenderer.NullReport,Microsoft.ReportingServices.NullRendering" Visible="false"/>
    <Extension Name="RGDI" Type="Microsoft.ReportingServices.Rendering.ImageRenderer.RGDIRenderer,Microsoft.ReportingServices.ImageRendering" Visible="false"/>
    <Extension Name="HTML4.0" Type="Microsoft.ReportingServices.Rendering.HtmlRenderer.Html40RenderingExtension,Microsoft.ReportingServices.HtmlRendering" Visible="false">
    	<Configuration>
    		<DeviceInfo>
    			<DataVisualizationFitSizing>Approximate</DataVisualizationFitSizing>
    		</DeviceInfo>
    	</Configuration>
    </Extension>
    <Extension Name="HTML5" Type="Microsoft.ReportingServices.Rendering.HtmlRenderer.Html5RenderingExtension,Microsoft.ReportingServices.HtmlRendering" Visible="false">
    	<Configuration>
    		<DeviceInfo>
    			<DataVisualizationFitSizing>Approximate</DataVisualizationFitSizing>
    		</DeviceInfo>
    	</Configuration>
    </Extension>
    <Extension Name="RPL" Type="Microsoft.ReportingServices.Rendering.RPLRendering.RPLRenderer,Microsoft.ReportingServices.RPLRendering" Visible="false" LogAllExecutionRequests="false"/>
    </Render>

    but I only see these devices listed in the  export dropdown:


    Why don't I see all the ones listed in the .config file, and where in the config file is the device "XML file with report data"?

    This is why I feel like the actual reporting server is looking at some other config file. But the URL in the browser seems correct - it's the correct server name:

    http://<our correct SSRS server name>/ReportServer/Pages/ReportViewer.aspx

    (oh, and we're running MS SQL Server 2017 with SSRS on the OS WinServer 2016 :)


    ~if this were /. this sig would be funny



    • Edited by owen_i Wednesday, November 20, 2019 3:00 PM
    Wednesday, November 20, 2019 2:57 PM
  • Hi Owen,

    -- Why don't I see all the ones listed in the .config file

     Because that, in the config file, they were set with visibility property to false. You could set them to true to enable them. e.g. 

    <Extension Name="WORD" Type="Microsoft.ReportingServices.Rendering.WordRenderer.WordDocumentRenderer,Microsoft.ReportingServices.WordRendering" Visible="false"/>

    -- where in the config file is the device "XML file with report data"?

    This is not a render extension, so you did not see it.

     

    So, I've tested you original code. and paste it in my rsreportserver.config, it is actually working for me.

    I suspend that you didnot notice the difference cause the difference is too small.

    You could try this code for test use :

    <Extension Name="PDF" Type="Microsoft.ReportingServices.Rendering.ImageRenderer.PDFRenderer,Microsoft.ReportingServices.ImageRendering">
          <Configuration>
          <DeviceInfo>
             <EmbedFonts>true</EmbedFonts>
             <DpiX>20</DpiX>
             <DpiY>20</DpiY>
          </DeviceInfo>
          </Configuration>
    </Extension>

    Hope this helps.

    Lukas


    MSDN Community Support Please remember to click Mark as Answer; the responses that resolved your issue, and to click Unmark as Answer if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.


    Thursday, November 21, 2019 3:30 AM
  • Regarding the "visible" parameter - the ones that DO show in my dropdown (like "Word") have visible=false. But even that doesn't make much sense because of the difference in case.

    Is the "ExtensionName" the value that gets displayed? It would seem not unless "WORDOPENXML" is somehow translated to "Word" (and also because MS documentation specifically calls for using the <OverrideNames> tag to accomplish this!)

    Also, my extension name "PPTX" is NOT set to false, but I don't see PPTX listed in my dropdown.

    It's as if the dropdown is reading some other config file.

    We are using Azure for our database, is there anything up there that could override the config on our local reporting server? And just to confirm, when I run the reports, the URL *is* pointing to our local reporting server.

    I think I'm going to open a ticket with MS today and see what they say.

    But thank you for your time - your confirmations were very helpful!


    ~if this were /. this sig would be funny



    • Edited by owen_i Thursday, November 21, 2019 1:56 PM
    Thursday, November 21, 2019 1:51 PM
  • Hi, 

    For the showing name :  in the render extension, there could be <OverrideNames> property, if this property is given value, this will be shown in the Web Portal.

    So, the pptx is corresponding to the PowerPoint in the drop down list.

    Yes, it would also be beneficial to talk with MS support for further confirming.

    You could kindly mark the post as answer if you find it is helpful.

    Lukas


    MSDN Community Support Please remember to click Mark as Answer; the responses that resolved your issue, and to click Unmark as Answer if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.


    Friday, November 22, 2019 1:17 AM