JanardhanSharma Ответов: 0

Как распечатать PDF файл, который находится в исходном расположении приложения в ASP.NET


How to Print PDF that is located in the Application Source Location in ASP.NET either by using client side coding or code behind coding


Что я уже пробовал:

protected void PrintPDF(string path)
   {
       try
       {
           using (Process printjob = new Process())
           {

               printjob.StartInfo.FileName = path;

               printjob.StartInfo.Verb = "Print";

               printjob.StartInfo.CreateNoWindow = true;

               printjob.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;

               PrinterSettings setting = new PrinterSettings();

               setting.DefaultPageSettings.Landscape = true;

               printjob.Start();
           }
       }
       catch (Exception ex)
       {
           MessageBox.Show(ex.Message);
       }
   }

F-ES Sitecore

Хранится ли файл на клиенте или на сервере? Также код вы вставили не будет работать с asp.net, что код приложения WinForms. Кроме того, если ваше намерение состоит в том, чтобы печатать автоматически с веб-сайта, то вы не можете этого сделать. Загрузите файл клиенту (если он находится на сервере), и они просто должны будут распечатать его сами.

JanardhanSharma

но это работает для asp.net и еще. по умолчанию он позволяет открывать pdf-файл в adobe reader, но через некоторое время он также открывается в OneNote.. как только он отображается в OneNote, pdf-файл закрывается.. все это происходит в считанные секунды. я не понимаю этого ненормального поведения.

Richard Deeming

Если вы запускаете код в Visual Studio, он может появиться но это только потому, что сервер и клиент в данном конкретном случае являются одним и тем же компьютером.

Как только вы развернетесь на реальном сервере, код перестанет работать. То MessageBox.Show будет либо выбрасывать исключение, либо выводить сообщение на сервер и зависать в ожидании, пока кто-то нажмет на кнопку.

И даже если бы вы могли заставить серверный код печатать, что потребовало бы изменения разрешений и редактирования реестра, выходные данные будут поступать с принтера сервера, а не с принтера клиента.

0 Ответов