Desenvolvimento com serviços de saída e Forms no AEM Forms developing-with-output-and-forms-services-in-aem-forms
Saiba mais sobre como desenvolver com a API de serviço de saída e Forms no AEM Forms.
Neste artigo, analisaremos o seguinte
- Serviço de saída - Normalmente, esse serviço é usado para mesclar dados xml com modelo xdp ou pdf para gerar pdf nivelado.
- FormsService - Este é um serviço muito versátil que permite renderizar o xdp como pdf e exportar/importar dados de e para o arquivo PDF.
O trecho de código a seguir exporta dados do arquivo PDF
javax.servlet.http.Part pdfPart = request.getPart("pdffile");
String filePath = request.getParameter("saveLocation");
java.io.InputStream pdfIS = pdfPart.getInputStream();
com.adobe.aemfd.docmanager.Document pdfDocument = new com.adobe.aemfd.docmanager.Document(pdfIS);
com.adobe.fd.forms.api.FormsService formsservice = sling.getService(com.adobe.fd.forms.api.FormsService.class);
com.adobe.aemfd.docmanager.Document xmlDocument = formsservice.exportData(pdfDocument,com.adobe.fd.forms.api.DataFormat.Auto);
A Linha 1 extrai o arquivo PDF da solicitação
A Linha 2 extrai o saveLocation da solicitação
A linha 5 obtém o FormsService
O Line 6 exporta o xmlData do Arquivo PDF
Para testar o pacote de exemplo em seu sistema
Baixe e instale o pacote usando o gerenciador de pacotes AEM
incluir na lista de permissões Depois de instalar o pacote, você terá que copiar os seguintes URLs no Filtro CSRF do Adobe Granite.
- Siga as etapas mencionadas abaixo para incluir na lista de permissões os caminhos mencionados acima.
- Logon no configMgr
- Pesquisar por filtro CSRF do Adobe Granite
- Adicione os 3 caminhos a seguir nas seções excluídas e salve
- /content/AemFormsSamples/mergedata
- /content/AemFormsSamples/exportdata
- /content/AemFormsSamples/outputservice
- /content/AemFormsSamples/renderxdp
- Procure por "Sling Referrer Filter"
- Marque a caixa de seleção "Permitir vazio". (Essa configuração deve ser somente para fins de teste)
Teste das amostras
Há várias maneiras de testar o código de amostra. O mais rápido e fácil é usar o aplicativo Postman. O Postman permite que você faça solicitações do POST ao seu servidor.
- Instale o aplicativo Postman no sistema.
- Inicie o aplicativo e insira o URL apropriado
- Verifique se selecionou "POST" na lista suspensa
- Certifique-se de especificar "Autorização" como "Autenticação básica". Especifique o nome de usuário e a senha do Servidor AEM
- Especifique os parâmetros da solicitação na guia do corpo
- Clique no botão Enviar
O pacote contém 4 amostras. Os parágrafos a seguir explicam quando usar o serviço de saída ou o Forms Service, o url do serviço, os parâmetros de entrada que cada serviço espera
Utilização do OutputService para mesclar dados com o modelo xdp
-
Usar o Serviço de saída para mesclar dados com um documento xdp ou pdf para gerar um PDF nivelado
-
POST URL: http://localhost:4502/content/AemFormsSamples/outputservice.html
-
Solicitar Parâmetros -
- xdp_or_pdf_file : o arquivo xdp ou pdf com o qual você deseja mesclar dados
- xmlfile: o arquivo de dados xml que é mesclado com xdp_or_pdf_file
- saveLocation: o local onde salvar o documento renderizado no sistema de arquivos. Por exemplo c:\documents\sample.pdf
Uso da API FormsService
Importar dados
-
Usar FormsService importData para importar dados no arquivo PDF
-
POST URL - http://localhost:4502/content/AemFormsSamples/mergedata.html
-
Solicitar Parâmetros:
- pdffile : o arquivo pdf com o qual você deseja mesclar dados
- xmlfile: o arquivo de dados xml que é mesclado com o arquivo pdf
- saveLocation: o local onde salvar o documento renderizado no sistema de arquivos. Por exemplo,
c:\\outputsample.pdf
.
Exportar dados
-
Usar a API FormsService exportData para exportar dados do Arquivo PDF
-
POST URL - http://localhost:4502/content/AemFormsSamples/exportdata.html
-
Solicitar Parâmetros:
- pdffile : o arquivo pdf do qual você deseja exportar dados
- saveLocation: o local para salvar os dados exportados no sistema de arquivos. Por exemplo c:\documentos\dados_exportados.xml
Renderizar XDP
- Renderizar modelo XDP como pdf estático/dinâmico
- Use a API renderPDFForm do FormsService para renderizar o modelo xdp como PDF
- POST URL - http://localhost:4502/content/AemFormsSamples/renderxdp?xdpName=f1040.xdp
- Parâmetro de solicitação:
- xdpName: Nome do arquivo xdp a ser renderizado como pdf
Você poderia importar essa coleção do carteiro para testar a API