Programmatically “hello world” default SERVER-side printer in ASP.NET MVC

六月ゝ 毕业季﹏ 提交于 2019-11-29 00:10:58

Print "hello world" server-side in .NET

  1. Share the printer
  2. Create a PrintDocument object
  3. Reference the printer by name
  4. Add a method to provide content
  5. Print

Code

using System.Drawing;
using System.Drawing.Printing;

public void Print()
{
  var doc = new PrintDocument();
  doc.PrinterSettings.PrinterName = "\\\\deployment-machine-name\\share-name";
  doc.PrintPage += new PrintPageEventHandler(ProvideContent);
  doc.Print();
}
public void ProvideContent(object sender, PrintPageEventArgs e)
{
  e.Graphics.DrawString(
    "Hello world",
    new Font("Arial", 12),
    Brushes.Black,
    e.MarginBounds.Left,
    e.MarginBounds.Top);
}

First of all give an option to select a printer. Your whole requirement is already illustrated on Microsoft Support Site.

Have a look here.

A sample from there(In case someday the page is dead):-

private void print_Click(object sender, System.EventArgs e)
{
    string s = "Hello"; // device-dependent string, need a FormFeed?

    // Allow the user to select a printer.
    PrintDialog pd  = new PrintDialog();
    pd.PrinterSettings = new PrinterSettings();
    if( DialogResult.OK == pd.ShowDialog(this) )
    {
        // Send a printer-specific to the printer.
        RawPrinterHelper.SendStringToPrinter(pd.PrinterSettings.PrinterName, s);
    }
}
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!