【打印机驱动DDK】输出内容位置在Page上正确的偏移量?

uno 2006-05-20 09:32:20
我遇到两种情况:

1、记事本打印输出的内容不使用StartBanding/NextBanding,在StartPage时,给出的pso->sizlBitmap尺寸是纸张内全部可打印区域的尺寸(就是比纸张小一圈,有边距的)
2、Word打印输出的内容使用StartBanding/NextBanding,在StartPage/StartBanding/NextBanding时,给出的pso->sizlBitmap尺寸不是纸张内全部可打印区域的尺寸,x方向上和第一种情况一致,但是y方向上是Banding的高度,而不是纸张内全部可打印区域的高度

对于第一种情况,我可以得到“打印输出内容起始位置(左上角)的偏移量”——(纸张尺寸 - 可打印区域尺寸) / 2
对于第二种情况,我可以得到的只能是x方向上的偏移量,y方向上的偏移量无从得知
并且,无论是哪种情况,我都是将左右边距视为相等来处理(或上下边距),这显然也是错误的。

请问,输出内容位置在Page上正确的偏移量应该如何计算?
...全文
179 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
会思考的草 2006-05-22
  • 打赏
  • 举报
回复
每次GRE调用你的DrvNextBand的时候累积band的高度,然后在DrvSendPage里不就可以得到整个页面的尺寸了吗?
uno 2006-05-22
  • 打赏
  • 举报
回复
嗯,是的,其实每次NextBand的时候,我的确可以累积band的高度,而且band的起始坐标也是逐渐往下增长,这已经不是问题

问题是,我不知道那个参数能告诉我,打印输出内容的(0,0)坐标,相对整个页面的偏移量——也就是页边距
uno 2006-05-21
  • 打赏
  • 举报
回复

比较急

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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