使用浮点数自定义纸张大小

Custom papersize using floating point numbers

有没有用实数设置纸张大小的方法? 我正在尝试这个

PaperSize ukuran = new PaperSize("A8", 800, 293);        
printDocument1.DefaultPageSettings.PaperSize = ukuran;
printDocument1.PrinterSettings.DefaultPageSettings.PaperSize = ukuran;

效果很好...问题是当您尝试重复打印一些账单时,打印机的穿孔向下移动并且不会正好停在切纸标志上。我需要停在 A8 纸张尺寸上,即每次打印 A8 纸张高度的 1/4。像这样

PaperSize ukuran = new PaperSize("A6", 800, 292.345564); //which is A8 size 


(来源:designinc.co.uk

嗯,custom paper size 只接受整数,结果是厘英寸..

常规解决方案是从枚举中选择正确的media sizeISOA8 = A8

哪个应该工作。如果像我假设的那样,没有想到两个原因:

  • 这可能是 GDI+ 或驱动程序中的错误
  • 您的论文可能实际上不是 A8

两者都很难改变。

所以现在可能是解决方法的时候了:就像我们的日历不时插入 天和闰秒一样,您可以尝试计算需要多少页之后插入稍大(或小)的跳页..

Sombody 可能仍然需要检查打印机 after/before 每个打印作业以确保其设置正确..