C# 将PDF自动打印到特定打印机和托盘
我有一个C#应用程序,当用户单击“打印”时,该应用程序使用ITextSharp在memorystream中创建一个PDF。我需要将此PDF自动打印到特定的打印机和托盘。 我已经搜索过了,但我能找到的只是使用javascript,但它不会打印到特定的托盘。 有人有这样做的例子吗?C# 将PDF自动打印到特定打印机和托盘,c#,pdf,printing,C#,Pdf,Printing,我有一个C#应用程序,当用户单击“打印”时,该应用程序使用ITextSharp在memorystream中创建一个PDF。我需要将此PDF自动打印到特定的打印机和托盘。 我已经搜索过了,但我能找到的只是使用javascript,但它不会打印到特定的托盘。 有人有这样做的例子吗? 谢谢。有一个叫做pdfprint的工具: 在这里,他们讨论了一些解决方案: 您可以使用此代码更改打印机托盘 string _paperSource = "TRAY 2"; // Printer Tray string
谢谢。有一个叫做pdfprint的工具: 在这里,他们讨论了一些解决方案:
您可以使用此代码更改打印机托盘
string _paperSource = "TRAY 2"; // Printer Tray
string _paperName = "8x17"; // Printer paper name
//Tested code comment. The commented code was the one I tested, but when
//I was writing the post I realized that could be done with less code.
//PaperSize pSize = new PaperSize() //Tested code :)
//PaperSource pSource = new PaperSource(); //Tested code :)
/// Find selected paperSource and paperName.
foreach (PaperSource _pSource in printDoc.PrinterSettings.PaperSources)
if (_pSource.SourceName.ToUpper() == _paperSource.ToUpper())
{
printDoc.DefaultPageSettings.PaperSource = _pSource;
//pSource = _pSource; //Tested code :)
break;
}
foreach (PaperSize _pSize in printDoc.PrinterSettings.PaperSizes)
if (_pSize.PaperName.ToUpper() == _paperName.ToUpper())
{
printDoc.DefaultPageSettings.PaperSize = _pSize;
//pSize = _pSize; //Tested code :)
break;
}
//printDoc.DefaultPageSettings.PaperSize = pSize; //Tested code :)
//printDoc.DefaultPageSettings.PaperSource = pSource; //Tested code :)
在过去,我花了很多时间在网上搜索将pdf文件打印到特定打印机托盘的解决方案 我的要求是:从服务器目录中收集几个pdf文件,并将每个文件以循环方式发送到不同的打印机托盘 所以我测试了很多第三方工具(试用版)和web中的最佳实践。 一般来说,所有这些工具都可以分为两类:a)直接将pdf文件发送到打印机(在UI中是无声的)或b)使用内置的pdf预览程序在UI中打开pdf文件,使用.Net PrintDocument 唯一能满足我需求的解决方案是veryPdf的PDFPrint(缺点:它不是无价的,但我的公司买了它)。所有其他工具和解决方案都无法可靠工作,这意味着:使用参数调用其打印例程,例如id=258(定义纸盘2;从已安装的打印机获取),但在纸盘3或pdf中打印pdf文件是在打印预览器(UI)中打开的,图像丢失或内容完全空白,等等
希望对您有所帮助。pdfprint价格昂贵,我真的需要一个免费的解决方案。您可能很难找到免费的解决方案。您可以尝试一些免费的PDF库,拆分文件,然后使用普通的acrobate命令行工具将它们打印到不同的打印机。但首先你必须能够分割pdf文件。另一个商业解决方案是打印和共享。它可以在打印机之间进行路由,可以删除配置文件,可以打印到不同的纸盘并合并所有文件。为什么你对我的评价很低?我对此有一个问题。。在foreach语句中,我只有autoselect、auto和manual feed选项可用。有人能帮我吗?