c# - DefaultPageSettings.Margins 不添加边距

标签 c# wpf margins printdocument

基于 documentation ,添加这些代码应该为打印文档添加边距,但是当我在我的代码中使用它时,我看不到添加任何边距。我对代码的使用是否正确?这是来自 MSDN 的代码:

 printFont = new Font("Arial", 10);
 PrintDocument pd = new PrintDocument(); 
 pd.PrintPage += new PrintPageEventHandler(pd_PrintPage);
 pd.PrinterSettings.PrinterName = printer;
 Margins margins = new Margins(100,100,100,100);
 pd.DefaultPageSettings.Margins = margins;
 pd.Print();

这是我的代码:

printDoc = new PrintDocument();
PrinterSettings printSettings = new PrinterSettings();
PaperSize paperSize = new PaperSize("Receipt", 350, 700);

Margins margin = new Margins(2000, 1000, 2000, 1000);
printDoc.DefaultPageSettings.PaperSize = paperSize;

printDoc.PrintPage += new PrintPageEventHandler(pdoc_PrintPage);
PrintPreviewDialog printPreview = new PrintPreviewDialog();
printPreview.Document = printDoc;
DialogResult result = printPreview.ShowDialog();
printDoc.DefaultPageSettings.Margins = margin;
if (result == DialogResult.OK)
{
    printDoc.Print();
}

最佳答案

之所以没有边距影响文档,是因为我没有把OriginAtMargins的值改成true。所以您需要从 PrintDocument() 中更改它,如下所示:

New printDoc = new PrintDocument();
printDoc.OriginAtMargins = true; //Default is false

关于c# - DefaultPageSettings.Margins 不添加边距,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42689350/

相关文章:

c# - 从图像中获取点的坐标

c# - Task 和 FrameworkElement 参数的词法绑定(bind)

html - css 页脚在两侧切割

android - 删除 android 工具栏图标中的边距

html - 删除 WordPress 主题上的边距

c# - FormatException 错误字符串到日期时间

c# - 如何在不按 F5 的情况下使缓存的图像过期?

c# - Silverlight 中的 Spritesheet

c# - TreeNode 窗体到 WPF 的转换

wpf - 在资源字典中设置按钮的前景色[文本]颜色