十万火急!关于图形连续打印问题!高手请进!!!!!!!!!

lishangshui 2002-03-22 11:09:58
最近在编程过程中遇到一打印问题,述说如下:
夸张一点,要打印200米长的图形,当然宽度是纸宽,打印纸是连续的(一张纸长28厘米左右,纸是连在一起的),我用EPSON STYLUS COLOR 1520K打印机,可是在设置纸长时遇到了,只能设置1117毫米的长度限制,这当然不行啊,我就用分页,可是每次打出来的都一样,本来想像一行一行打印那样在程序中分页,可是不行啊,如果是图形怎么能在第一页中打一半,在第二页中打另一半呢?我怎么也想不出来了,难啊!
所以我想向高手请教怎么把200米长的图形连续打印出来,能给源码,请发jsshfj@163.com,或者加QQ5133001给我更详细的指点,谢谢!
...全文
46 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
colarcui 2002-03-27
  • 打赏
  • 举报
回复
哪里有通用的打印控件或代码类?支持象分页、预缆什么的。

getletter@163.com
lishangshui 2002-03-27
  • 打赏
  • 举报
回复
这个我自己解决了,与打印驱动程序有关
bluesea21 2002-03-24
  • 打赏
  • 举报
回复
把图形分成两部分.
分别打印.
lishangshui 2002-03-24
  • 打赏
  • 举报
回复
那我岂不是死了,55555555555555~~~~~~~~~`
lishangshui 2002-03-23
  • 打赏
  • 举报
回复
zzd(freebreath):这种方法我知道,不过太麻烦,相当于要自己编写驱动程序啊
alafeng(只有一条街的县城),你以前做什么东东的时候遇到这种问题的,说不定我们是同行,呵呵~~~~~~~
once168 2002-03-23
  • 打赏
  • 举报
回复
好像是打印机决定的
我记得:有的打印机不能加长(你的好像就是这种),而有的打印机能加长(支持无限长-如像是HP的)
你只要到系统的打印机的属性中一查就知道了
因为每一张这间有一定的空,你作为两张连续肯定是不行的
lishangshui 2002-03-23
  • 打赏
  • 举报
回复
楼上说得对,我试过,不好用,而且有有效打印区域的问题,比方说设纸长100mm,而有效打印区域就只有80多mm,这样就有一部分打不出来,这个我解决,还有就是下面的问题:
有没有人知道怎么让打印纸不走纸,就是说打到那里,就停在那里,这样分页就可以了,要不然图形连不上,中间因为走纸原因有空白
fengjinsong 2002-03-23
  • 打赏
  • 举报
回复
其实设置纸张长度为自定义长度,有时也不能成功,不知道怎么回事。

设置printInfo->m_pPD->m_pd.hDevMode->dmPaperSize = 256//为自定义纸张
printInfo->m_pPD->m_pd.hDevMode->dmPaperLength = //设置长度
printInfo->m_pPD->m_pd.hDevMode->dmPaperWidth = //设置宽度

并不总能成功。与操作系统,打印驱动好像都有关系。
惠普的绘图仪现在可以打到25米长了,再长就难了。
illuminate 2002-03-23
  • 打赏
  • 举报
回复
1先设置打印区域的矩形与纸长相同
2.把位图按纸长分成若干个小位图
3.进行分页打印
zzd 2002-03-22
  • 打赏
  • 举报
回复
提一个思路:参考打印机手册,有详细的指令说明,参照指令说明,通过并口将打印指令(ESC编码)及图形数据送到打印机(也就是绕过打印机驱动程序),理论上是应该能够实现的,
lishangshui 2002-03-22
  • 打赏
  • 举报
回复
楼上的说的对,我的情况跟你差不多,我试了好多怎么也不行,哪位能不能给点源码啊
alafeng 2002-03-22
  • 打赏
  • 举报
回复
这个问题,偶几年前就提过了,可惜到现在偶还是不知道该如何解决。
后来听说,只有自己写驱动了------不用WINDOWS带的驱动程序。

偶以前用的是HP大绘图仪,最多可以绘4米多长吧,宽度为0。5米(用的是WINDOWS的驱动)。

以前在SUN工作站上见过这种东西,不知道如何实现的,不过偶还见过另一种做法,就是将图形写在内存里,然后压到打印机内存中去,但,具体如何实现的还是不知道。

希望这里有高手能解决。
wuchunzhong 2002-03-22
  • 打赏
  • 举报
回复
是呀!对于printInfo->m_pPD->m_pd.hDevMode好像要做强制转换DEVMODE *才行!
lishangshui 2002-03-22
  • 打赏
  • 举报
回复
在什么地方写,是在preparprinting里写吗?我试过好些不好用
wuchunzhong 2002-03-22
  • 打赏
  • 举报
回复
设置printInfo->m_pPD->m_pd.hDevMode->dmPaperSize = 256//为自定义纸张
printInfo->m_pPD->m_pd.hDevMode->dmPaperLength = //设置长度
printInfo->m_pPD->m_pd.hDevMode->dmPaperWidth = //设置宽度

1,649

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 非技术类
社区管理员
  • 非技术类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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