C# C语言中的打印机设置#

C# C语言中的打印机设置#,c#,printing,C#,Printing,我正在我的应用程序中创建一个PDF文件,然后打印它(工作正常) 当我在另一台计算机/打印机上打印此pdf时,它看起来不一样!我想让它看起来总是一样的,无论我在哪台打印机上打印 也许我必须设定边界?像这样: PrinterSettings ps = new PrinterSettings(); ps.DefaultPageSettings.HardMarginX = 0; ps.DefaultPageSettings.HardMarginY = 0; 但是硬边距是不可写的。你们有什么想法吗?试着

我正在我的应用程序中创建一个PDF文件,然后打印它(工作正常)

当我在另一台计算机/打印机上打印此pdf时,它看起来不一样!我想让它看起来总是一样的,无论我在哪台打印机上打印

也许我必须设定边界?像这样:

PrinterSettings ps = new PrinterSettings();
ps.DefaultPageSettings.HardMarginX = 0;
ps.DefaultPageSettings.HardMarginY = 0;

但是硬边距是不可写的。你们有什么想法吗?

试着这样设置:

 PrintDocument printDocument1 = new PrintDocument();

        var printerSettings = new System.Drawing.Printing.PrinterSettings();
        printerSettings.PrinterName = "Printer name";// optional
        //printerSettings.PrinterName = "HP Officejet J6400 series";

        printDocument1.PrinterSettings = printerSettings;

        printDocument1.PrintPage += printDocument1_PrintPage;
        PrintDialog printDialog1 = new PrintDialog();
        printDialog1.Document = printDocument1;
// in the dialog, you can set up the paper size, etc.
        printDialog1.UseEXDialog = true;
        if (printDialog1.ShowDialog() == DialogResult.OK)
        {
        printDocument1.Print();
        }
处理函数:

private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
    {
//This print form a rich textbox, but you can render pdf here.
        //e.Graphics.DrawString(richTextBox1.Text, richTextBox1.Font, Brushes.Black, 100, 20);
        //e.Graphics.PageUnit = GraphicsUnit.Inch;
    }
“看起来不一样”对我们没有帮助。