Criar uma visualização de PDF simples para os resultados de pesquisa no SharePoint 2013

Artigo original publicado na sexta-feira, 21 de dezembro de 2012

Deparei-me com esta pergunta um dia desses e achei-a interessante. Alguém estava perguntando sobre as novas visualizações de miniaturas dos itens nos resultados de pesquisa do SharePoint 2013. A pessoa realmente gostou de como os documentos do Microsoft Office funcionam e gostaria de fazer o mesmo com arquivos PDF. Houve uma resposta (muito boa) dizendo que era possível criar uma extensão WOPI personalizada que renderizaria arquivos PDF usando o Office Web Apps. A desvantagem é que é necessário que alguém crie os códigos e realize testes (usando código de confiança total), implante-os no farm OWA e crie uma nova associação WOPI no farm do SharePoint. Afirmo novamente que é uma resposta completamente plausível caso seus requisitos determinem tais coisas.

Eu, porém, representando todos os pontos positivos em ser preguiçoso e econômico, decidi utilizar uma abordagem diferente. Sem entrar nos detalhes de como o mecanismo funciona, é possível criar uma visualização dos resultados de pesquisa de documentos do Office utilizando um iFrame. Então, por que não fazer o mesmo com documentos PDF? Foi exatamente o que fiz. Veja como procedi:

  1. Acessei o site de meu centro de pesquisa e baixei uma cópia de Item_PDF.html, que é o modelo de exibição predefinido de um item em PDF no SharePoint 2013. Em seguida, fiz as seguintes alterações nele:
    1. Alterei o título para "PDF by Steve"
    2. Alterei a variável hoverUrl no javascript para "~sitecollection/_catalogs/masterpage/Display Templates/Search/Item_Site_HoverPanel.js"
  2. Salvei como PDF_Default.html e retornei ao site do centro de pesquisa do SharePoint. Em seguida, naveguei até as Configurações do Site... Páginas mestras e layouts de página... Modelos de Exibição... Pesquisa e fiz upload do arquivo.
  3. Retornei às configurações do site e selecionei Tipos de Resultados de Pesquisa na seção Administração do Conjunto de Sites.
  4. Criei um tipo de resultado de pesquisa e o configurei da seguinte maneira:
    1. Nome: PDF Viewer
    2. Quais tipos de conteúdo devem corresponder? PDF
    3. Como deve ser a aparência destes resultados? PDF by Steve

Pronto, agora você já pode continuar. Vale ressaltar que, na etapa 1b, configurei o modelo de exibição para usar o painel de foco predefinido para sites. Ele é configurado de modo a utilizar um iFrame e renderizá-lo de forma adequada. Por isso, não tive que criar um painel de foco para ele. Na realidade, eu FIZ isso em meu tempo livre, mas o painel predefinido é muito melhor do que é meu, então percebi que era inútil resistir, já que a beleza gráfica não é meu ponto forte. Quando terminei, obtive uma ótima visualização de meus documentos PDF nos resultados de pesquisa, que você pode ver aqui:

Isso é tudo. Anexei meu modelo de exibição aqui, só para o caso de você ser tão preguiçoso e econômico quanto eu. :-) Desejo a todos um feliz Natal e próspero Ano Novo.

ATUALIZAÇÃO: descobri uma grande limitação desta abordagem. Ela só funciona com documentos PDF no mesmo host do centro de pesquisa, isto é, no mesmo aplicativo Web. Então, se o centro de pesquisa estiver em https://www.foo.com, e os PDFs estiverem em https://www.bar.com, eles não serão exibidos como itens da visualização. Isso ocorre em função de alguns dos cabeçalhos X-Frame-Options enviados com o SharePoint. Caso você esteja seguindo as novas instruções do SharePoint 2013 que recomendam o uso de um único aplicativo Web para o farm, tudo bem. Porém, em caso de vários aplicativos Web ou rastreamento de conteúdo de sites que não sejam do SharePoint, não ocorrerá a renderização da visualização.

 

Alguns outros fatores que devem ser levadas em consideração - 1) certifique-se de ter o Adobe Reader instalado no computador em que as visualizações serão carregadas; e 2) tenho pelo menos um relatório que diz que esse recurso não funciona em outros navegadores além do Internet Explorer.

 

Esta é uma postagem de blog traduzida. Consulte o artigo original em Create An Easy PDF Preview for Search Results in SharePoint 2013