h2. Introdução
Neste artigo, veremos como gerar documentos PDF a partir do WebDynpro Java sem usar os Serviços de Documentos da Adobe. Utilizaremos as bibliotecas Java do Apache FOP (XSL:FO) para realizar essa tarefa. O Apache FOP pode gerar uma ampla variedade de saídas, incluindo PostScript, RTF, PCL e XML. No nosso caso, estamos interessados principalmente na saída em PDF. Neste exemplo, transformamos um Objeto Java (um nó WebDynpro no nosso caso) em um PDF. Geramos eventos SAX a partir do nó que é alimentado em uma transformação XSL que gera um PDF. Você também pode usar isso para gerar eventos XML diretamente de um Nó. !
http://xmlgraphics.apache.org/fop/0.95/images/EmbeddingExampleObj2PDF.png|height=30|alt=Object
para sequência PDF|align=middle|width=359|src=
http://xmlgraphics.apache.org/fop/0.95/images/EmbeddingExampleObj2PDF.png
! h6. Esta imagem foi retirada sem vergonha do site do Apache FOP. Eu estava muito preguiçoso para fazer meu próprio gráfico. Eu dei uma olhada em um exemplo do Apache FOP onde um Objeto Java é convertido diretamente em PDF (veja a seção de links abaixo sobre como chegar a este exemplo). Tudo o que tive que fazer foi importar as bibliotecas FOP no WebDynpro e substituir os Objetos Java por nós WD, algumas modificações a mais e voilà! Eu tinha um exemplo de PDF de Nó funcionando. Certifique-se de pelo menos dar uma olhada no exemplo antes de tentar a versão do WebDynpro. Implementamos este método com sucesso em produção para alguns relatórios. O desempenho é muito bom (como você esperaria do Apache). A sintaxe XSL FO em si é simples e poderosa. Existem muitos exemplos na web, desde layouts simples até extremamente complexos para o PDF. No final do artigo, forneci uma lista de sites que foram extremamente úteis para mim durante minha fase de design e código. Este é um artigo bastante longo devido ao código e instruções detalhadas. A maioria dos passos é bastante simples. h2. Aplicação de exemplo Nesta aplicação, seguiremos estes passos para criar uma aplicação simples de XSL:FO-WebDynpro. * Crie um novo DC que contenha arquivos jar da biblioteca Apache FOP. * Crie uma dependência entre nossa aplicação Java WD e o DC da biblioteca FOP. * Crie uma Classe de Adaptador (fornecida neste exemplo) para converter o nó em eventos SAX. * Crie um arquivo XSLT simples que defina o layout e conteúdo do PDF. * Escreva um pouco de código para ativar a criação do PDF a partir dos dados no Nó. * Teste
?
h3. Passo 1 A aplicação base é uma aplicação WebDynpro Java muito simples que mostra alguns dados de um nó em uma tabela WebDynpro. (Não entrarei em detalhes sobre como criar esta aplicação). Os dados do nó são preenchidos a partir de uma matriz que é inicializada com alguns campos (todos do tipo string). O nó anexado ao controlador é um nó de valor simples chamado materiais com alguns campos (todos os elementos do nó são do tipo string). Aqui está uma captura de tela do contexto do controlador.
Adicionei um pouco de código ao controlador para preencher o nó com alguns dados. Você pode ver o código do controlador {code:html}
aqui
{code}. (este é o código sem as modificações do FOP). Aqui está uma captura de tela da saída da aplicação.
Agora vamos modificar esta aplicação para gerar um PDF a partir dos dados que temos no nó. h3. Passo 2 Você precisará baixar a última versão (0.95 no momento em que este texto foi escrito) dos arquivos jar do Apache XSL:FO. Você pode baixar o arquivo zip (fop-0.95-bin.zip) em:
http://archive.apache.org/dist/xmlgraphics/fop/binaries/
Agora precisamos criar um DC de Biblioteca que contenha os arquivos jar do Apache FOP. Se você não tem certeza de como fazer isso, siga as instruções deste artigo. [
Como usar arquivos JAR externos em componentes de desenvolvimento Web Dynpro
|
Como usar arquivos JAR externos em componentes de desenvolvimento Web Dynpro
] h3. Passo 3 Agora precisamos fazer algumas configurações para que nossa aplicação possa usar os arquivos jar do DC
Quitar espacios en una consulta SQL
Quitar espacios en una consulta SQL
Cuando trabajamos con consultas SQL, a menudo nos encontramos con la necesidad de limpiar o mani...
Transacciones MIGO y MIRO en SAP MM
Transacciones MIGO y MIRO en SAP MM
1. ¿Qué es la transacción MIGO?
La transacción MIGO (Entrada de Mercancías) se utiliza para registrar las mercancías que...
HOLA EXPERTOS,
¿QUÉ ESQUEMA DE CÁLCULO ME SIRVE PARA CALCULAR EL IVA EN BOLIVIA?
EL PORCENTAJE DE IVA EN BOLIVIA ES EL 13%.
LA FACTURA QUE TENGO COMO EJEMPLO ES LA...