gpt4 book ai didi

c# - 在 .NET 中创建自定义打印端口

转载 作者:行者123 更新时间:2023-11-30 14:18:12 24 4
gpt4 key购买 nike

我正在尝试弄清楚是否可以在 .NET 中创建自定义打印端口。我试图实现的功能是拦截打印机驱动程序生成的数据并将其发送到远程服务器而不是设备。

最佳答案

是的,是的。我用 C# 完成了它,编写了一个由软件控制的 PDF 打印机。

实现目标的步骤是:

  1. 使用 RedMon 创建一个新端口
  2. 设置用于将输出发送到您的应用程序的端口
  3. 编写一个获取传入流并将其发送到任何你想要的地方的应用程序

这是您的自定义应用程序的一堆代码:

   string fname = Environment.GetEnvironmentVariable("TEMP") + @"\";
fname += DateTime.Now.ToString("yyyyMMdd-hhmmss-fffff") + ".ps";
FileStream fs = new FileStream(fname, FileMode.Create);
StreamWriter sw = new StreamWriter(fs);
StreamReader sr = new StreamReader(Console.OpenStandardInput());
sw.Write(sr.ReadToEnd());
sw.Flush();
sw.Close();
sr.Close();

我编辑我的帖子以回答您的评论:

  1. 您可以在 Windows7 上轻松使用 Redmon。我使用我的打印机没有任何问题,我认为您也可以在 Windows 2008 中进行操作。如果您想了解如何在没有安装程序的情况下安装 redmon 端口,请查看 PDFCreator 安装源。如果你愿意,我可以解释一下如何做到这一点,并且可以发布 C# 实现,但我认为这不是你现在需要的。
  2. 您可以将单个 Redmon 端口用于任意数量的打印机,而不仅仅是一台;当您的软件从打印机接收假脱机作业时,使用环境变量 Redmon 为您设置,您可以读取发送作业的打印机的名称...因此您可以根据该名称决定要做什么。

关于c# - 在 .NET 中创建自定义打印端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4904117/

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