Bu script, servis yanıtı (response) içerisinde base64 olarak encode edilerek iletilen PDF içeriğini çözümleyerek (decode) kullanıcıya doğrudan görüntülenebilir veya indirilebilir şekilde PDF olarak sunmayı amaçlamaktadır.

Örnek response verisi:

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

Tarayıcıda görüntülemek için:

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

Her web tarayıcısı bu gösterimi sağlamayabilir.



Tarayıcının pdf dosyası indirme işlemini tetiklemesi için:

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
Her iki işlemde de pdf içeriğinin doğru şekilde yansıdığı kontrol edilmelidir.