Visão geral das extensões de renderização
Uma extensão de renderização é um componente ou um módulo de um servidor de relatório que transforma dados de relatório e informações de layout para um formato específico do dispositivo. O SQL Server Reporting Services inclui sete extensões de renderização: HTML, Excel, Word, CSV ou Texto, XML, Imagem e PDF. Você pode criar extensões de renderização adicionais para gerar relatórios em outros formatos.
Observação |
---|
Para determinar quais extensões de renderização estão disponíveis, exiba a lista das extensões instaladas no arquivo RSReportServer.config. |
A tabela a seguir descreve as extensões de renderização incluídas no Reporting Services.
Nome da extensão |
Descrição |
---|---|
XML |
Renderiza um relatório em XML. O relatório é aberto em um navegador. Transformações adicionais aplicadas a esta saída XML podem ser uma forma econômica de evitar o desenvolvimento de sua própria extensão de renderização. |
CSV |
Renderiza um relatório em um formato delimitado por vírgula. O relatório é aberto em uma ferramenta de visualização associada a formatos de arquivo CSV. |
IMAGE |
Renderiza um relatório em um formato orientado para páginas. O formato é mostrado como TIFF na lista suspensa Exportar da barra de ferramentas de relatório. |
Renderiza um relatório no Adobe Acrobat Reader. O formato é mostrado como Arquivo Acrobat (PDF) na lista suspensa Exportar da barra de ferramentas de relatório. |
|
EXCEL |
Renderiza um relatório no Microsoft Excel. |
WORD |
Renderiza um relatório no Microsoft Word. |
HTML 4.0 (parte da extensão de renderização HTML) |
HTML é o formato usado para renderizar inicialmente o relatório. Se o seu navegador der suporte a HTML 4.0, esse será o formato usado. Caso contrário, o HTML 3.2 será usado. |
MHTML (parte da extensão de renderização HTML) |
Renderiza um relatório em MHTML. O relatório é aberto no Internet Explorer. O formato é mostrado como Arquivo Web na lista suspensa Exportar da barra de ferramentas de relatório. |
NULL |
Não renderiza um relatório para um formato específico. Essa extensão de renderização é útil para colocar relatórios em cache. A renderização nula deve ser usada em conjunto com uma execução ou entrega agendada. |
Para obter mais informações sobre os formatos indicados e seus usos, consulte Exportando relatórios (Construtor de Relatórios 3.0 e SSRS).
Cada uma das extensões de renderização implementadas pelo Microsoft e enviadas com o Reporting Services usa um conjunto comum de interfaces. Isso garante que cada extensão implemente funcionalidade comparável e reduz a complexidade do código de renderização no núcleo do servidor de relatório.
Modelo de objeto de renderização
Quando um relatório é processado, o resultado é um modelo de objeto publicamente exposto conhecido como ROM (Modelo de Objeto de Renderização). O Modelo de Objeto de Renderização é uma coleção de classes que definem os conteúdos, o layout e os dados de um relatório que foi processado. O ROM está disponível para desenvolvedores que queiram criar, desenvolver e implantar extensões de renderização personalizadas para o Reporting Services. O ROM é gerado quando o servidor de relatório processa a definição XML de um relatório junto com os dados de relatório definidos pelo usuário. Quando o processamento é concluído, o modelo de objeto público é usado por uma extensão de renderização para definir a saída do relatório. As classes públicas disponíveis de ROM são definidas no namespace Microsoft.ReportingServices.OnDemandReportRendering.
Escrevendo extensões de renderização personalizadas
Antes de decidir criar uma extensão de renderização personalizada, avalie alternativas mais simples. Você pode:
Personalizar a saída renderizada especificando configurações de informações de dispositivo para extensões existentes.
Adicione formatação personalizada e recursos de apresentação combinando XSLT (Transformações XSL) com a saída do formato de renderização XML.
Escrever uma extensão de renderização personalizada é difícil. Normalmente, uma extensão de renderização deve dar suporte a todas as combinações possíveis de elementos de relatório e exige que você implemente centenas de classes, de interfaces, de métodos e de propriedades. Se você tiver de renderizar um relatório em um formato não incluído no Reporting Services e decidir escrever a sua própria implementação de código gerenciado de uma extensão de renderização, o código da extensão de renderização deve implementar a interface Microsoft.ReportingServices.OnDemandReportRendering.IRenderingExtension, exigida pelo servidor de relatório.
Para obter documentação e whitepapers suplementares sobre o Reporting Services, consulte os recursos técnicos mais recentes no site do Reporting Services.
Consulte também