A resposta de Johns me deu alguma esperança de que poderia ser possível enganar a impressora para aceitar outros pdfs. (Spoiler: Não)
Eu escaneei um PDF (good.pdf) para um dispositivo USB e olhei dentro dele. (é capaz de imprimir arquivos em pdf que o scanner produziu)
Depois de algumas brincadeiras, descobri que as impressoras "primeira linha de defesa" simplesmente verificam os metadados em pdf.
Este script adiciona metadados corretos do pdf a um arquivo pdf existente:
#!/usr/bin/env bash
META="[ /Creator (Canon SC1001) /Producer (MG5300 series) /DOCINFO pdfmark"
gs -dSAFER -dBATCH -dNOPAUSE \
-sDEVICE=pdfwrite \
-dCompatibilityLevel=1.3 \
-sOutputFile="$2" "$1" <(echo "$META")
Também converte o pdf para versão para 1.3, já que era a versão de good.pdf
Isso me leva ao menu de impressão, mas infelizmente ele falha lá.
Eu acho que a restrição estava lá por um motivo: D A impressora provavelmente é muito exigente sobre que tipos de pdf ele pode manipular.
Eu investiguei um pouco mais, caso alguém queira saber disso:
$ qpdf --show-pages --with-images good.pdf
page 1: 4 0 R
images:
/Im1: 5 0 R, 1240 x 1754
$ qpdf --show-object=5 good.pdf
Object is stream. Dictionary:
<< /BitsPerComponent 8 /ColorSpace /DeviceRGB /Filter /DCTDecode /Height 11 0 R /Length 7 0 R /Subtype /Image /Type /XObject /Width 10 0 R >>
$ file =(qpdf --show-object=5 good.pdf --raw-stream-data)
/tmp/zshVemxbQ: JPEG image data, Exif standard: [TIFF image data, little-endian, direntries=8, manufacturer=Canon, model=MG5300 series, software=1.01, xresolution=135, yresolution=143, resolutionunit=2], baseline, precision 8, 1240x1754, frames 3
Tentei, então, não fazer o convert
do imagemagick produzir um pdf contendo o mesmo tipo de dados de imagem
Nota: esta é uma Canon Pixma MG5350