【问题标题】:How to print bitmap image on the full size of the paper如何在全尺寸纸上打印位图图像
【发布时间】:2014-09-04 20:03:00
【问题描述】:

我目前正在创建一个 1632x1056(17x11,96 dpi)像素的位图。我想在 11 英寸 x 17 英寸的纸上打印这张图片。

我可以在 Windows 照片查看器中打开这个文件并完美地打印它,但是当我在 c# 中使用打印功能时,总是会出现一个小的边距,所以它会使我的图像无法适应整个页面。 这是我打印文档的代码设置

    Image glControlBits;
    private void PrintImage()
    {
        //print the document
        PrintDocument pd = new PrintDocument();
        pd.PrintPage += pd_PrintPage;
        pd.DefaultPageSettings.PaperSize = new PaperSize("PDI", 1100, 1700);
        pd.DefaultPageSettings.Margins = new Margins(0, 0, 0, 0);
        pd.DefaultPageSettings.Landscape = true;
        pd.OriginAtMargins = true;
        //pd.DefaultPageSettings.PrintableArea = new RectangleF(0, 0, viewSize.X, viewSize.Y);
        //pd.DefaultPageSettings.HardMarginX = 0;
        //pd.DefaultPageSettings.HardMarginY = 0;
        //pd.DefaultPageSettings.PrinterResolution
        PrintDialog pdialog = new PrintDialog();
        pdialog.Document = pd;
        if (pdialog.ShowDialog() == DialogResult.OK)
        {
            //set the print image to be the bitmap of the glcontrol
            glControlBits = GrabScreenshot();
            //save the bitmap, for debugging purposes
            glControlBits.Save(@"C:\Users\Shane\Desktop\testbitmap.bmp");
            pd.Print();
        }
        else return;
    }

我认为问题可能是硬边距值由打印机设置,硬边距值为 25,硬边距值为 16。有没有办法将这些设置为零,这样我打印时就没有边距偏移?谢谢!

【问题讨论】:

    标签: c# printing margin


    【解决方案1】:

    您似乎没有使用 PageBorderless 属性。尝试使用the MSDN documentation.中指示的属性

    如果问题仍然存在,请告诉我。

    【讨论】:

    • 根据文档,很多打印机不支持这个属性。我也不确定如何实现这个功能
    【解决方案2】:

    打印机设置硬边距是有原因的。对于某些打印机来说,他们是认真的。

    特别是对于激光打印机,通常会有来自引擎的页顶检测信号,打印机的控制器会收到该信号,并仔细确定何时开始点亮视频电路(说真的 - 它被称为视频电路,因为它可以工作与 CRT 显示器相同)并在纸上写下电荷。开始得太早,您正在为第一条扫描线击中内部结构。通过在页面上扫描光束并将 FIFO 的输出馈送到光束控制电路来写入扫描线。光束可以在纸上覆盖的区域只有这么多,并且有硬性限制。你不能改变它。

    喷墨打印机可以在页面上进行很好的 L/R,但通常有机械原因导致它们无法管理 T/B,因为纸张可能(例如)没有足够牢固地固定在压板上以喷射墨水到顶部 3 毫米左右。

    【讨论】:

    • 那么如何复制 Windows 照片查看器使用的打印行为以将图像打印到整页上
    猜你喜欢
    • 2020-06-04
    • 2011-04-05
    • 2012-04-16
    • 1970-01-01
    • 2016-11-03
    • 2017-02-13
    • 2023-04-03
    • 2012-09-04
    相关资源
    最近更新 更多