Avalados por :

Problemas de exportação para PDF em aplicação web com JSF 1.2: causas e soluções

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 5 Vistas
0
Cargando...

Olá,

Estamos enfrentando problemas com a exportação para PDF em um aplicativo web que utiliza JSF 1.2, os arquivos sempre saem corrompidos. Aqui estão os fatos relevantes conforme o que sei:

- Os mesmos relatórios são exportados corretamente a partir do designer, mas incorretamente a partir de um navegador.

- CR XI R2, funcionando via Tomcat 6 ou JBoss 4+. Mesmo problema com ambos.

- A versão do navegador não parece importar.

- Exemplo do conteúdo interno de duas versões do mesmo relatório. Um bom, gerado pelo Designer, um corrompido, gerado pelo navegador web. Parece que a versão web está convertendo o conteúdo PDF em hexadecimal seguro para os leitores HTML.

stream

xœí}÷wUÕöïßð~úŽ7ÞýŽûý>ïEî

(Substituí o ";" final por ":" para que os caracteres não sejam convertidos antes de ver a representação subjacente.)

stream

xu0153íu2122Ysâ8 u20ACßõ+úa ²U`t yS°'u02DCø ²Cu2020ŒQu0152u201Cõ Ç $µ% ÔÎÌzXgÖUu203AJ tŽÔêOM«m Àê?š?ãQu02DC/«*u2020Í 2 y? ±< ]óÅ]×"Ðulýµ)

Acredito que tenha algo a ver com a transmissão através de um servidor web que está corrompendo o arquivo. Isso pode ser devido a um problema de compatibilidade com JSF 1.2 ou alguma configuração da qual não tenho conhecimento. Gostaria de encontrar uma solução no XI, mas estou disposto a migrar para 2008 se necessário.

Qualquer ajuda é apreciada.

Dean

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

3 Respuestas

0
Cargando...

Recomendo:

Mostrar ao espectador na página web.

Veja o HTML de origem.

Vê duas tags <HTML>? Uma para o visualizador Crystal, e outra para o material circundante?

A solicitação de exportação funciona através de postback: se estiver incorporando a tag JSF no material circundante, então será interpretado não como binário mas como texto.

Atenciosamente,

Ted Ueda

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Ted,

Obrigado pela informação, parece que isso é claramente parte do problema, mas ainda há alguns detalhes a serem resolvidos.

1) Estamos usando os ícones embutidos do Crystal Reports na página DHTML renderizada para exportar para PDF, não estamos transmitindo diretamente do backend. A página do visualizador de relatórios é chamada através do framework JSF, menciono isso à luz de seus comentários, pois pode ser relevante.

2) A chamada para executar e exibir o relatório é feita através do nosso framework JSF, onde a ação vai para um bean de suporte que configura o relatório e usa o método processHTTPRequest do objeto CrysatReportViewer para enviar o relatório de volta para o navegador em uma página em branco.

Ao executar um relatório, devemos evitar passar completamente pelo framework JSF e simplesmente chamar diretamente o jsp de visualização do frontend?

Li um pouco sobre um controlador JSF reportPageViewer que vem com o BusinessObjects Enterprise. É algo que devemos estar usando e podemos usá-lo sem o BO Enterprise?

Obrigado

Dean

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

JSF é para texto.

Se precisar transmitir um arquivo binário, utilize um Servlet ou JSP.

O JSF tentará codificar o fluxo binário para a codificação de caracteres da página.

Atenciosamente,

Ted Ueda

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?