在 RSReportServer.Config 中自訂渲染擴充參數

您可以在 RSReportServer 設定檔中設定渲染擴充參數,以覆蓋在 Reporting Services 報告伺服器上執行的報告預設呈現行為。 你可以修改渲染擴充參數以達成以下目標:

  • 改變渲染擴充名稱在報告工具列匯出列表中的呈現方式(例如將「Web archive」改為「MHTML」),或將名稱本地化為其他語言。

  • 建立多個相同的渲染擴充實例,以支援不同的報表呈現選項(例如,影像渲染擴充功能的直向與橫向版本)。

  • 將預設的渲染擴充參數改成使用不同的值(例如,影像渲染擴充套件使用 TIFF 作為預設輸出格式;你可以修改擴充參數改用電磁場)。

更改渲染擴充參數只會影響報告伺服器的渲染操作。 你無法在 報表設計師 的報表預覽中覆寫渲染擴充功能的設定。

在設定檔中指定渲染擴充參數會影響整體的渲染擴充功能。 設定檔中的設定會取代預設值,當使用特定渲染擴充功能時。 若您想為特定報告或渲染操作設定渲染擴充參數,必須透過 Render 程式化方法或在報告 URL 上指定裝置資訊設定。 欲了解更多關於指定渲染操作裝置資訊設定的資訊,以及查看完整裝置資訊設定清單,請參閱 「傳遞裝置資訊設定至渲染擴充套件」。

找到並修改 RSReportServer.config

報告輸出格式的設定會在 RSReportServer.config 檔案中指定為渲染擴充參數。 要在設定檔中指定渲染擴充參數,你必須知道如何定義設定渲染參數的 XML 結構。 你可以修改兩種 XML 結構:

  • OverrideNames 元素定義了渲染擴充的顯示名稱與語言。

  • DeviceInfo XML 結構定義了渲染擴充套件所使用的裝置資訊設定。 大多數渲染擴充參數都是以裝置資訊設定來指定的。

你可以用文字編輯器修改檔案。 RSReportServer.config 檔案可在 \Reporting Services\Report Server\Bin 資料夾中找到。 欲了解更多關於修改設定檔的資訊,請參閱修改Reporting Services設定檔(RSreportserver.config)。

更改顯示名稱

渲染擴充的顯示名稱會出現在報告工具列的匯出清單中。 預設顯示名稱的例子包括 Web archive、TIFF 檔案和 Acrobat(PDF)檔案。 你可以在設定檔中指定 OverrideNames 元素,將預設顯示名稱替換成自訂值。 此外,如果你定義同一個渲染擴充的兩個實例,可以使用 OverrideNames 元素來區分匯出清單中的每個實例。

由於顯示名稱是本地化的,若你要用自訂值取代預設顯示名稱,必須設定 Language 屬性。 否則,你指定的任何名稱都會被忽略。 你設定的語言值必須是報告伺服器電腦的有效值。 例如,如果報告伺服器運行於法國作業系統,你應該指定「fr-FR」作為屬性值。

以下範例說明如何在英文報告伺服器上提供自訂名稱:

<Extension Name="XML" Type="Microsoft.ReportingServices.Rendering.DataRenderer.XmlDataReport,Microsoft.ReportingServices.DataRendering">  
   <OverrideNames>  
     <Name Language="en-US">My Custom Display Name for XML Rendering</Name>  
   </OverrideNames>  
</Extension>  

更改裝置資訊設定

若要修改已部署於報告伺服器的渲染擴充套件所使用的預設裝置資訊設定,您必須在設定檔中輸入 DeviceInfo XML 結構。 每個渲染擴充套件都支援該擴充功能獨有的裝置資訊設定。 欲查看完整的裝置資訊設定清單,請參閱 「將裝置資訊設定傳給渲染擴充功能」。

以下範例說明了修改影像渲染擴充套件預設設定的 XML 結構與語法:

<Render>  
    <Extension Name="IMAGE (EMF)" Type="Microsoft.ReportingServices.Rendering.ImageRenderer.ImageRenderer,Microsoft.ReportingServices.ImageRendering">  
        <OverrideNames>  
            <Name Language="en-US">Image (EMF)</Name>  
        </OverrideNames>  
        <Configuration>  
            <DeviceInfo>  
                <ColorDepth>32</ColorDepth>  
                <DpiX>300</DpiX>  
                <DpiY>300</DpiY>  
                <OutputFormat>EMF</OutputFormat>  
            </DeviceInfo>  
        </Configuration>  
    </Extension>  
</Render>  

為轉譯擴充功能設定多個項目

你可以建立多個相同的渲染擴充實例,以支援不同的報表呈現選項。 你定義的每個實例都可以有不同的參數組合。 在定義現有渲染擴充的新實例時,務必執行以下步驟:

  • 請為擴充功能指定一個唯一的名稱。

    每個實例的 Name 屬性必須有唯一的值。 以下範例使用「IMAGE(EMF Landscape)」和「IMAGE(EMF Portrait)」這兩個名稱來區分這兩個實例。

    更改已部署渲染擴充套件名稱時請謹慎。 指定渲染擴充功能的開發者會以程式化方式使用擴充名稱來識別特定渲染操作的實例。 如果你在報告伺服器上執行自訂的 Reporting Services 應用程式,務必讓開發者知道你是否修改了現有的副名或新增了新名稱。

  • 指定唯一的顯示名稱,讓使用者能理解每種輸出格式的差異。

    如果你要設定同一擴充功能的多個版本,可以透過提供 OverrideNames 的值,為每個版本賦予唯一名稱。 否則,所有版本的擴充功能在報告工具列的匯出選項列表中都會顯示相同名稱。

以下範例說明如何使用預設的影像轉譯延伸模組(會產生 TIFF 輸出),以直向模式輸出 EMF,並同時搭配第二個執行個體,以橫向模式將報表輸出為 EMF。 請注意,每個擴充名稱都是唯一的。 測試此範例時,請記得選擇不包含互動功能(如顯示/隱藏選項、矩陣或鑽孔連結)的報表(互動功能在影像渲染擴充中無法使用):

<Render>  
    <Extension Name="IMAGE (EMF Landscape)" Type="Microsoft.ReportingServices.Rendering.ImageRenderer.ImageRenderer,Microsoft.ReportingServices.ImageRendering">  
        <OverrideNames>  
            <Name Language="en-US">EMF in Landscape Mode</Name>  
        </OverrideNames>  
        <Configuration>  
            <DeviceInfo>  
                <OutputFormat>EMF</OutputFormat>  
                <PageHeight>8.5in</PageHeight>  
                <PageWidth>11in</PageWidth>  
            </DeviceInfo>  
        </Configuration>  
    </Extension>  
    <Extension Name="IMAGE (EMF Portrait)" Type="Microsoft.ReportingServices.Rendering.ImageRenderer.ImageRenderer,Microsoft.ReportingServices.ImageRendering">  
        <OverrideNames>  
            <Name Language="en-US">EMF in Portrait Mode</Name>  
        </OverrideNames>  
        <Configuration>  
            <DeviceInfo>  
                <OutputFormat>EMF</OutputFormat>  
                <PageHeight>11in</PageHeight>  
                <PageWidth>8.5in</PageWidth>  
            </DeviceInfo>  
        </Configuration>  
    </Extension>  
</Render>