This script aims to decode PDF content encoded as base64 and transmitted within the service response, presenting it to the user as a PDF that can be viewed or downloaded directly.


Example Response Data:

{"pdf":"<BASE64_ENCODED_DATA>"}
JAVA

To view in your browser:

import groovy.json.JsonSlurper
import java.util.Base64

def slurper = new JsonSlurper()
def parsedJson = slurper.parseText(responseBodyTextFromTargetAPI)

def pdfAsBase64 = parsedJson.data;

responseBodyTextToClient = new String(Base64.decoder.decode(pdfAsBase64), "UTF-8")  responseHeaderMapToClient.put("Content-Type", "application/pdf")
responseHeaderMapToClient.put("Content-Disposition", "inline") 
CODE

Not all web browsers may support this display.



To trigger the browser to download the PDF file:

import groovy.json.JsonSlurper
import java.util.Base64

def slurper = new JsonSlurper()
def parsedJson = slurper.parseText(responseBodyTextFromTargetAPI)

def pdfAsBase64 = parsedJson.data;

responseBodyTextToClient = new String(Base64.decoder.decode(pdfAsBase64), "UTF-8")

responseHeaderMapToClient.put("Content-Type", "application/pdf")
responseHeaderMapToClient.put("Content-Disposition", "attachment") 
CODE

In both processes, it must be verified that the PDF content is displayed correctly.