Здравствуйте, сообщество stackoverflow, я разрабатываю простое приложение формы Windows, в котором прослушиватель в определенном каталоге прослушивает текстовый файл, если прослушиватель обнаруживает новый файл, он автоматически отправляет текстовый файл на локальный принтер по умолчанию, но также отображает диалоговое окно «Сохранить вывод на печать как», и мне нужно, чтобы процесс печати был мгновенным, без необходимости взаимодействия с каким-либо диалоговым окном.
Для этого я использую текущее пространство имен «используя System.Drawing.Printing; используя System.IO;» и я видел определение метода Print(), но похоже, что код защищен, поэтому у меня нет доступа для удаления диалогового окна «сохранить вывод на печать как». Любые идеи?
Вот мой код...
Наблюдатель за файлами:
private void fileSystemWatcher1_Created(object sender, FileSystemEventArgs e)
{
try
{
MyPrintMethod(e.FullPath);
}
catch (IOException)
{
}
}
Мой метод печати:
private void MyPrintMethod(string path)
{
string s = File.ReadAllText(path);
printDocument1.PrintController = new StandardPrintController();
printDocument1.PrintPage += delegate (object sender1, PrintPageEventArgs e1)
{
e1.Graphics.DrawString(s, new Font("Times New Roman", 12), new SolidBrush(Color.Black), new RectangleF(0, 0, printDocument1.DefaultPageSettings.PrintableArea.Width, printDocument1.DefaultPageSettings.PrintableArea.Height));
};
try
{
printDocument1.Print();
}
catch (Exception ex)
{
throw new Exception("Exception Occured While Printing", ex);
}
}
printDocument1
? Я просто скопировал и вставил ваш код, но мне пришлось добавитьvar printDocument1 = new PrintDocument();
для его компиляции, и он отлично распечатался на моем принтере по умолчанию здесь, на работе, без диалогов. - person Rufus L   schedule 27.04.2017