Muito bom o cuidado de calcular cada linha a partir do índice e arredondar só na saída.
Sobre a etapa da impressão, dá para o próprio PDF ajudar: no catálogo do documento, /ViewerPreferences << /PrintScaling /None >> (existe desde o PDF 1.6) pede ao leitor que abra o diálogo já em "Tamanho real". O Acrobat respeita; outros visualizadores podem ignorar, então o aviso de imprimir em 100% continua necessário, mas diminui quem imprime encolhido sem perceber. Como você já monta o PDF à mão, é só um item a mais no objeto Catalog:
<< /Type /Catalog /Pages 2 0 R /ViewerPreferences << /PrintScaling /None >> >>