首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在c#中打印时设置PrinterSettings

在c#中打印时设置PrinterSettings
EN

Stack Overflow用户
提问于 2014-02-28 13:50:37
回答 1查看 9.8K关注 0票数 5

几天前,我试着用鼠标右键点击打印一张照片。出现一个对话框,选择打印机、PaperSize、质量等。我选择PaperSize = Legal。打印机可以在标准尺寸的纸张上打印(我使用的是HP LaserJet 1020 plus打印机)。

现在,我正在尝试从C#打印一些内容,设置为PaperSize,但打印机无法正常打印。下面是我的代码。代码有什么问题吗?

this.printDocument.PrinterSettings.PrinterName = this.printSetting.PrinterName;
PaperSize pkCustomSize1 = new PaperSize("8.5x13", 1300, 850);
this.printDocument.DefaultPageSettings.PaperSize = pkCustomSize1;
this.printDocument.DefaultPageSettings.PaperSize.RawKind = 119;
printPreviewDialog.Document = printDocument;
printDocument.Print();

private void printDocument_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
    Graphics g = e.Graphics;
    Bitmap bm = new Bitmap(300, 3000);
    // Code for bm.
    g.DrawImage(bm, 0, 0);
}

所以问题是,设置PaperSize (和PrinterSetting)的正确方法是什么?还有一件事,我搜索了打印机的MaximumPrintableArea。我的打印机有最大A4大小,为什么它在Legal上打印

EN

回答 1

Stack Overflow用户

发布于 2014-03-03 22:34:56

PrintDocument.PrinterSettings.PaperSizes集合包含您使用PrintDocument.Printersettings.PrinterName属性设置的打印机支持的所有纸张大小。PrintDocument.PrinterSettings包含您设置的打印机的各种信息。在任何需要的地方使用它们。

示例代码:

// do a null check of the return value of GetPaperSize. 5 represent the rawkind of Legal
printdocument.PrinterSettings.DefaultPageSettings.PaperSize = GetPaperSize(5);

private PaperSize GetPaperSize(int rawKind)
{
    PaperSize papersize = null;
    foreach(PaperSize item in printdocument.PrinterSettings.PaperSizes)
    {
        if(item.RawKind == rawKind)
        {
            papersize = item;
            break;
        }
    }
    return papersize;
}

为了回答您的另一个问题,我认为打印机的默认PaperSize设置为合法。

编辑:

每台打印机(硬件设备)都有自己的物理限制,称为HardMargins。像Adobe PDF或Cute这样的软件打印机就没有这样的限制。您不能超过此限制进行打印。无论您设置什么纸张大小,它都将在此限制范围内打印。这就是为什么你仍然可以打印Letter,Legal,A4等格式。(打印机支持的纸张大小,即可以插入打印机的纸张大小),但所有纸张大小的最大可打印区域仍然相同。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22087303

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档