[英]How to set the page size
我正在打印文檔並嘗試更改紙張大小,但它不起作用。
當我添加紙張尺寸時,它會以默認尺寸打印文檔。 我的紙張尺寸不起作用。
namespace WC_manager
{
public partial class tagprint : Form
{
Zen.Barcode.Code39BarcodeDraw objCode = Zen.Barcode.BarcodeDrawFactory.Code39WithChecksum;
int tagNo = 0;
PrinterSettings ps = new PrinterSettings();
public tagprint()
{
InitializeComponent();
}
private void label1_Click(object sender, EventArgs e)
{
}
private void printBtn_Click(object sender, EventArgs e)
{
if(tagNo != 0)
{
pictureBox1.Image = objCode.Draw(Convert.ToString(tagNo), 100);
var doc = new PrintDocument();
doc.PrintPage += new PrintPageEventHandler(ProvideContent);
doc.PrinterSettings.PrinterName = "Adobe PDF";
doc.DefaultPageSettings.PaperSize = new PaperSize("Custom",10,10);
doc.Print();
}
else
{
MessageBox.Show("Enter Valid Tag no");
}
}
private void tagTxtFld_TextChanged(object sender, EventArgs e)
{
tagNo = Convert.ToInt32(tagTxtFld.Text);
}
public void ProvideContent(object sender, PrintPageEventArgs e)
{
Graphics graphics = e.Graphics;
Font font = new Font("Courier New", 10);
float fontHeight = font.GetHeight();
graphics.DrawImage(objCode.Draw(Convert.ToString(tagNo), 20), 0, 2, 30, 30);
}
}
}
您沒有指定合理的紙張尺寸尺寸:
doc.DefaultPageSettings.PaperSize = new PaperSize("Custom",10,10);
第二個和第三個參數分別是紙張的寬度和高度。 但重要的是,這些值的單位始終是百分之一英寸。
因此,您要求打印機驅動程序打印只有 1/10 英寸寬和高的頁面。
當我使用已安裝的 PDF 驅動程序嘗試此操作時,它會忽略提供的尺寸,並打印到標准 Letter 尺寸(即 8.5 x 11 英寸)的頁面。
如果這是您真正的意思,那么您需要使用可以接受該尺寸紙張的打印機。 您可能會發現這樣做很困難。
但是,您更有可能打算使用其他尺寸。 例如,如果您嘗試在 10 英寸見方的頁面上打印,則需要為每個這些值傳遞1000
。 或者,如果您嘗試在 10 厘米見方的頁面上打印,則需要為每個值傳遞394
(並接受實際上僅比 10 厘米多一點的事實)。
底線:傳遞紙張寬度和高度的有效值,它將起作用。 對於這些參數中的任何一個,百分之十英寸都不是有效值。
我之所以遇到這個問題,是因為我采用了 pdf 格式的 output,這就是為什么它設置默認頁面大小的原因。 更改打印機名稱時。 我得到了 output。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.