我想使用 .net Maui 应用程序打印文本。我怎样才能实现这个目标。
我尝试使用 PrintManager 类,但我不明白如何设置字符串(文本)以使用此类进行打印,或者我不明白如何使用 PrintManager 类。
printMan = PrintManager.GetForCurrentView();//How do i make it for simple string to print
printMan.PrintTaskRequested += PrintTaskRequested;
// Build a PrintDocument and register for callbacks
printDoc = new PrintDocument();
printDocSource = printDoc.DocumentSource;
printDoc.Paginate += Paginate;
printDoc.GetPreviewPage += GetPreviewPage;
提前致谢。
我设法通过 Socket 类来做到这一点。
创建分部类“PrintService”和分部方法 “公共部分异步任务 PrintSticker(string ip, int port, List 打印行数)” 请参阅此链接 https://learn.microsoft.com/en-us/dotnet/maui/platform- 集成/调用平台代码?view=net-maui-7.0
在平台分部类中实现方法如下
public partial async Task PrintSticker(string ip, int port, List<string>
linesToPrtint)
{
//Task.Delay(1000);
Socket pSocket = new Socket(SocketType.Stream,
ProtocolType.IP);
pSocket.SendTimeout = 1500;
await pSocket.ConnectAsync(ip, port);
List<byte> otBytes= new List<byte>();
foreach(var text in linesToPrtint)
{
otBytes.AddRange(System.Text.Encoding.UTF8.GetBytes(text));
otBytes.Add(0x0A);
}
await pSocket.SendAsync(otBytes.ToArray());
pSocket.Close();
}
访问方法如下
PrintService printService = new PrintService();
await printService.PrintSticker("x.x.x.x", 9100, new List<string> { "Test Text"});