hina_abbas123 Ответов: 2

Печать документа из приложения C#


эй. надеюсь, все будет хорошо.
на самом деле я хочу сделать вот что: я хочу выбрать файл с помощью средства диалога файлов, а затем распечатать его с помощью функции printdocument.print ().
теперь print() не принимает никаких параметров. как я могу сказать принтеру, на какой документ печатать??
и я хочу знать, что на самом деле происходит за методом print ().
мы не даем никакого пути к файлу, а затем то, что будет напечатано после нажатия кнопки OK.
plz помогите мне получить функциональность print(file_path+name).
вот мои усилия !!!
using System;
using System.Drawing.Printing;
using System.IO;
using System.Windows.Forms;


namespace InstalledAndDefaultPrinters
{
class Program
{


static void Main(string[] args)
{
   string filename="";
   foreach (string printer in PrinterSettings.InstalledPrinters)
       Console.WriteLine(printer);
   var printerSettings = new PrinterSettings();
   Console.WriteLine(string.Format("The default printer is: {0}", printerSettings.PrinterName));

   Console.WriteLine(printerSettings.PrintFileName);
   OpenFileDialog fdlg = new OpenFileDialog();
   fdlg.Title = "Open File Dialog";
   fdlg.InitialDirectory = @"C:\ ";
   fdlg.RestoreDirectory = true;
   fdlg.ShowDialog();
   Console.WriteLine(fdlg.Title);
   if (fdlg.ShowDialog() == DialogResult.OK)
   {
       filename = String.Copy(fdlg.FileName);
   }
   Console.WriteLine(filename);

   PrintDialog printdg = new PrintDialog();
   PrintDocument pd_doc = new PrintDocument();
   printdg.ShowDialog();
   if (printdg.ShowDialog() == DialogResult.OK)
   pd_doc.Print();
   }
   }
   {

2 Ответов

Рейтинг:
1

Fredrik Bornander

Попробуйте установить свой документ в качестве Document недвижимость на вашем PrintDialog пример.

PrintDialog printdg = new PrintDialog();
PrintDocument pd_doc = new PrintDocument();
printdg.Document = pd_doc;
...


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

Надеюсь, это поможет,
Фредрик


Рейтинг:
1

Ranjan.D

Пожалуйста, ознакомьтесь с приведенной ниже статьей MSDN.. В дополнение к существующему коду для печати файла вам необходимо иметь экземпляр StreamReader.

http://msdn.microsoft.com/en-us/library/system.drawing.printing.printdocument.print.aspx[^]