pd.DefaultPageSettings.PaperSize = new PaperSize("mypaper",827,1169);
//A4 210 X 297 轉到 inch X 100
用列印機測驗頁 能從A4打出
列印機為Brother,能打A4和A3, word ,Excel 都是自動選A4
問題出在哪里呢?難道還要選進紙器?
uj5u.com熱心網友回復:
列印紙名稱用用A4嗎?new PaperSize("A4",827,1169);
uj5u.com熱心網友回復:
難道要設定進紙方式:comboPaperSource.DisplayMember="SourceName";
PaperSource pkSource;
for (int i = 0; i < printDoc.PrinterSettings.PaperSources.Count; i++){
pkSource = printDoc.PrinterSettings.PaperSources[i];
comboPaperSource.Items.Add(pkSource);
}
if (comboPaperSource.SelectedIndex != -1) {
printDoc.DefaultPageSettings.PaperSource =
printDoc.PrinterSettings.PaperSources[comboPaperSource.SelectedIndex];
}
uj5u.com熱心網友回復:
大概是這樣定義的,A4是793×1122換算dpi的,大概是這樣的吧,記不清了,自己看代碼吧,里面的Report_PrintPage.cshttps://pan.baidu.com/s/1eBYl30fdARCJSQdaubHl_g
提取碼:exv7
public static string[] paper_types = new string[25] {
"Custom",
"A0","A1","A2","A3","A4","A5","A6","A7",
"B0","B1","B2","B3","B4","B5","B6","B7",
"C0","C1","C2","C3","C4","C5","C6","C7"
};
public static string[] paper_size = new string[25] {
"Custom",
"841×1189","594×841","420×594","297×420","210×297","148×210","105×148","74×105",
"1000×1414","707×1000","500×707","353×500","250×353","176×250","125×176","88×125",
"917×1297","648×917","458×648","324×458","229×324","162×229","114×162","81×114"
};
public static string[] paper_pixel = new string[25] {
"Custom",
"3178×4493","2245×3178","1587×2245","1122×1587","793×1122","559×793","396×559","279×396",
"3779×5344","2672×3779","1889×2672","1334×1889","944×1334","665×944","472×665","332×472",
"3465×4902","2449×3465","1731×2449","1235×1731","865×1224","612×865","430×612","306×430"
};
// A4 是上面的那個值?
new PaperSize("Report page",793 / 25.4f * 100f), 1122 / 25.4f * 100f)
uj5u.com熱心網友回復:
多謝回復,尺寸不會錯的, New PaperSize("名稱",Winch X 100, HinchX100)
uj5u.com熱心網友回復:
接上面,補個圖說明
uj5u.com熱心網友回復:
new PaperSize("customer",210/25.4 *100,297 /25.4 * 100) ,就是:
new PaperSize("",827,1169)
//通過下面的方式取得A4 的尺寸和上面是一致的
//https://docs.microsoft.com/zh-cn/dotnet/api/system.drawing.printing.pagesettings.papersize?view=dotnet-plat-ext-5.0
comboPaperSize.DisplayMember = "PaperName";
PaperSize pkSize;
for (int i = 0; i < printDoc.PrinterSettings.PaperSizes.Count; i++){
pkSize = printDoc.PrinterSettings.PaperSizes[i];
comboPaperSize.Items.Add(pkSize);
}
uj5u.com熱心網友回復:
if (comboPaperSize.SelectedIndex != -1) {printDoc.DefaultPageSettings.PaperSize =
printDoc.PrinterSettings.PaperSizes[comboPaperSize.SelectedIndex];
}
若從組合框中選擇A4, 發現
printDoc.PrinterSettings.PaperSizes.Width = 827
printDoc.PrinterSettings.PaperSizes.Height= 1169
printDoc.PrinterSettings.PaperSizes.Name = A4
uj5u.com熱心網友回復:
PaperSzie("名稱",w,h) 中的 紙張名稱很重要嗎?好像一直都是 隨便取名字的uj5u.com熱心網友回復:
那你試一下上面那個程式,這里是惠普的A3、A4,不竄紙uj5u.com熱心網友回復:
現在沒有機器,等明天了轉載請註明出處,本文鏈接:https://www.uj5u.com/net/244978.html
標籤:C#
上一篇:easyui treegrid 分頁欄里的總行數顯示不正確
下一篇:C#呼叫Btw列印標簽提示“InteropServices.COMException 3126自動華呼叫需要Automation版
