我正在寻找一种简单的方法来打印带有数据库数据的 DIN-A4 纸。数据应填写到多个带边框的表格中。某些数据应具有不同的文本格式,例如粗体或下划线。我还应该能够在这张纸上打印多个图像。
该程序应该是一个 Windows 窗体应用程序或用 C# 编写的控制台应用程序。
哪种是格式化数据并像这样打印数据的最简单/最常见的方法?
任何建议都值得赞赏:)
编辑:
这是我当前的代码,几乎没有成功。它实际上是打印的,但我得到的只是打印的 xml 文件。
private void printButton_Click(object sender, EventArgs e)
{
string printPath = System.Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
fileToPrint = new System.IO.StreamReader(printPath + @"\test.xml");
printFont = new System.Drawing.Font("Arial", 10);
PrintDocument printDocument1 = new PrintDocument();
printDocument1.PrintPage += new PrintPageEventHandler(printDocument1_PrintPage);
printDocument1.Print();
fileToPrint.Close();
}
private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
float yPos = 0f;
int count = 0;
float leftMargin = e.MarginBounds.Left;
float topMargin = e.MarginBounds.Top;
string line = null;
float linesPerPage = e.MarginBounds.Height / printFont.GetHeight(e.Graphics);
while (count < linesPerPage)
{
line = fileToPrint.ReadLine();
if (line == null)
{
break;
}
yPos = topMargin + count * printFont.GetHeight(e.Graphics);
e.Graphics.DrawString(line, printFont, Brushes.Black, leftMargin, yPos, new StringFormat());
count++;
}
if (line != null)
{
e.HasMorePages = true;
}
}