Añadiendo contraseñas a nuestros ficheros PDF con SAP Integration Suite
En esta entrada emprenderemos dos cosas muy útiles que hacer con SAP Integration Suite. Por un lado como importar una librería JAVA externa y como proteger un fichero PDF.

Aviso importante, este post empieza cuando ya has creado tu iFlow, si todavía no sabes como crear uno primero pásate por este tutorial:
https://developers.sap.com/tutorials/cp-starter-integration-cpi-design-iflow..html
Instalando la libreria
Descargando la librería de encriptación
Lo primero será descargar la librería que añade la contraseña a nuestro PFD, para ello, vamos al sitio web de maven a descargar el fichero «.jar»
https://mvnrepository.com/artifact/com.itextpdf/itextpdf
Seleccionamos la versión más actualizada que exista:

Y descargamos la libreria «.jar»:

Añadiendo la librería al iFlow
Ahora añadiremos la librería a nuestro Iflow, en las opciones generales seleccionaremos «References» y pulsaremos el botón «Add»

Allí añadiremos un «Archive», en la pantalla de selección, el fichero a cargar:

Una vez cargada la librería la podremos ver en la lista de archivos del IFlow:

Encriptando PDFs
Ahora que ya tenemos la librería, añadiremos un paso en groovy en nuestro iFlow para encriptar el fichero de entrada, el groovy tendrá un aspecto como el siguiente:
import com.sap.gateway.ip.core.customdev.util.Message;
import java.util.HashMap;
import com.itextpdf.text.Document
import com.itextpdf.text.Paragraph
import com.itextpdf.text.pdf.PdfWriter
import com.itextpdf.text.pdf.PdfReader
import com.itextpdf.text.pdf.PdfStamper
def Message processData(Message message) {
def inputPayload = message.getBody();
def pass = "1234";
def reader = new PdfReader(inputPayload.getBytes());
def outputStreamProtected = new ByteArrayOutputStream();
def stamper = new PdfStamper(reader, outputStreamProtected);
stamper.setEncryption(pass.getBytes(), null, PdfWriter.ALLOW_PRINTING, PdfWriter.ENCRYPTION_AES_128);
stamper.close();
message.setBody(outputStreamProtected.toByteArray());
return message;
}
He marcado en negrita los puntos importantes, el primero son las librerías que nos permitirán añadir una contraseña al PDF de manera «estándar». La segunda es la contraseña que añadiremos.
Por último añadimos al Iflow el paso para llamar al script groovy:

Probar en postman
Para poder probar el Iflow en postmant es importante que en Body marques la opción «Binary» y selecciones el fichero PDF:

Este es un pequeño tutorial de base para el resto de opciones que puedes añadir a tu Iflow para proteger tus PDF como puede ser generación de contraseñas, parámetros que necesites o pasar el fichero en otros formatos no binarios.
Como siempre dale a la campanita de notificaciones y comparte en redes ayudarme a llegar a más personas.