打印PDF在C#应用程序中使用'process'打印PDF文件,但是我无法获得打印状态。我发现可以使用System.management与打印机/队列进行交互,并且System.printing.I使用这两个命名空间进行了大量试验,但无法打印文件。有关如何使用这些命令将PDF文档打印到打印机的例子可用吗?如何在C#中使用
Q
如何在C#中使用
2
A
回答
1
0
此问题已在这里回答How can I send a file document to the printer and have it print?。
您不能使用标准方法打印PDF,因为它需要首先渲染,您可以使用Ghostscript,Adobe Acrobat或其他方法。
编辑:约翰是快
1
如果你有一个WPF
应用程序,然后使用System.Printing
。
这里是代码:
var file = File.ReadAllBytes(pdfFilePath);
var printQueue = LocalPrintServer.GetDefaultPrintQueue();
using (var job = printQueue.AddJob())
using (var stream = job.JobStream)
{
stream.Write(file, 0, file.Length);
}
现在,这个命名空间必须用WPF
应用程序中使用。它与ASP.NET
或Windows Service
不一致。它不应该与Windows Forms
一起使用,因为它有System.Drawing.Printing
。我没有使用上述代码打印PDF格式的问题,但我全神贯注于为什么它不适用于其他人。
我应该提到,您必须有一台支持直接打印的打印机,因为您将信息直接发送到打印机。根据我的经验,这与兄弟HL系列和夏普企业打印机一起工作。我希望这可以用于其他的东西,比如Excel文档,但是它不会。幸运的是,这些很容易以其他方式打印。
+0
如果谁给了这一点,那么这将是一件好事,它会提供反馈,让他们做出决定。这对我来说非常合适,但我非常喜欢。可能有一个特定的案例,如果你与其他人分享会很好。 –
相关问题
- 1. 如何在C++(C++ 0x)中使用'auto'?
- 2. 如何在C#中使用C库#
- 3. 如何在c中使用C++函数?
- 4. 如何在c/C++中使用java jar?
- 5. (C++)如何在C++中使用OpenBlas库?
- 6. 如何在OSX上使用C++在C++中使用CGEventPost?
- 7. 如何在Visual Studio中使用C++/CLI和C#调用C++/CLI?
- 8. “在c#中使用”关键字,如何在java中使用?
- 9. 如何在C#中使用库
- 10. 如何在flex和bison中使用C++?
- 11. 如何在C#中使用ScriptEngine
- 12. 如何在C++中使用linux命令?
- 13. 如何在C#中使用ResolveIpNetEntry2
- 14. 如何在C++ Builder中使用Procedure.Exec XE
- 15. 如何在ASP.NET C#中使用if(IsPostBack)#
- 16. 如何在Dev C++中使用Eigen库?
- 17. 如何在C中使用tlb文件?
- 18. 如何在C#中使用[DllImport(“”)]?
- 19. 如何在C#中使用XQuery
- 20. 如何在循环中使用getline C++
- 21. 如何在OpenCV C++中使用FeatureDetector?
- 22. 如何在GNUstep中使用Obj-C 2.0?
- 23. 如何在C++中使用ArrayList?
- 24. 如何在c#中使用gnu命令#
- 25. 如何在c中使用mmap()函数
- 26. 如何在C++中使用[[noreturn]]属性?
- 27. 如何在C++中使用Zorba
- 28. 如何在c中使用天气api#
- 29. 如何在C#中使用Selenium?
- 30. 如何在c中使用substring函数?
但是这些例子并没有显示如何获得打印状态..他们使用进程来打印文件。从这些进程是否有可能获得打印状态?我觉得不是!! – flute
@mmu不直接,没有。但看看PrintServer.GetPrintQueues。这可以给你一个打印机状态。哟可以在第二个线程或其他东西中检查它。我不确定您是否查找打印机状态或打印作业状态。如果您想要打印作业状态,请查看Win32_PrintJob。 – BudBrot