问一个关于简单打印的问题 C# 2003 windows程序问题现在需要打印一些格式文本信息。要求:在指定的纸张,指定的像素位置处打印汉字,可以指定汉字的大小。没有表格或者图片。本人对于打印是个门外汉,期望得到大家的帮助。最好给出代码例子。谢谢。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 /// <summary> /// 打印文档类实例 /// </summary> private PrintDocument GridPrintDocument; /// <summary> /// 预览类实例 /// </summary> private PrintPreviewDialog PrintPriview; /// <summary> /// 打印设置 /// </summary> protected DataPrintSetup dataPrintSetup = new DataPrintSetup(); /// <summary> /// 数据表中已打印的行数 /// </summary> protected int tablerowno; // /// <summary> /// 第一页的行数 /// </summary> protected int rowCountOfFirstPage; // /// <summary> /// 其它页的行数 /// </summary> protected int rowCountOfOtherPage; // /// <summary> /// 打印的总页数 /// </summary> private int pagecount; // /// <summary> /// 打印的pageno.; /// </summary> protected int printpageno; // /// <summary> /// 有tablestyle时各列的宽 /// </summary> private ColumnAttrCollection alColumns = new ColumnAttrCollection(); // /// <summary> /// 纸张横向标志 /// </summary> public bool LandScape { get { return this.dataPrintSetup.LandScape; } set { this.dataPrintSetup.LandScape = value; } } /// <summary> /// 页宽 /// </summary> public int PageWidth // { get { return this.dataPrintSetup.PageWidth; } set { this.dataPrintSetup.PageWidth = value; } } /// <summary> /// 页高 /// </summary> public int PageHeight // { get { return this.dataPrintSetup.PageHeight; } set { this.dataPrintSetup.PageHeight = value; } } /// <summary> /// 打印字体 /// </summary> public Font DataFont { get { return this.dataPrintSetup.DataFont; } set { this.dataPrintSetup.DataFont = value; this.dataPrintSetup.SubTitleFont = new Font(DataFont.Name,(DataFont.SizeInPoints + TitleFont.SizeInPoints) / 2); } } /// <summary> /// 标题 /// </summary> public string Title { get { return this.dataPrintSetup.Title; } set { this.dataPrintSetup.Title = value; } } /// <summary> /// 子标题 /// </summary> public string SubTitle { get { return this.dataPrintSetup.SubTitle; } set { this.dataPrintSetup.SubTitle = value; } } /// <summary> /// 结尾 /// </summary> public string Footer { get { return dataPrintSetup.Footer; } set { dataPrintSetup.Footer = value; } } /// <summary> /// 标题字体 /// </summary> public Font TitleFont { get { return this.dataPrintSetup.TitleFont; } set { this.dataPrintSetup.TitleFont = value; } } /// <summary> /// 子标题字体 /// </summary> public Font SubTitleFont { get { return this.dataPrintSetup.SubTitleFont; } set { this.dataPrintSetup.SubTitleFont = value; } } /// <summary> /// 页眉高度 /// </summary> public int TitleHeight { get { return this.dataPrintSetup.TitleHeight; } set { this.dataPrintSetup.TitleHeight = value; } } /// <summary> /// 页脚高度 /// </summary> public int FootHeight { get { return this.dataPrintSetup.FootHeight; } set { this.dataPrintSetup.FootHeight = value; } } /// <summary> /// 设置左右页边距 /// </summary> public int LRMargin { get { return this.dataPrintSetup.LRMargin; } set { this.dataPrintSetup.LRMargin = value; } } PrintDialog printDialog = new PrintDialog(); printDialog.Document = printDocument; lineReader = new StringReader(textBox.Text); if (printDialog.ShowDialog() == DialogResult.OK) { try { printDocument.Print(); } catch(Exception excep) { MessageBox.Show(excep.Message, "打印出错", MessageBoxButtons.OK, MessageBoxIcon.Error); printDocument.PrintController.OnEndPrint(printDocument,new PrintEventArgs()); } } }总结打印的过程是 1 在应用程序窗体初始化时构造PrintDocument对象 添加 printDocument 的 PrintPage 方法 2 实现PrintPage方法 4 在用户的单击事件中调用 printDocument 的 Print方法实现打印功能在这中间可能要用到 PrintDialog PrintPreviewDialog PageSetupDialog 设置和查看打印效果这些方法通常是由菜单的单击触发的。 www.fcsoft.com.cn/eprint/index.htm 打印插件实现BS打印指定纸张 C#图像处理 VS2008灵异事件 写了爬虫程序,程序运行了大概5分钟左右CPU100% 单内存不高 多线程调用 现金求助,关于C#与数据库 System.Diagnostics.Debug.WriteLine()的方法,是写到哪儿的?在哪可以看到所写的内容? 请问C#实例化类后是否需要关闭 想去北京混,但不知道北京是需要vc++多一些 还是c#的多一些,请各位指教 菜鸟问题 怪事,请看一下 还有人记得我吗 ? 正式进军 C# ,第一次提问 !!! 一个datalist中套datalist的错误!高手请进! 问个项目部署方面的问题
/// 打印文档类实例
/// </summary>
private PrintDocument GridPrintDocument;
/// <summary>
/// 预览类实例
/// </summary>
private PrintPreviewDialog PrintPriview;
/// <summary>
/// 打印设置
/// </summary>
protected DataPrintSetup dataPrintSetup = new DataPrintSetup(); /// <summary>
/// 数据表中已打印的行数
/// </summary>
protected int tablerowno; //
/// <summary>
/// 第一页的行数
/// </summary>
protected int rowCountOfFirstPage; //
/// <summary>
/// 其它页的行数
/// </summary>
protected int rowCountOfOtherPage; //
/// <summary>
/// 打印的总页数
/// </summary>
private int pagecount; //
/// <summary>
/// 打印的pageno.;
/// </summary>
protected int printpageno; //
/// <summary>
/// 有tablestyle时各列的宽
/// </summary>
private ColumnAttrCollection alColumns = new ColumnAttrCollection(); //
/// <summary>
/// 纸张横向标志
/// </summary>
public bool LandScape
{
get
{
return this.dataPrintSetup.LandScape;
}
set
{
this.dataPrintSetup.LandScape = value;
}
} /// <summary>
/// 页宽
/// </summary>
public int PageWidth //
{
get
{
return this.dataPrintSetup.PageWidth;
}
set
{
this.dataPrintSetup.PageWidth = value;
}
}
/// <summary>
/// 页高
/// </summary>
public int PageHeight //
{
get
{
return this.dataPrintSetup.PageHeight;
}
set
{
this.dataPrintSetup.PageHeight = value;
}
}
/// <summary>
/// 打印字体
/// </summary>
public Font DataFont
{
get
{
return this.dataPrintSetup.DataFont;
}
set
{
this.dataPrintSetup.DataFont = value;
this.dataPrintSetup.SubTitleFont = new Font(DataFont.Name,(DataFont.SizeInPoints + TitleFont.SizeInPoints) / 2);
}
}
/// <summary>
/// 标题
/// </summary>
public string Title
{
get
{
return this.dataPrintSetup.Title;
}
set
{
this.dataPrintSetup.Title = value;
}
}
/// <summary>
/// 子标题
/// </summary>
public string SubTitle
{
get
{
return this.dataPrintSetup.SubTitle;
}
set
{
this.dataPrintSetup.SubTitle = value;
}
}
/// <summary>
/// 结尾
/// </summary>
public string Footer
{
get
{
return dataPrintSetup.Footer;
}
set
{
dataPrintSetup.Footer = value;
}
}
/// <summary>
/// 标题字体
/// </summary>
public Font TitleFont
{
get
{
return this.dataPrintSetup.TitleFont;
}
set
{
this.dataPrintSetup.TitleFont = value;
}
}
/// <summary>
/// 子标题字体
/// </summary>
public Font SubTitleFont
{
get
{
return this.dataPrintSetup.SubTitleFont;
}
set
{
this.dataPrintSetup.SubTitleFont = value;
}
}
/// <summary>
/// 页眉高度
/// </summary>
public int TitleHeight
{
get
{
return this.dataPrintSetup.TitleHeight;
}
set
{
this.dataPrintSetup.TitleHeight = value;
}
}
/// <summary>
/// 页脚高度
/// </summary>
public int FootHeight
{
get
{
return this.dataPrintSetup.FootHeight;
}
set
{
this.dataPrintSetup.FootHeight = value;
}
}
/// <summary>
/// 设置左右页边距
/// </summary>
public int LRMargin
{
get
{
return this.dataPrintSetup.LRMargin;
}
set
{
this.dataPrintSetup.LRMargin = value;
}
}
PrintDialog printDialog = new PrintDialog();
printDialog.Document = printDocument;
lineReader = new StringReader(textBox.Text);
if (printDialog.ShowDialog() == DialogResult.OK)
{
try
{
printDocument.Print();
}
catch(Exception excep)
{
MessageBox.Show(excep.Message, "打印出错", MessageBoxButtons.OK, MessageBoxIcon.Error);
printDocument.PrintController.OnEndPrint(printDocument,new PrintEventArgs());
}
}
}
总结打印的过程是
1 在应用程序窗体初始化时构造PrintDocument对象 添加 printDocument 的 PrintPage 方法
2 实现PrintPage方法 4 在用户的单击事件中调用 printDocument 的 Print方法实现打印功能
在这中间可能要用到 PrintDialog PrintPreviewDialog PageSetupDialog 设置和查看打印效
果这些方法通常是由菜单的单击触发的。