Sheethal_Lloyd Ответов: 2

Печать всех страниц, связанных с различными ссылками с веб-страницы, в один клик.#


Веб-страница содержит различные ссылки, когда пользователь нажимает кнопку "Распечатать все", он должен распечатать все страницы, связанные с этими ссылками.

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

Я попробовал это - это работает локально ,но когда я перешел на тестовый сервер ,он не работает
PrintHelpPage (); Работа

частная пустотная печать()
{
// Создайте экземпляр WebBrowser.
WebBrowser webBrowserForPrinting = новый WebBrowser();

// Добавьте обработчик событий, который печатает документ после его загрузки.
webBrowserForPrinting.Документ завершен +=
новый WebBrowserDocumentCompletedEventhandler(PrintDocument);

// Установите свойство Url для загрузки документа.
webBrowserForPrinting.Url = новый Uri(@"http://www.google.com"); / / это то, что вы хотите изменить
}

частная объект printdocument недействительным(объект отправителя,
WebBrowserDocumentCompletedEventargs е)
{
// Распечатайте документ теперь, когда он полностью загружен.
((WebBrowser)отправитель).Печать();

// Утилизируйте веб-браузер теперь, когда задача завершена.
((WebBrowser)отправитель).Располагать();
}

Ценю всю вашу помощь!!

Рея

[no name]

Возможно, к вашему компьютеру веб-сервера не подключен принтер?

2 Ответов

Рейтинг:
0

manu_dhobale

Вы можете просто конвертировать веб-страницы в PDF и печатать их позже
Используйте пакет nuget NReco.PdfGenerator

string url = "https://www.google.co.in";
WebClient myWebClient = new WebClient();
byte[] myDataBuffer = myWebClient.DownloadData(url);
UTF8Encoding oUTF8 = new UTF8Encoding();
var resultString = oUTF8.GetString(myDataBuffer);
var htmlToPdf = new NReco.PdfGenerator.HtmlToPdfConverter();
var pdfBytes = htmlToPdf.GeneratePdf(resultString);
System.IO.File.WriteAllBytes(@"d:\mytest.pdf", pdfBytes);


Рейтинг:
0

Sheethal_Lloyd

Я попытался распечатать PDF-файл из папки ..Я получаю эту ошибку на сервере, отлично работает локально

System.ComponentModel.Win32Exception: No application is associated with the specified file for this operation



protected void Print()
       {
           var filenames = Directory.EnumerateFiles(@"C:\inetpub\Shared\Repository\RateQuote\", "*.*", SearchOption.AllDirectories);
                           //.Where(s => s.EndsWith(".gif") || s.EndsWith(".tiff") || s.EndsWith(".PDF"));


           foreach (var filepath in filenames)
           {

               ProcessStartInfo info = new ProcessStartInfo();
               info.Verb = "print";
               info.FileName = filepath;//@"c:\output.pdf";
               info.CreateNoWindow = true;
               info.WindowStyle = ProcessWindowStyle.Hidden;

               Process p = new Process();
               p.StartInfo = info;
               p.Start();

               p.WaitForInputIdle();
               System.Threading.Thread.Sleep(3000);
               if (false == p.CloseMainWindow())
                   p.Kill();
           }


       }