首页 > 解决方案 > 如何使用 C# 在 PrintDocument 中设置自定义纸张大小

问题描述

我在我的项目中使用打印文档。我在 PrintPreview_Click(object sender, EventArgs e) 中定义了自定义页面大小。当我在 A4 尺寸的纸上打印时,它会在页面中心显示结果(根据定义的尺寸。但是当我用小页面替换 A4 页面时。我的一半内容没有打印。我附上了 A4 纸打印的图片和小纸。请指导我哪里错了。提前谢谢。

这是打印预览

这是我要打印的纸张

这是 A4 结果

   private void PrintPreview_Click(object sender, EventArgs e)
        {
            printPreviewDialog1.Document = printDocument1;
            printDocument1.DefaultPageSettings.PaperSize = new System.Drawing.Printing.PaperSize("Custom", 446, 730);
            printPreviewDialog1.ShowDialog();
    }

标签: c#.netvisual-studio

解决方案


除了设置“DefaultPageSettings.PaperSize”,还可以尝试使用“PrinterSettings.DefaultPageSettings.PaperSize”来设置“打印区域”。

printDocument1.DefaultPageSettings.PaperSize = new System.Drawing.Printing.PaperSize("Custom", 446, 730);
printDocument1.PrinterSettings.DefaultPageSettings.PaperSize = printDocument1.DefaultPageSettings.PaperSize;

推荐阅读