打印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