c# - 我们可以在 C# 中使用单独的线程从 Windows 应用程序打印吗?
问题描述
我有一个使用打印功能的应用程序。我使用单独的线程打印文档,即通过将打印发送到 Microsoft XPS Document Writer 将其转换为 XPS。
我试图在单独的线程以及主 UI 线程中打印多个文档。但是在后台打印时,应用程序崩溃并且事件查看器显示访问权限问题。
当我尝试在主线程(即 UI 线程)中打印多个文档时,应用程序会显示“打印”对话框。
我想在没有任何打印对话框的情况下静默打印文档。
当我在调试模式下构建它时,我的代码运行良好,但是当我在发布模式下构建它时它显示打印对话框。
谢谢你。
解决方案
我使用单独的线程打印文档
我没有看到您的代码,但通常可以在您的应用程序中使用任务来分隔任务
例如:
var tasks1 = Task.Run(() => { PrintDoc(); });
但是在后台打印时,应用程序崩溃了
也许它取决于另一个线程的变量,或者它需要打印一个尚不可用或正在其他地方使用的文件
我想在没有任何打印对话框的情况下静默打印文档。
您需要在打印文档之前使用 PrintController
doc.PrintController = new System.Drawing.Printing.StandardPrintController();
推荐阅读
- php - if函数在php中的表内
- html - Angular9更新变量以在加载内容后显示/隐藏HTML
- android - youtube_player_flutter:^7.0.0+6 未在 iOS 上启用全屏
- botframework - 转移到现场代理
- html - 我的页脚无法正确居中。它仅在我删除标题标签时居中
- javascript - 为什么 chart.js 不显示图表?
- javascript - 如何将预加载器 html 链接到索引
- javascript - AJAX 文件上传错误 500,文件大小为 20MB
- python - 训练自己的情感分析模型或使用预先训练的模型(如 vader 和 textblob)有什么更好的方法?
- android - “LoginBloc”不扩展“Cubit”
'