Imprimindo em papel em rolo

Eu estou usando c # com WinForms. Estou tentando imprimir contas em um rolo de papel. A largura do papel é de 3 pol, mas o comprimento do papel é dinâmico (é um rolo de papel). O comprimento depende de quantos itens existem na lista. Por exemplo. em uma compra, se houver 100 itens vendidos, será um rolo bastante longo, enquanto que para um único item comprado, ele terá um tamanho pequeno.

Quando imprimo o relatório, após o trabalho final, a impressora ejeta a última página mais do que eu preciso. Ejeta papel desde o tamanho A4. Quero imprimir as linhas necessárias e parar de imprimir. Uso um rolo de papel, não A4 ou A3, e uma impressora Epson LQ-300 + II.

Para ser mais específico, a impressão é sempre feita em unidades de tamanho de página. Se eu definir a página como 3in x 8in, sempre acabo com uma impressão com um múltiplo de 8in. Se eu tenho uma nota de 9 polegadas para imprimir, acabo com uma impressão de 16 polegadas, desperdiçando 7 polegadas de papel. Como posso imprimir com a última página apenas pelo tempo necessário?

Aqui está o código:

private void printDoc_PrintPage(Object sender, PrintPageEventArgs e)
        {
            Font printFont = new Font("Courier New", 12);
            int y = 15;
            e.Graphics.DrawString("a Line", printFont, Brushes.Black, 0, y); y = y + 20;
            e.Graphics.DrawString(" Line", printFont, Brushes.Black, 0, y); y = y + 25;
            e.Graphics.DrawString(" Line", printFont, Brushes.Black, 0, y); y = y + 35;
            e.Graphics.DrawString(" Line", printFont, Brushes.Black, 0, y); y = y + 45;
        }

questionAnswers(4)

yourAnswerToTheQuestion