Принтер не может распечатать, когда миллионы точек данных отправлены в PrintDocument

В настоящее время я пытаюсь напечатать график данных, созданный с использованием C#/.NET и GDI+, который содержит миллионы точек данных. Когда документ поступает на принтер, принтер сообщает, что он успешно распечатал документ и что он напечатал 0 страниц. Документ никогда не печатается. Вот часть моего кода:

    private void btnPrint_Click(object sender, EventArgs e)
    {
        if (_config == null)
        {
            lblStatus.Text = "Error, config is null";
            return;
        }
        _pd = new PrintDocument();
        //PaperSize paperSize = new PaperSize("CustomTest", 1000, 100);
        //_pd.DefaultPageSettings.PaperSize = paperSize;
        _pd.DefaultPageSettings.Margins = new Margins(0, 0, 0, 0);
        // Add event handler
        _pd.PrintPage += new PrintPageEventHandler(PrintPage);
        _pd.BeginPrint += new PrintEventHandler(BeginPrinting);
        // Construct print dialog
        PrintDialog pDialog = new PrintDialog();
        pDialog.AllowSomePages = true;
        pDialog.ShowHelp = true;
        pDialog.Document = _pd;
        // Ask the user for input
        DialogResult result = pDialog.ShowDialog();
        // Print if user desires
        if (result == DialogResult.OK)
        {
            _pd.Print();
        }
    }

У кого-нибудь есть предложения? ТИА.

1 ответ

Решение

Оказалось, что корпоративный спулер печати мешает. Решение состояло в том, чтобы обойти корпоративную систему печати и печатать непосредственно на принтер, добавляя принтер по IP-адресу. Это был драйвер PCL6, который не работал.

Другие вопросы по тегам