Visão geral das extensões de renderização

Uma extensão de renderização é um componente ou módulo de um servidor de relatórios que transforma dados de relatórios e informações de layout num formato específico de cada dispositivo. O SQL Server Reporting Services inclui várias extensões de renderização: HTML, Excel, Word, PowerPoint, CSV ou Texto, XML, Imagem, Feed de Dados e PDF. Pode criar outras extensões de renderização para gerar relatórios noutros formatos.

Observação

Para determinar quais as extensões de renderização disponíveis, pode consultar a lista de extensões instaladas no ficheiro RSReportServer.config.

A tabela seguinte descreve as extensões de renderização incluídas no Reporting Services.

Nome da Extensão Descrição
WORDOPENXML Renderize um relatório no Microsoft Word como ficheiro DOCX. O formato é mostrado como Word na lista suspensa de Exportação da barra de ferramentas de relatórios.
PALAVRA Renderize um relatório no Microsoft Word como um ficheiro DOC. O formato não é mostrado na lista suspensa de Exportação da barra de relatórios, pois está incluído para compatibilidade retroativa.
EXCELOPENXML Renderiza um relatório no Microsoft Excel como um ficheiro XLSX. O formato é mostrado como Excel na lista suspensa de Exportação da barra de ferramentas de relatórios.
EXCEL Renderiza um relatório no Microsoft Excel como um ficheiro XLS. O formato não é mostrado na lista suspensa de Exportação da barra de relatórios, pois está incluído para compatibilidade retroativa.
PPTX Renderiza um relatório no PowerPoint como um ficheiro PPTX. O formato é mostrado como PowerPoint na lista suspensa de Exportação da barra de relatórios.
PDF Apresenta um relatório no PDF.
IMAGEM Renderiza um relatório num formato orientado a páginas. O formato é mostrado como ficheiro TIFF na lista suspensa de exportação da barra de relatórios.
MHTML (parte da extensão de renderização HTML) Renderiza um relatório em MHTML. O relatório abre no navegador. O formato é mostrado como MHTML (web archive) na lista suspensa de Exportação da barra de ferramentas de relatórios.
CSV Apresenta um relatório em formato delimitado por vírgulas. O relatório abre numa ferramenta de visualização associada a formatos de ficheiro CSV. O formato é mostrado como CSV (delimitado por vírgula) na lista suspensa de Exportação da barra de relatórios.
XML Apresenta um relatório em XML. O relatório abre num navegador. Transformações adicionais aplicadas a esta saída XML podem ser uma forma económica de evitar desenvolver a sua própria extensão de renderização. O formato é mostrado como ficheiro XML com dados de relatório na lista suspensa de Exportação da barra de ferramentas de relatório.
ATOM Renderiza um relatório em formato de fluxo de dados como um ficheiro ATOMSVC. O formato é mostrado como Feed de Dados na lista suspensa de Exportação da barra de relatórios.
HTML4.0 (parte da extensão de renderização HTML) O HTML4.0 é usado se o navegador não suportar HTML5.
HTML5 (parte da extensão de renderização HTML) HTML5 é o formato utilizado para renderizar inicialmente o relatório no navegador. Se o seu navegador suporta HTML5, esse é o formato utilizado. Caso contrário, é utilizado o HTML 4.0.
RPL RPL é o formato intermédio utilizado pelo servidor de relatórios e é a extensão de renderização padrão.
NULL Não renderiza um relatório num formato específico. Esta extensão de renderização é útil para colocar relatórios em cache. A renderização nula deve ser usada com uma execução ou entrega programada.

Para mais informações sobre os formatos recomendados e as suas utilizações, consulte Relatórios de Exportação (Report Builder e SSRS).

Cada uma das extensões de renderização implementadas pela Microsoft e fornecidas com o Reporting Services utiliza um conjunto comum de interfaces. Este conjunto comum de interfaces garante que cada extensão implementa funcionalidades comparáveis e reduz a complexidade do código de renderização no núcleo do servidor de relatórios.

Modelo de Objeto de Renderização

Quando um relatório é processado, o resultado é um modelo de objeto exposto publicamente conhecido como Modelo de Objeto de Renderização (ROM). O Modelo de Objeto de Renderização é uma coleção de classes que definem o conteúdo, o layout e os dados de um relatório que foi processado. A ROM está disponível para programadores que desejem desenhar, desenvolver e implementar extensões de renderização personalizadas para Reporting Services. A ROM é produzida quando o servidor de relatórios processa a definição XML de um relatório juntamente com os dados do relatório definidos pelo utilizador. Quando o processamento está concluído, o modelo público de objetos é utilizado por uma extensão de renderização para definir a saída do relatório. As classes públicas disponíveis da ROM são definidas na Microsoft. Espaço de nomes ReportingServices.OnDemandReportRendering.

Escrever extensões de renderização personalizadas

Antes de decidir criar uma extensão de renderização personalizada, deve considerar alternativas mais simples. É possível:

  • Personalize a saída renderizada especificando as definições de informação do dispositivo para extensões existentes.

  • Adicione funcionalidades personalizadas de formatação e apresentação combinando as Transformações XSL (XSLT) com a saída do formato de renderização XML.

Escrever uma extensão de renderização personalizada é difícil. Uma extensão de renderização deve normalmente suportar todas as combinações possíveis de elementos de relatório e exige que implemente centenas de classes, interfaces, métodos e propriedades. Se tiver de apresentar um relatório num formato que não está incluído no Reporting Services e decidir escrever a sua própria implementação de código gerido de uma extensão de renderização, o código da extensão de renderização deve implementar o Microsoft. Interface ReportingServices.OnDemandReportRendering.IRenderingExtension, que é exigida pelo servidor de relatórios.