From cb209aad2b8c634287b64bc7535e9c2501342395 Mon Sep 17 00:00:00 2001 From: Jonathan Hodgson Date: Tue, 16 Nov 2021 10:48:18 +0000 Subject: [PATCH] Adds script for generating pdf containing js --- bin/.bin/payload-generation/js-in-pdf | 42 +++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100755 bin/.bin/payload-generation/js-in-pdf diff --git a/bin/.bin/payload-generation/js-in-pdf b/bin/.bin/payload-generation/js-in-pdf new file mode 100755 index 00000000..8f963494 --- /dev/null +++ b/bin/.bin/payload-generation/js-in-pdf @@ -0,0 +1,42 @@ +#!/usr/bin/env bash + +# Requires pdflatex +# May need to install texlive-acrotex - depends on your tex distrobution + +if [ "$1" = "-h" ]; then + echo 'js-in-pdf []' + exit 0 +fi + +pdffile="$1" +jsfile="${2}" + +if [ -n "$jsfile" ]; then + js="$(cat "$jsfile")" +else + js='app.alert("The date is " + Date());' +fi + +tempdir="$(mktemp -d)" + +trap "rm -rf $tempdir" EXIT + +cp "$pdffile" "$tempdir" + +echo "\documentclass{article} +\usepackage[pdftex]{insdljs} +\usepackage{pdfpages} +\usepackage{blindtext} + + +\OpenAction{\JS{% +$js +}} + +\begin{document} +\includepdf[pages=-]{$pdffile} +\end{document}" | tee "$tempdir/payload.tex" + +pdflatex -output-directory="$tempdir" "$tempdir/payload.tex" + +cp "$tempdir/payload.pdf" "${pdffile%.*}-payload.pdf"