gpt4 book ai didi

c# - 在 C# 中格式化打印文档

转载 作者:太空宇宙 更新时间:2023-11-03 10:49:55 25 4
gpt4 key购买 nike

我是 c# 的新手,需要一些帮助来格式化文档以进行打印。

我已经设法通过这段代码与打印机对话:

private void Print(string printer)
{
PrintDocument PrintDoc = new PrintDocument();

PrintDoc.PrinterSettings.PrinterName = printer;

PrintDoc.PrintPage += new PrintPageEventHandler(PrintPage);
PrintDoc.Print();
}

void PrintPage(object sender, PrintPageEventArgs e)
{
e.Graphics.DrawLine(new Pen(Color.Black), new Point(0, 0), new Point(100, 100));
e.Graphics.DrawString("Hello World", new Font("Times New Roman", 12), new SolidBrush(Color.Black), new Point(45, 45));

}

这会打印出我的“hello world”字符串。显然 PrintPage 方法是我在网上找到的代码。可悲的是我找不到办法

a) 设置我打印的纸张尺寸的格式(它是 138mm x 99mm 横向格式)

b) 告诉打印机准确打印我的文本的位置。

这篇论文是预印本,我必须在特定的领域写下我的文字。

所以我正在寻找一种方法来为我的打印机提供格式化的文档,例如:

<field1>
<x> 2cm </x>
<y> 1cm </y>
<text> textfield1 </text>
</field1>
<field2>
....

我找不到有关如何执行此操作的信息。因此,如果有人可以告诉我如何执行此操作或提供指向好的教程的链接,我将非常感激

最佳答案

设置纸张大小

printDocument.DefaultPageSettings.PaperSize = new PaperSize("Custom Name", width, height);
printDocument.DefaultPageSettings.Landscape = true;

宽度和高度以百分之一英寸为单位

请参阅 this 中的教程SO 在预印纸上打印文本的问题。

另外,为了避免在实验过程中浪费纸张,请将预印纸扫描为图像,并在预览期间在 PrintPageHanlder 中将其设置为背景。

void printDocument_PrintPage(object sender, PrintPageEventArgs e)
{
if (printDocument.PrintController.IsPreview)
{
Image image = Image.FromFile("ScannedImagePath");
e.Graphics.DrawImage(image,0,0)
}
// print other text here after drawing the background
}

关于c# - 在 C# 中格式化打印文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21824671/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com