From c70ac040e8b56090406cb580843ea4750613b6c4 Mon Sep 17 00:00:00 2001 From: "mb@ts" Date: Thu, 9 Jun 2022 10:08:24 +0200 Subject: [PATCH] adding PDF and image convertion tools --- command-line/tools/README.md | 74 +++++++++++ command-line/tools/apple_to_jNP_neutrals.icc | Bin 0 -> 44016 bytes command-line/tools/apple_to_jNP_photo.icc | Bin 0 -> 44016 bytes command-line/tools/color_convert.sh | 122 ++++++++++++++++++ command-line/tools/control.txt | 3 + command-line/tools/convert-to-PDFX-3-2002.sh | 15 +++ command-line/tools/make-images-bw.sh | 10 ++ command-line/tools/rgb2cmyk.sh | 30 +++++ command-line/tools/texput.log | 0 .../tools/xelatex-PDFX-3-2002.template.tex | 68 ++++++++++ 10 files changed, 322 insertions(+) create mode 100644 command-line/tools/README.md create mode 100644 command-line/tools/apple_to_jNP_neutrals.icc create mode 100644 command-line/tools/apple_to_jNP_photo.icc create mode 100755 command-line/tools/color_convert.sh create mode 100644 command-line/tools/control.txt create mode 100755 command-line/tools/convert-to-PDFX-3-2002.sh create mode 100755 command-line/tools/make-images-bw.sh create mode 100755 command-line/tools/rgb2cmyk.sh create mode 100644 command-line/tools/texput.log create mode 100644 command-line/tools/xelatex-PDFX-3-2002.template.tex diff --git a/command-line/tools/README.md b/command-line/tools/README.md new file mode 100644 index 0000000..dce583b --- /dev/null +++ b/command-line/tools/README.md @@ -0,0 +1,74 @@ +# Tools used for Volumetric Regimes + +Before you can run these scripts, they will need to be made executable. + + chmod +x *.sh + +## OSP-tools.pdfutils: `color_convert.sh` + +**Convert PDF RGB to only-Black** + +This will convert an RGB PDF (even if it appears only black) to `input-K.pdf`. + + ./color_convert.sh black input.pdf input-K.pdf + +Link: + +## OSP-tools.pdfutils: `rgb2cmyk.sh` + +**Convert PDF from RGB to CMYK** + +Dependencies: + +- `gs` (Ghostscript) +- `pdftops` +- `control.txt` +- `apple_to_jNP_photo.icc` +- `apple_to_jNP_neutral.icc` + +This will convert a PDF to `input-cmyk.pdf`. + +Usage: + + ./rgb2cmyk.sh input.pdf + +Link: + +## Custom VR tools: `make-images-bw.sh` + +Dependencies: + +- `imagemagick` + +This will create a copy of an image folder, with all images converted to BW. + +Usage: + + ./make-images-bw.sh ./images-folder/ + +## Custom VR tools: `convert-to-PDFX-3-2002.sh` + +Dependencies: + +- `texlive-xetex` (xelatex) + +This will convert a PDF into the PDFX/3:2002 format + edit the PDF metadata. + +Edit PDF metadata: + + Open the xelatex template (`xelatex-PDFX-3-2002.template.tex`) and edit the metadata on line 7-12. + +Usage: + + convert-to-PDFX-3-2002.sh input.pdf output.pdf + +## Other useful tools + +- Check metadata of PDF: `pdfinfo filename.pdf` +- Check color space of PDF: `pdfimages -list filename.pdf` + + + + + + diff --git a/command-line/tools/apple_to_jNP_neutrals.icc b/command-line/tools/apple_to_jNP_neutrals.icc new file mode 100644 index 0000000000000000000000000000000000000000..db0ddf18b5f9c9cbe45dce8d552fc1a5883dbab4 GIT binary patch literal 44016 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�&f!STxyjB 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 literal 0 HcmV?d00001 diff --git a/command-line/tools/color_convert.sh b/command-line/tools/color_convert.sh new file mode 100755 index 0000000..530c0a6 --- /dev/null +++ b/command-line/tools/color_convert.sh @@ -0,0 +1,122 @@ +#!/bin/bash +# +# USAGE: +# ./color_convert.sh colormodelayer1,colormodelayer2 input_layer1.pdf,input_layer2.pdf output.pdf +# spot colour colormode should look like "spot-COLOR NAME-0 0.64 0.67 0.02" +# where COLOR NAME is the name of the colour and 0 0.64 0.67 0.02 are cmyk values from 0 to 1 + + + +DEBUG=1 +DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd ) + +function graytospot { + [ $DEBUG -eq 1 ] && echo "converting : $1 to $2 \n" + + #################################################################### + #part1: let's put our custom color reference in gray_to_spot.ps + IFS='-' read -a args <<< "$2" + IFS=' ' read -a color <<< "${args[2]}" + unset IFS + #args[1] = color name, args[2] = cmyk equivalent in 1 line + #color[0] = C, color[1] = M, color[2] = Y, color[3] = K + spotcolor="\/spotcolor [\/Separation (${args[1]}) \/DeviceCMYK{dup ${color[0]} mul exch dup ${color[1]} mul exch dup ${color[2]} mul exch ${color[3]} mul}] def" + [ $DEBUG -eq 1 ] && echo "spotcolor : $spotcolor \n" + sed -i "s/^\/spotcolor.*$/$spotcolor/g" $DIR/gray_to_spot.ps + #endpart1 + + ###################################################################### + #part2: convert to ps file using pdftops + pdftops "$1" + psfile="${1/.pdf/.ps}" + + ###################################################################### + #part3: modify bitmap decode from [0 1] to [1 0] in generated ps + sed -i -e 's/Decode \[0 1\]/Decode [1 0]/g' "$psfile" + + ###################################################################### + #part4: convert back to pdf using gray_to_spot.ps + gs -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile="$1" $DIR/gray_to_spot.ps "$psfile" + + ###################################################################### + #part5: remove ps file + [ $DEBUG -eq 0 ] && rm "$psfile" + +} + + + + +IFS=',' read -a layers <<< "$1" +IFS=',' read -a input_files <<< "$2" +unset IFS + +if [ $DEBUG -eq 1 ]; then echo "layers : \n"; printf '%s\n' "${layers[@]}"; fi +if [ $DEBUG -eq 1 ]; then echo "files : \n"; printf '%s\n' "${input_files[@]}"; fi + + +#loop on files and convert them according to layers colormodes +for index in "${!layers[@]}" +do + echo "${input_files[index]} ${layers[index]}" + + if [ "${layers[index]}" = "black" ] || [[ "${layers[index]}" == spot* ]]; then + gs \ + -dNOPAUSE \ + -dBATCH \ + -sDEVICE=pdfwrite \ + -sProcessColorModel=DeviceGray \ + -sColorConversionStrategy=Gray \ + -sDefaultCMYKProfile=ps_cmyk.icc \ + -dOverrideICC \ + -sOutputFile="${input_files[index]/.pdf/-tmp.pdf}" "${input_files[index]}" + if [[ "${layers[index]}" == spot* ]]; then + graytospot "${input_files[index]/.pdf/-tmp.pdf}" "${layers[index]}" + fi + elif [ "${layers[index]}" = "cmyk" ]; then + gs \ + -dNOPAUSE \ + -dBATCH \ + -sDEVICE=pdfwrite \ + -dProcessColorModel=/DeviceCMYK \ + -sColorConversionStrategy=CMYK \ + -sDefaultCMYKProfile=ps_cmyk.icc \ + -dOverrideICC \ + -sOutputFile="${input_files[index]/.pdf/-tmp.pdf}" "${input_files[index]}" + fi + + if [ $DEBUG -eq 0 ]; then + rm "${input_files[index]}" + fi + + + +done + +####IF SINGLE LAYER +if [ ${#layers[@]} = 1 ]; then + mv "${input_files[0]/.pdf/-tmp.pdf}" "$3" + exit +fi + + + +####ELSE OVERLAY +inputFile="${input_files[0]/.pdf/-tmp.pdf}" +for(( i=1; i < ${#layers[@]}; i++ )) +do + pdftk "$inputFile" multistamp "${input_files[i]/.pdf/-tmp.pdf}" output "${3/.pdf/$i.pdf}" + if [ $DEBUG -eq 0 ]; then + rm "$inputFile" + rm "${input_files[i]/.pdf/-tmp.pdf}" + fi + + + inputFile="${3/.pdf/$i.pdf}" + +done +lastFileN=$(expr ${#layers[@]} - 1) + +mv "${3/.pdf/$lastFileN.pdf}" "$3" +echo "done" +exit diff --git a/command-line/tools/control.txt b/command-line/tools/control.txt new file mode 100644 index 0000000..bca569a --- /dev/null +++ b/command-line/tools/control.txt @@ -0,0 +1,3 @@ +Image_RGB apple_to_jNP_photo.icc 0 1 0 +Graphic_RGB apple_to_jNP_neutrals.icc 0 1 0 +Text_RGB apple_to_jNP_neutrals.icc 0 1 0 diff --git a/command-line/tools/convert-to-PDFX-3-2002.sh b/command-line/tools/convert-to-PDFX-3-2002.sh new file mode 100755 index 0000000..80cd577 --- /dev/null +++ b/command-line/tools/convert-to-PDFX-3-2002.sh @@ -0,0 +1,15 @@ +# Read first argument from command line: input folder name +INPUT_PDF=$1 +OUTPUT_PDF=$2 + +# Make a tmp copy of the tex template with the input PDF filename +sed "s/XXX/$INPUT_PDF/g" xelatex-PDFX-3-2002.template.tex > xelatex-PDFX-3-2002.tmp.tex + +# Run xelatex to convert the PDF to PDFX/3:2002 +xelatex xelatex-PDFX-3-2002.tmp.tex + +# Rename the output PDF +mv xelatex-PDFX-3-2002.tmp.pdf $OUTPUT_PDF + +# Remove the tmp tex files +rm xelatex-PDFX-3-2002.tmp.* diff --git a/command-line/tools/make-images-bw.sh b/command-line/tools/make-images-bw.sh new file mode 100755 index 0000000..6fb9c47 --- /dev/null +++ b/command-line/tools/make-images-bw.sh @@ -0,0 +1,10 @@ +# Read first argument from command line: input folder name +INPUT_DIR=$1 +OUTPUT_DIR=$INPUT_DIR-bw + +# Only make an output folder if it does not exist yet +mkdir -p $OUTPUT_DIR + +for IMG in $(ls $INPUT_DIR); do +echo "$INPUT_DIR/$IMG ---> $OUTPUT_DIR/$IMG" && convert $INPUT_DIR/$IMG -colorspace Gray $OUTPUT_DIR/$IMG; +done diff --git a/command-line/tools/rgb2cmyk.sh b/command-line/tools/rgb2cmyk.sh new file mode 100755 index 0000000..5fa9110 --- /dev/null +++ b/command-line/tools/rgb2cmyk.sh @@ -0,0 +1,30 @@ +#! /bin/bash + +# CONVERTS RGB PDF TO CMYK PDF PRESERVING TRUE BLACK FOR VECTORS +# OVERPRINT FEATURE IS AVAILABLE WITH AN OPTION + +# USAGE: +# ./rgb2cmyk.sh input.pdf +# ./rgb2cmyk.sh input.pdf overprint + +# OUTPUT: +# input-cmyk.pdf +# input-cmyk-op.pdf (in case of overprint) + +bn=$(basename $1 ".pdf") +op=${2:-knockout} + +gs -q -sDEVICE=pdfwrite -o ${bn}-CMYK.pdf -sColorConversionStrategy=CMYK -sSourceObjectICC=control.txt $1 + +if [ $op == overprint ] + then + pdftops -level2sep ${bn}-CMYK.pdf + sed -e "s/false \(op\)/true \1/gI" ${bn}-CMYK.ps > ${bn}-CMYK-op.ps + #gs -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=${bn}-CMYK-op.pdf ./forceblack.ps ${bn}-CMYK-op.ps + gs -q -sDEVICE=pdfwrite -o ${bn}-CMYK-op.pdf -sColorConversionStrategy=CMYK -sSourceObjectICC=control.txt ${bn}-CMYK-op.ps + rm ${bn}-CMYK.pdf + rm ${bn}-CMYK.ps +fi + + + diff --git a/command-line/tools/texput.log b/command-line/tools/texput.log new file mode 100644 index 0000000..e69de29 diff --git a/command-line/tools/xelatex-PDFX-3-2002.template.tex b/command-line/tools/xelatex-PDFX-3-2002.template.tex new file mode 100644 index 0000000..337b35a --- /dev/null +++ b/command-line/tools/xelatex-PDFX-3-2002.template.tex @@ -0,0 +1,68 @@ +% !TeX program = xelatex +% Command to run this tex file: xelatex xelatex-make-pdfx-3-2002.tex +\documentclass{book} + +\special { pdf:docinfo << /Title (Volumetric Regimes) /Author (Possible Bodies)>> } +\usepackage[unicode, + pdfauthor={Possible Bodies}, + pdftitle={Volumetric Regimes}, + pdfdisplaydoctitle, + pdfsubject={Material cultures of quantified presence}, + pdfkeywords={}, + pdfproducer={Paged.js, Chromium, pdftk, LaTeX}, + pdfcreator={xelatex}]{hyperref} + +\usepackage{pdfpages} + +% From: https://tex.stackexchange.com/questions/255480/producing-pdf-x-compliant-document-with-xelatex/275914#275914 + +%%%%%%%%% PDF-X stuff, IF USING xelatex %%%%%%%%% +%(mm size * 72)/25.4 = bp size +\usepackage{atbegshi} +\AtBeginShipout{% %A hook that is executed for every page (after first one) + \special{pdf: put @thispage + << + /TrimBox [0 0 648 432] %put here other numbers = size of page in bp + >> + } +} +\special{pdf: put @thispage + << + /TrimBox [0 0 648 432] %put here other numbers = size of page in bp + >> +} +\special{pdf:docinfo + << + /GTS_PDFXVersion (PDF/X-3:2002) + /GTS_PDFXConformance (PDF/X-3:2002) + >> +} + +\special{pdf:put @catalog +<< + /PageMode /UseNone + /OutputIntents [ + << + /Info (none) + /Type /OutputIntent + /S /GTS_PDFX + /OutputConditionIdentifier (Custom) + /RegistryName (http://www.color.org/) + >> + ] +>> +} + +\usepackage{datetime} % for \pdfdate command +\usepackage{hyperref} % for \hypersetup +\hypersetup{ + pdftitle={DocTitle},% PDF/X document should have a title + pdfinfo={% Setting some more PDF/X stuff for xelatex + ModDate={D:\pdfdate},% PDF/X document should have a modification date + Trapped={False},% PDF/X document should have Trapped tag set + }, +} + +\begin{document} +\includepdf[pages=-,fitpaper=true]{XXX} +\end{document}