问题描述
我用VS2005做winform的打印需要打印页可变高的任务单当然我这个简单点只需要两个高度就A4的一半高和A4的全高请问怎么在连续打印过程中根据条件来变化这两个页高度呢?我现在是在打印机上设了两个自定义纸张mysize0和mysize1,然后在OnStartPage放了这句foreach(PaperSizepsindocument.PrinterSettings.PaperSizes){if(ps.PaperName=="mysize1"){document.DefaultPageSettings.Margins.Top=35;document.DefaultPageSettings.Margins.Left=50;document.DefaultPageSettings.Margins.Right=15;document.DefaultPageSettings.Margins.Bottom=30;document.DefaultPageSettings.PaperSize=ps;document.PrinterSettings.DefaultPageSettings.PaperSize=ps;}}在连续打印过程中根据条件调用这两个自定义纸张,预览看正常,可打印的时候还是按A4换页这样是比较浪费纸张的。请问这方法对对?或者是跟打印机设置有关呢?现在是HP的1012激光打印机。或者有什么方法实现那功能吗?求求各位,急。
解决方案
解决方案二:
好像是跟打印机的设置有关以前弄一个打印程序,不管在程序里面怎么设置,它都走A4纸大小,后来才知道,他们那台打印机是固定好了的,只能走那么大的纸,只能另换一台。
解决方案三:
那没办法了吗
解决方案四:
首先看你的打印机指令调用是否正确,然后再看打印机本身是否提供了中途可以改变打印页高的API和接口。打印预览的效果和实际的打印效果还是有差距的,这是很正常的。具体只有你在实际的过程中不停的进行调试,然后找到一个最佳点才行。
解决方案五:
没弄过打印机帮顶下吧