cat > /workspace/scratch/reopen_check.py <<'PY'
import scribus,os,json,traceback
try:
 scribus.openDoc('/workspace/output/catalogue.sla')
 errors=[]
 for pg in range(1,13):
  scribus.gotoPage(pg)
  for name,typ,idx in scribus.getPageItems():
   if typ==4 and scribus.textOverflows(name):errors.append(name)
 p=scribus.PDFfile();p.file='/workspace/scratch/reopened.pdf';p.pages=list(range(1,13));p.save()
 open('/workspace/scratch/reopen_errors.json','w').write(json.dumps(errors))
except:open('/workspace/scratch/reopen_error.txt','w').write(traceback.format_exc())
os._exit(0)
PY
QT_QPA_PLATFORM=offscreen scribus -g -ns -py /workspace/scratch/reopen_check.py > /workspace/scratch/reopen.log 2>&1
cat /workspace/scratch/reopen_errors.json; cat /workspace/scratch/reopen_error.txt 2>/dev/null || true
mkdir -p /workspace/scratch/proofs
gs -q -dSAFER -dBATCH -dNOPAUSE -dUsePDFX3Profile -sDEVICE=png16m -r100 -sDefaultCMYKProfile=/workspace/input/profiles/ISOcoated_v2_300_bas.icc -sOutputICCProfile=/workspace/input/profiles/sRGB_icc22.icm -sProofProfile=/workspace/input/profiles/ISOcoated_v2_300_bas.icc -dRenderIntent=1 -dBlackPtComp=1 -sOutputFile=/workspace/scratch/proofs/press-%02d.png /workspace/output/catalogue_press.pdf