【发布时间】:2017-12-06 01:21:08
【问题描述】:
我正在尝试在 winform 中打印,结果当我打印文档时,我得到了空白页。 这是我尝试打印的代码:
private PrintDocument printDocument1 = new PrintDocument();
private string stringToPrint;
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
ReadPrint();
printDocument1.Print();
}
private void ReadPrint()
{
string docName = "ejemplo.pdf";
string docPath = @"C:\dir1\";
printDocument1.DocumentName = docName;
using (FileStream stream = new FileStream(docPath + docName, FileMode.Open, FileAccess.Read))
using (StreamReader reader = new StreamReader(stream))
{
stringToPrint = reader.ReadToEnd();
}
}
private void printDocument1_PrintPage(object sender, PrintPageEventArgs e)
{
int charactersOnPage = 0;
int linesPerPage = 0;
e.Graphics.MeasureString(stringToPrint, this.Font,
e.MarginBounds.Size, StringFormat.GenericTypographic,
out charactersOnPage, out linesPerPage);
e.Graphics.DrawString(stringToPrint, this.Font, Brushes.Black,
e.MarginBounds, StringFormat.GenericTypographic);
stringToPrint = stringToPrint.Substring(charactersOnPage);
e.HasMorePages = (stringToPrint.Length > 0);
}
private void printButton_Click(object sender, EventArgs e)
{
LeerArchivo();
printDocument1.Print();
}
我想知道是否有办法纠正它或打印文件的其他方式?或一些示例代码? 问候
【问题讨论】:
-
您正在尝试将 PDF 数据(二进制)加载到字符串中。那样不行。
-
@JoelCoehoorn,是的,一个pdf文件,那么,对于这些情况该怎么办?
标签: c# asp.net winforms printing