Created
February 11, 2022 17:07
-
-
Save chumpa/6d37953ff7626f27de70880417169b8f to your computer and use it in GitHub Desktop.
itext7 pdf merger
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import com.sap.gateway.ip.core.customdev.util.Message as CpiMsg | |
import com.itextpdf.kernel.pdf.PdfDocument | |
import com.itextpdf.kernel.pdf.PdfReader | |
import com.itextpdf.kernel.pdf.PdfWriter | |
import com.itextpdf.kernel.utils.PdfMerger | |
import java.util.zip.ZipInputStream | |
CpiMsg addCover(CpiMsg msg) { | |
ZipInputStream zis = new ZipInputStream(getClass().getResourceAsStream("/lib/hero.jar")) // zipped new cover | |
zis.nextEntry | |
PdfDocument cover = new PdfDocument(new PdfReader(zis)) | |
ByteArrayOutputStream dest = new ByteArrayOutputStream() | |
PdfDocument pdfDoc = new PdfDocument(new PdfWriter(dest)) | |
PdfDocument input = new PdfDocument(new PdfReader(msg.getBody(InputStream))) | |
PdfMerger merger = new PdfMerger(pdfDoc) | |
merger.merge(cover, 1, 1) | |
merger.merge(input, 1, input.getNumberOfPages()) | |
cover.close() | |
input.close() | |
merger.close() | |
dest.close() | |
msg.headers."content-type" = "application/pdf" | |
msg.setBody(dest.toByteArray()) | |
return msg | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment