Introducció
L’SGDE o Servei de Gestió del Document Electrònic ofereix una sèrie de serveis relacionats amb la gestió de documents electrònics. Aquests serveis els ofereixen les plataformes que integren l’SGDE. Actualment existeixen dues:
- Plataforma Adobe
- STD
Podeu trobar mes informació sobre els serveis i funcionalitats del SGDE aquí.
Propòsit
El propòsit del connector és proporcionar una API que pugui ser utilitzada de forma fàcil pels integradors d’aquest connector per consumir els diferents serveis del SGDE.
Context i Escenaris d’ús
El connector SGDE es troba dins els connectors funcionals de la Generalitat.
A qui va dirigit
Aquest document va dirigit als següents perfils:
- Programador. Per conèixer l’ús del connector.
- Arquitecte. Per conèixer quins són els components i la configuració del connector.
Descripció Detallada
Aquest connector ofereix els següents serveis:
Serveis Plataforma Adobe
- renderitzarFormulari: Fusiona un formulari amb la plantilla pdf.
- renderitzarSignarPDF: Fusiona un formulari amb la plantilla pdf i posteriorment el signa.
- renderitzarFormulariPDFadjunts: Fusiona un formulari amb la plantilla pdf i afegeix els annexos indicats
- renderitzarFormulariPDFaplanatForms: Fusiona un formulari amb la plantilla pdf donant com a resultat un PDF aplanat. Realitzat amb el mòdul Forms de LC.
- renderitzarFormulariPDFAplanat: Fusiona un formulari amb la plantilla pdf donant com a resultat un PDF aplanat. Realitzat amb el mòdul d’Output de LC.
- renderitzarFormulariPDFA: Fusiona un formulari amb la plantilla pdf donant com a resultat un PDF/A, que garanteix la compatibilitat d’aquest document al llarg del temps.
- renderitzarFormulariPDFaplanatSignat: Fusiona un formulari amb la plantilla pdf, després l’aplana i el signa.
- extreureDadesFormulari: Servei per extreure dades d’un formulari.
- extreureDadesXML: Servei que extreu les dades introduïdes en un formulari dinàmic.
- extreureComentaris: Servei que extreu els comentaris d’un document PDF.
- extreureComplexAnnexos: Servei que extreu els annexos d’un document PDF.
- extreureAnnexos: Servei que extreu els annexos d’un document PDF.
- convertirPdfaImatge: Servei per convertir un pdf a imatge.
- convertirPdfaPdfA: Servei per convertir un PDF a PDF/A.
- aplanarPDF: Servei per aplanar un pdf.
- signarPDF: Servei per a signar un pdf pla.
- aplanarSignarPDF: Servei per aplanar i signar un pdf.
Serveis STD
- generarCSV: Servei per la generació d’un Codi Segur a partir d’un arxiu i una clau.
- composarPDFStream: Servei que composa un PDF a partir d’una plantilla i d’un document PDF enviat en Stream en la mateixa petició.
- composarPDFRemot: Servei que composa un PDF a partir d’una plantilla i d’un document PDF previament pujat al filesystem del STD.
- convertirPDF: Servei que converteix un document Ofimàtic (Word, Excel, PowerPoint, Imatges, OpenOffice,…) en PDF.
- convertirPDFCercable: Servei que converteix un document Ofimàtic (Word, Excel, PowerPoint, Imatges, OpenOffice,…) en PDF Cercable.
- convertirComposarPDF: Servei que converteix i posteriorment composa un arxiu ofimàtic.
- convertirComposarPDFCercable: Servei que converteix i posteriorment composa un arxiu ofimàtic cercable.
- ferOCR: Servei que extrau el text inclòs a una imatge i el retorna.
Alta Servei
Per poder utilitzar l’SGDE s’ha d’estar donat d’alta en el servei. Per contactar amb l’Oficina tècnica de SGDE per sol·licitar l’alta als seus serveis:
- Plataforma Adobe: El mail a de contenir la sol·licitud d’alta a l’aplicació d’AutoServei disponible aqui.
- STD: El mail ha de redactar-se tal qual es descriu en el manual d’usuari del servei. Aquest mail ha de contenir una plantilla degudament complimentada que es pot trobar aquí.
- El Centre de Frameworks i Solucions d’Arquitectura respondrà a aquest mail una vegada doni d’alta l’aplicació amb un mail tipus,
- L’alta a qualsevol de les dues plataformes s’han de realitzar primer sobre l’entorn de PRE i posteriorment a l’entorn de PRO.
Arquitectura i Components
Interfícies i Components Genèrics
Es pot trobar el codi font referent a aquest components a la següent url:
Instal.lació i Configuració
Instal.lació
La instal.lació del connector requereix de la utilització de la llibreria ‘canigo.integration.sgde’ i les dependències indicades a l’apartat ‘Introducció-Versions i Dependències’.
Per afegir aquesta dependència s’ha de modificar el pom.xml de l’aplicació per incloure les llibreries del Connector.
<dependency>
<groupId>cat.gencat.ctti</groupId>
<artifactId>canigo.integration.sgde</artifactId>
</dependency>
A la Matriu de Compatibilitats es pot comprovar la versió del mòdul compatible amb la versió de Canigó utilitzada.
IMPORTANT
En el cas de que es vulgui integrar aquest connector en una aplicació que disposi del connector de la PICA, és farà necessari afegir les següents exclusions en aquests últim, per exemple el connector PADRÒ.
<dependency>
<groupId>cat.gencat.ctti</groupId>
<artifactId>canigo.integration.padro.pica</artifactId>
<version>1.3.0</version>
<exclusions>
<exclusion>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2-jaxws</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.woden</groupId>
<artifactId>woden</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.ws.commons.schema</groupId>
<artifactId>XmlSchema</artifactId>
/exclusion>
</exclusions>
</dependency>
El no afegir aquestes exclusions pot provocar que el connector SGDE no funcioni correctament.
Configuració
1.- Per poder configurar el connector SGDE és necessari crear un arxiu anomenat app-integration-sgde.xml situat en src/main/resources/spring/ amb el següent contingut:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.1.xsd">
<!-- BEAN SGDE -->
<bean id="sgdeService" class="cat.gencat.ctti.canigo.arch.integration.sgde.impl.SGDEServiceImpl" init-method="setupService" scope="prototype">
<description>
SGDE implementation:
- formsWSDLUrl: Url de l'wsdl del servei de formularis per les operacions de: renderitzar, extracció de dades, aplanat, ...
- stdWSDLUrl: Url de l'wsdl del servei de Transformació de Documents(STD)
</description>
<property name="formsWSDLUrl" value="${sgde.forms.wsdl.url:https://preproduccio.eformularis.intranet.gencat.cat/ServeisInvocacio/serveis/ServeisInvocacioV2?wsdl}" />
<property name="stdWSDLUrl" value="${sgde.std.wsdl.url:https://preproduccio.std.intranet.gencat.cat/ServeisInvocacioSTD/services/ServeisSTDV2?wsdl}" />
</bean>
</beans>
on les variables sgde.forms.wsdl.url i sgde.std.wsdl.url són recuperades de l’arxiu sgde.properties que s’ha de crear en src/main/resources/config/props/sgde.properties
2.- Configuració dels arxius de properties.
Només es necessita un arxiu de properties a configurar el sgde.properties.
El primer conté només dos paràmetres,
sgde.forms.wsdl.url: Url del WSDL del servei de formularis Adobe.
- PRE: https://preproduccio.eformularis.intranet.gencat.cat/ServeisInvocacio/serveis/ServeisInvocacioV2?wsdl
- PRO: https://eformularis.intranet.gencat.cat/ServeisInvocacio/serveis/ServeisInvocacioV2?wsdl
sgde.std.wsdl.url: Url del WSDL del STD.
- PRE: https://preproduccio.std.intranet.gencat.cat/ServeisInvocacioSTD/services/ServeisSTDV2?wsdl
- PRO: https://std.intranet.gencat.cat/ServeisInvocacioSTD/services/ServeisSTDV2?wsdl
Utilització del Connector
1.- En el bean on es vulgui disposar dels serveis del connector declarar el servei.
@Autowired
private ISGDEService sgdeService;
2.- Escollir un dels serveis del SGDE, per exemple el de CSV.
ResultSTD res = null;
byte[] STD_ARXIU_PDF_TEST1 = null;
try {
STD_ARXIU_PDF_TEST1 = IOUtils.toByteArray(Thread.currentThread().getContextClassLoader().getResourceAsStream("data_sgde/prueba_composar.pdf"));
res = sgdeService.generarCSV("ctti", "cscanigo", STD_ARXIU_PDF_TEST1, "cscanigo");
log.info("[SGDEConnectorService][sgdeGeneracioCSVTest][estat: " + res.getStatus().intValue() + "]");
} catch (Exception e) {
e.printStackTrace();
}
Per més informació sobre els diferents serveis que ofereix el SGDE consultar la documentació disponible aquí.