请各位帮帮忙看看这个打印问题,请帮我分析一下?

sunjhgq 2003-09-26 01:34:12
我现在把那个问题详细的说一下.
> 物理纸的大小是width=216mm height=279mm也就是letter的纸型.纸的每一张是连接在一起的.
> 打印机是epson k1600
> 在程序中我是这样设置pageFormat的
> //设置默认纸张
> //width:纸张宽度 height:纸张高度 单位都是mm
> //marginX:水平页边距 marginY:垂直页边距 单位都是mm
> //orientation: 方向(等于1为纵向,等于0为横向)
> public void setDefaultPaper(int width,int height,double marginX,double marginY,int orientaion)
> {
> Paper dfPaper=new Paper();
> double dfWidth=width*MM_TO_PAPER_UNIT;//width=216mm
> double dfHeight=height*MM_TO_PAPER_UNIT;//height=279mm
> dfPaper.setSize(dfWidth,dfHeight);
> double marginSizeH=marginX*MM_TO_PAPER_UNIT;//5mm
> double marginSizeV=marginY*MM_TO_PAPER_UNIT;//10mm
> dfPaper.setImageableArea(marginSizeH,marginSizeV,dfWidth-2*marginSizeH,dfHeight-2*marginSizeV);
> pageFormat.setOrientation(orientaion);
> pageFormat.setPaper(dfPaper);
> }
> 问题(情况):
> (1)假若我按正常的物理纸的大小(216*279)设置pageFormat的话,打印的效果是这样子的,在第二页的上边会有167mm(包括了上边距)的空白,数据占的空间是247mm第三页的下边会有143mm的空白(包括了下边距).第四页上边会有40mm(包括了上边距)的空白.第二面页的数据会打印在第二和第三页物理纸上,第三页的数据会打印在第四的物理纸上.
> (2)假若我调节打印机,人工的来换纸(一页一页的打印)就没有问题.
> (3)假若我在pageDialog(页面设置对话框)把纸型设置为A4(210*297)的大小的话,或者在程序中把纸型设置为大小的纸,那么打印的效果基本上没有情况(1)那样子了.但还是有一点点的,打印的页数很多的话,也会有数据会打印到下一页去.
> 象第三种情况话,我在程序中设置的物理纸的大小比正常的纸要大,是不是说明,打印机并不知道实际的纸是多大?是不是封装在printabel,pageabel接口中的数据面板JPanel的大小是和A4纸的大小相同呢?但我在那个程序(发给你那个)中数据面板JPanel的大小比letter的纸还要小呀!
我要怎样才能解决情况(1)呢?请帮我分析一下,谢谢!
...全文
41 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
sunjhgq 2003-09-29
  • 打赏
  • 举报
回复
仁兄来看一看呀,帮帮忙呀!谢谢!
liad 2003-09-28
  • 打赏
  • 举报
回复
帮你up

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧