关于QuickReport在Win2K和WinXP下使用自定义纸张的解决方案,希望加入FAQ与大家共享!

telescope 2003-10-21 01:23:58
前两天在项目中遇到打印许可证的问题,于是就考虑用QuickReport的自定义纸张解决,到打印时才发现QuickReport预览中没有自定义纸张的选项.
到论坛来搜索,看到不少人发贴提到QuickReport在Win2K和WinXP下无法使用自定义纸张的问题,但并没有有效的解决方法,才觉得事情不妙!
后经过多方查找和总结,反复试验后终于成功打印出了自定义大小的许可证,为了使后来的网友不再走弯路,我愿把QuickReport在Win2K和WinXP下使用自定义纸张的办法整理后贴出来与大家共享,请大家帮我UP :)

一,请在QuickReport的Page中的PageSize属性中选择default而不是Custom,因为我们都知道,在Win2K或WinXP下预览时,没有Custom那项,所以不要选它!

二,请在Windows的开始->打印机和传真->文件->服务器属性中,任选一个纸型,然后勾选"创建新格式",此时"表格名"成为可写状态,给你自已要定义的纸型起个名字,然后在下面的"格式描述"中填写自定义纸张的尺寸,最后保存格式!

三,请用右键单击你要使用的打印机->属性,然后选择"高级"标签页,单击"打印机默认值"按钮->单击"高级"按钮,在"纸张规格"中,下拉选择第二步中你创建的纸张类型,然后"确定",然后"应用"....

四,需要注意的是,如果你在第二步设定的纸型在你选用的打印机中无法打印(比如纸宽超出了打印机的最大宽度),则第三步中的下拉选择纸型时,你将看不到你在第二步设定的纸型!

我忘了是不是要重起一下.
OK,到了这步,你的自定义纸张就会在打印中升效啦,在应用程序中预览后,你不必再选择纸型,直接去打印,你就会得到你要的结果,试试看吧,很爽的哦 :)
我的许可证是一个在宽行打印机中纵放才能放下,打印出来却要横着看的东东(我在QuickReport中设置了纸张横放,在上述的第三步中也选择了纸张横放),相信你的要求应该不会比这更困难,祝大家好运哦 :)

...全文
120 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
helin33 2004-03-23
  • 打赏
  • 举报
回复
笨蛋!!!
拿我的代码去吧,免费!!
HANDLE *hPrinter;
DWORD dwNeeded;
FORM_INFO_1 * pF1;

String szPrinterName="FP-530k"; //打印机名
String lczz="历程纸张";
pF1=new(FORM_INFO_1);
if(!OpenPrinter(szPrinterName.c_str(),hPrinter,NULL))
{
throw Exception("Call to OpenPrinter() failed");
}
else
{
pF1->Flags=FORM_USER;
pF1->pName=lczz.c_str();
pF1->Size.cx=217*1000;
pF1->Size.cy=140*1000;
pF1->ImageableArea.left=0;
pF1->ImageableArea.top=0;
pF1->ImageableArea.right=pF1->Size.cx;
pF1->ImageableArea.bottom=pF1->Size.cy;
if (!AddForm(hPrinter,1,pF1))
ShowMessage("无法添加自定义纸张");
else
ClosePrinter(hPrinter);
}
delete pF1;

之后,便会看到你自己定义的纸张了。爽吧.
liliangliang1981 2004-02-25
  • 打赏
  • 举报
回复
telescope(望远镜),你好!非常感谢你的帮助。不过我按你说的做了,还是有一些问题想向你请教。我程序里的报表长度是在打印时根据记录的多少自己决定的,而不是固定的。可是在设定新格式的大小时,高度设小了,记录多了就会出现分页的现象(在高度等于设定高度的后面有一段空白);高度设大了,记录少了就会往外跑纸(打印完了往外走一段空白纸)。请问是我哪里做的不对吗?该怎么解决?请指教!谢谢!!!
telescope 2003-12-17
  • 打赏
  • 举报
回复
我的这个贴子应该够格加入FAQ,很多人会用得着,只要有BCB6,不用下载任何东西,设置完了就能用......
telescope 2003-11-25
  • 打赏
  • 举报
回复
to watercelery(空心菜) :
如果你做对了我给出的第二步和第三步,打印出来就不是A4纸,而是你自定义的纸型啦.
第二步和第三步,作用是把你自定义的纸型设为默认,而缺省的默认纸型是A4. 你打出来时是A4,说明设置默认那步你没做对,再试试....
huang_jihua 2003-11-24
  • 打赏
  • 举报
回复
quickrep新版本
去主页 http://www.qusoft.com/ 下载,密码输入 febaruli 即可下载!
watercelery 2003-11-24
  • 打赏
  • 举报
回复
我是连纸打印,就像打印超市的发票一样,是在一张纸上打,该怎么设呀?
watercelery 2003-11-24
  • 打赏
  • 举报
回复
大哥,没用。。
我预览的时候是对了,不过打印出来又成A4纸了!!

狂郁闷!!!!!!!!!!!!!!!!!
littlefish0101 2003-11-22
  • 打赏
  • 举报
回复
太好了,我已经找了很长的时间了。
ljb198102 2003-11-21
  • 打赏
  • 举报
回复
1.在打印机属性中创建自定义页面
2,在QuickReport的Page中的PageSize属性中选择Custom而不是default,
(在Win2K或WinXP下),Apply之后再将Custom改为default,
即可生效
huang_jihua 2003-11-17
  • 打赏
  • 举报
回复
quickrep3.62 到QUICKREP的网站上可以下载,不过好象版本可能有更高的了。
各种版本的DELPHI,BCB下面的都有。我记得好象要先注册一个名字,免费注册的。
wenxindiaolong 2003-11-16
  • 打赏
  • 举报
回复
请问在繁体98中编写的bcb程序,在打印报表时,繁体2000为什么不能全部打印。也是要按版主这样设置吗?谢谢。
telescope 2003-10-24
  • 打赏
  • 举报
回复
呵呵,要是能找到那个控件,我也就不用费这么大周折了!!
谁都喜欢能规范地解决问题的控件,可是手里没有,问题不等人,所以只好.....
Cocoky 2003-10-21
  • 打赏
  • 举报
回复
thank you!
yuyulily 2003-10-21
  • 打赏
  • 举报
回复
楼上的quickrep3.62那有啊?
可以安装到BCB吗?
huang_jihua 2003-10-21
  • 打赏
  • 举报
回复
quickrep3.62可以实现自定义纸张
书生 2003-10-21
  • 打赏
  • 举报
回复
Mark

13,822

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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