Personalizar parâmetros de extensão de renderização em RSReportServer.Config

Você pode especificar parâmetros de extensão de renderização no arquivo de configuração RSReportServer para substituir o comportamento padrão de renderização de relatórios que rodam em um servidor de relatórios Reporting Services. Você pode modificar os parâmetros da extensão de renderização para alcançar os seguintes objetivos:

  • Mude como o nome da extensão de renderização aparece na lista de Exportação da barra de ferramentas de relatórios (por exemplo, para mudar "Arquivo Web" para "MHTML"), ou localize o nome para outro idioma.

  • Crie múltiplas instâncias da mesma extensão de renderização para suportar diferentes opções de apresentação de relatórios (por exemplo, uma versão em modo retrato e paisagem da extensão de renderização Imagem).

  • Mude os parâmetros padrão da extensão de renderização para usar valores diferentes (por exemplo, a extensão de renderização de imagem usa TIFF como formato de saída padrão; você pode modificar os parâmetros da extensão para usar EMF em vez disso).

Alterar os parâmetros da extensão de renderização afeta apenas as operações de renderização no servidor de relatórios. Você não pode substituir as configurações da extensão de renderização na visualização do relatório no Report Designer.

Especificar parâmetros de extensão de renderização nos arquivos de configuração afeta as extensões de renderização globalmente. As configurações nos arquivos de configuração são usadas no lugar dos valores padrão sempre que uma extensão de renderização específica é utilizada. Se você quiser definir parâmetros de extensão de renderização para um relatório ou operação de renderização específica, deve especificar as informações do dispositivo programaticamente usando o Render método ou especificando as configurações de informação do dispositivo em uma URL de relatório. Para mais informações sobre como especificar configurações de informação de dispositivo para uma operação de renderização e para ver a lista completa de configurações de informação de dispositivo, veja Passar configurações de informação de dispositivo para extensões de renderização.

Encontre e modifique RSReportServer.config

As configurações para formatos de saída de relatório são especificadas como parâmetros de extensão de renderização no arquivo RSReportServer.config. Para especificar parâmetros de extensão de renderização nos arquivos de configuração, você deve saber como definir as estruturas XML que definem parâmetros de renderização. Existem duas estruturas XML que você pode modificar:

  • O elemento OverrideNames define o nome de exibição e o idioma da extensão de renderização.

  • A estrutura XML do DeviceInfo define as configurações de informação do dispositivo usadas por uma extensão de renderização. A maioria dos parâmetros da extensão de renderização é especificada como configurações de informações do dispositivo.

Você pode usar um editor de texto para modificar o arquivo. O arquivo RSReportServer.config pode ser encontrado na pasta \Reporting Services\Report Server\Bin. Para mais informações sobre como modificar arquivos de configuração, veja Modificar um arquivo de configuração Reporting Services (RSreportserver.config).

Altere o nome de exibição

O nome de exibição de uma extensão de renderização aparece na lista de Exportação da barra de ferramentas de relatórios. Exemplos de nomes de exibição padrão incluem arquivo web, arquivo TIFF e arquivo Acrobat (PDF). Você pode substituir o nome de exibição padrão por um valor personalizado especificando o elemento OverrideNames nos arquivos de configuração. Além disso, se você estiver definindo duas instâncias de uma única extensão de renderização, pode usar o elemento OverrideNames para distinguir cada instância na lista de Exportação.

Como os nomes de exibição são localizados, você deve definir o atributo Idioma se estiver substituindo o nome padrão por um valor personalizado. Caso contrário, qualquer nome que você especificar será ignorado. O valor de idioma que você definir deve ser válido para o computador servidor de relatórios. Por exemplo, se o servidor de relatório estiver rodando em um sistema operacional francês, você deve especificar "fr-FR" como valor do atributo.

O exemplo a seguir ilustra como fornecer um nome personalizado em um servidor de relatório em inglês:

<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>  

Alterar configurações de informação do dispositivo

Para modificar as configurações padrão de informação de dispositivo usadas por uma extensão de renderização já implantada no seu servidor de relatórios, você deve digitar a estrutura XML DeviceInfo nos arquivos de configuração. Toda extensão de renderização suporta configurações de informação de dispositivo que são únicas para essa extensão. Para visualizar a lista completa de configurações de informação do dispositivo, veja Passar configurações de informação de dispositivo para extensões de renderização.

O exemplo a seguir fornece uma ilustração da estrutura e sintaxe XML que modifica as configurações padrão da extensão de renderização Imagem:

<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>  

Configurar várias entradas para uma extensão de renderização

Você pode criar múltiplas instâncias da mesma extensão de renderização para suportar diferentes opções de apresentação de relatório. Cada instância que você define pode ter uma combinação diferente de valores de parâmetros. Ao definir novas instâncias de uma extensão de renderização existente, certifique-se de fazer o seguinte:

  • Especifique um nome único para a extensão.

    Cada instância deve ter um valor único para o atributo Nome . O exemplo a seguir usa os nomes "IMAGE (EMF Landscape)" e "IMAGE (EMF Portrait)" para distinguir entre as duas instâncias.

    Tenha cautela ao mudar o nome de uma extensão de renderização que já está implantada. Desenvolvedores que especificam extensões de renderização de forma programática usam o nome da extensão para identificar qual instância usar para uma operação de renderização específica. Se você está rodando aplicativos personalizados de Reporting Services no seu servidor de relatórios, certifique-se de que o desenvolvedor saiba se você modifica o nome de uma extensão existente ou adiciona uma nova.

  • Especifique um nome de exibição único para que os usuários possam entender as diferenças para cada formato de saída.

    Se você estiver configurando várias versões da mesma extensão, pode dar a cada versão um nome único fornecendo um valor para OverrideNames. Caso contrário, todas as versões da extensão parecerão ter o mesmo nome na lista de opções de Exportação na barra de ferramentas de relatórios.

O exemplo a seguir ilustra como usar a extensão padrão de renderização de imagem (que produz saída TIFF) para gerar EMF no modo Retrato ao lado de uma segunda instância que gera relatórios em FEM no modo Paisagem. Note que o nome de cada extensão é único. Ao testar este exemplo, lembre-se de escolher relatórios que não contenham recursos interativos como opções de exibir/ocultar, matrizes ou links de perfuração (recursos interativos não funcionam na extensão de renderização de imagens):

<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>