From fc7127b769f3136b2711a2cf45215b3d8ee13581 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rn-Michael=20Miehe?= Date: Sun, 11 May 2025 20:49:17 +0000 Subject: [PATCH] PDF and PDF/A postprocessing --- Makefile | 56 ++++++++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 46 insertions(+), 10 deletions(-) diff --git a/Makefile b/Makefile index 359cdeb..c5314ba 100644 --- a/Makefile +++ b/Makefile @@ -36,25 +36,61 @@ texInt: $(texFilesInt) # Recipes # ########### -compile = pandoc \ - $(1) \ +compile_md = pandoc \ + $(2) \ --standalone \ --from markdown \ - --to latex \ + --to $(1) \ --template lenaisten \ --variable colorlinks:true \ --variable csquotes:true \ --variable lang:de-DE \ - --output $(2) + --output $(3) + +GSFLAGS := \ + -sDEVICE=pdfwrite \ + -dNOOUTERSAVE \ + -dNOPAUSE \ + -dQUIET \ + -dBATCH + +postprocess_pdf = gs \ + $(GSFLAGS) \ + -sPAPERSIZE=a4 \ + -dFIXEDMEDIA \ + -dPDFFitPage \ + -dCompatibilityLevel=1.7 \ + -dPDFSETTINGS=/ebook \ + -sOutputFile=$(2) \ + $(1) \ + 2>/dev/null + +convert_pdfa = /opt/pdfa/bin/gs-919-linux_x86_64 \ + $(GSFLAGS) \ + -dPDFA=2 \ + -sProcessColorModel=DeviceRGB \ + -dPDFACompatibilityPolicy=1 \ + -sOutputFile=$(2) \ + /opt/pdfa/PDFA_def.ps \ + $(1) \ + 2>/dev/null + +md2pdf = $(call compile_md,pdf,$(1),-) | $(call postprocess_pdf,-,$(2)) + +md2pdfa = $(call md2pdf,$(1),-) | $(call convert_pdfa,-,$(2)) + +# pdf %$(suffixPub).pdf: %.md lenaisten-defs.sty - python3 ./redact.py $< | $(call compile,-,$@) - -%$(suffixPub).tex: %.md lenaisten-defs.sty - python3 ./redact.py $< | $(call compile,-,$@) + python3 ./redact.py $< | $(call md2pdfa,-,$@) %$(suffixInt).pdf: %.md lenaisten-defs.sty - python3 ./redact.py -i $< | $(call compile,-,$@) + python3 ./redact.py -i $< | $(call md2pdfa,-,$@) + +# tex + +%$(suffixPub).tex: %.md lenaisten-defs.sty + python3 ./redact.py $< | $(call compile_md,latex,-,$@) %$(suffixInt).tex: %.md lenaisten-defs.sty - python3 ./redact.py -i $< | $(call compile,-,$@) + python3 ./redact.py -i $< | $(call compile_md,latex,-,$@)