Winform C#编程中打印的两个问题:
1)我将页面设置中的纸张选为自定义,并设了纸张的宽和高,为什么无法预览,而改成A4等它提供的纸张类型后,就可以预览了?
2)如何将设备坐标转换成毫米,如我要打印的某个数据的坐标为(50,50),我如何把它变成以毫米为单位?

解决方案 »

  1.   

    //毫米--〉100英寸
    private static float ChangeUnit_MMTo100Dpi(float val)
    {
      double dblVal = val * 10;
      dblVal = PrinterUnitConvert.Convert(dblVal, PrinterUnit.TenthsOfAMillimeter, PrinterUnit.Display);
      return Convert.ToSingle(dblVal);
    }//100英寸--〉毫米
    private static float ChangeUnit_100DpiToMM(float val)
    {
      double dblVal = val;
      dblVal = PrinterUnitConvert.Convert(dblVal, PrinterUnit.Display, PrinterUnit.TenthsOfAMillimeter) / 10;
      return Convert.ToSingle(dblVal);
    }