打印作業過程中是否有辦法切換打印機紙盒?我被要求制定一個選擇/包裝計劃。他們希望在一張彩色紙上打印庫存揀貨單,包裝紙要放在白紙上,他們希望將其妥善整理(挑選,打包,打包,打包,打包,挑選,打包,打包,打包,包; ...)。在打印作業中更換打印機紙盒
我在設置默認紙盒時發現了一些其他線程,但在作業期間沒有在交替紙盒上找到任何東西。也許我不是在尋找正確的東西。
不知道它是否有所作爲,但我們的打印機是HP 3015n,客戶端將是XP和Win 7 Pro。
打印作業過程中是否有辦法切換打印機紙盒?我被要求制定一個選擇/包裝計劃。他們希望在一張彩色紙上打印庫存揀貨單,包裝紙要放在白紙上,他們希望將其妥善整理(挑選,打包,打包,打包,打包,挑選,打包,打包,打包,包; ...)。在打印作業中更換打印機紙盒
我在設置默認紙盒時發現了一些其他線程,但在作業期間沒有在交替紙盒上找到任何東西。也許我不是在尋找正確的東西。
不知道它是否有所作爲,但我們的打印機是HP 3015n,客戶端將是XP和Win 7 Pro。
你可以嘗試這樣的事情,你必須從項目中引用System.Drawing.dll
- >參考 - >添加
//Namespace: System.Drawing.Printing
//Assembly: System.Drawing (in System.Drawing.dll)
PrintDocument printDoc = new PrintDocument();
PaperSize oPS = new PaperSize();
oPS.RawKind = (int)PaperKind.A4;
PaperSource oPSource = new PaperSource();
oPSource.RawKind = (int) PaperSourceKind.Upper;
printDoc.PrinterSettings = new PrinterSettings();
printDoc.PrinterSettings.PrinterName = sPrinterName;
printDoc.DefaultPageSettings.PaperSize = oPS;
printDoc.DefaultPageSettings.PaperSource = oPSource;
printDoc.PrintPage += new PrintPageEventHandler(printDoc_PrintPage);
printDoc.Print();
printDoc.Dispose();
因此,基本上我會創建數百個小型印刷品並在作業之間更改紙張來源? – Sam
沒有機會測試,看看它是否有效,但它可能,而且遠遠超過我自己做的。由於沒有其他人在幾天內發表過評論,我會標記爲答案。謝謝! – Sam
對不起,我無法使用這種方法來更換同一作業中的托盤。我在printDoc_PrintPage中更換紙盒。它似乎忽略了這種變化......完全有效的實施的任何機會? – CarneyCode
您可以更改打印機紙盒與此代碼。
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 :)
abatishchev - 看到您編輯我的文章。開發環境和編程語言不相關嗎? – Sam
https://www.youtube.com/watch?v=6iXuU4b5mh4&t=25s? :-) – juFo