VB.NET PrintDialog Печать в файл - PullRequest
1 голос
/ 13 марта 2012

Я использую .NET (VB) Graphics для печати / предварительного просмотра отчетов в предопределенном формате (например, налоговые формы), который работает просто отлично.

Я также хотел бы иметь возможность собирать один или несколько различных отчетов и сохранять их в файл для последующего преобразования в PDF или использовать драйвер печати XPS для их печати. ​​

Когда я устанавливаю флажок «печать в файл» (для обычного лазерного принтера или драйвера печати XPS) и нажимаю «Печать», я не получаю диалоговое окно «Открыть файл», как следует из этой статьи ( http://www.functionx.com/vcnet/controls/print.htm). Кажется, что операция идет нормально, но я не знаю, где найти файл, если он действительно создан.

Чего мне не хватает? Кто-нибудь может предложить альтернативный метод накопления графических отчетов и печати или печати в файл?

TIA на ваше время.

Ответы [ 2 ]

1 голос
/ 13 марта 2012

Действительно ли диалоговое окно печати связано с экземпляром PrintDocument?Код вроде этого работает хорошо:

    private void button1_Click(object sender, EventArgs e) {
        printDocument1.PrinterSettings.PrintToFile = true;
        printDocument1.PrinterSettings.PrintFileName = @"c:\temp\test.xps";
        printDocument1.Print();
    }
0 голосов
/ 13 марта 2012

Почему бы не использовать PDF-принтер? В сети вы найдете множество бесплатных решений.
Мне больше нравится BullZip , но есть и другие варианты. Если вы ищете такое решение, помните о тупиках (таких как рекламная панель инструментов или странные условия лицензирования).
Однако этот сценарий имеет определенные преимущества, например, вы можете определить папку в качестве базы документов и каждый раз, когда вы печатаете, ваш принтер PDF запоминает, где создать документ PDF.

...