求票据打印的相关资料

Allen 2005-03-30 09:39:22
大家介绍一些资料吧,最近在做票据打印的软件,但网上、书店找了很久,关于这方面的书籍实在很少。报表打印的到有不少,可我要的是输入一些要素,然后打印有固定格式的空白的票据(比如支票、在银行填写的空白存款单),带一些简单的数据库功能。帮我看看有什么好的资料,最好是VB或者DELPHI方面的,谢谢
...全文
185 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhiyd 2005-04-15
  • 打赏
  • 举报
回复
找我有现成的很便宜
QQ:22660559
Mail:zhiyd@163.com
可以任意定制,套打各种票据和文件
zhiyd 2005-04-15
  • 打赏
  • 举报
回复
找我有现成的很便宜
QQ:22660559
Mail:zhiyd@163.com
可以任意定制,套打各种票据和文件
Allen 2005-04-08
  • 打赏
  • 举报
回复
也就是看一般的和打印相关的资料就行了?
fox2828 2005-04-06
  • 打赏
  • 举报
回复
我前段时间做网上办案系统时也遇到了这个问题,我是从网上找的精确打印,利用套打技术解决的.
Allen 2005-04-06
  • 打赏
  • 举报
回复
是不是大家都不怎么接触这个方面的东西,所以资料也少些?
suyun9329 2005-04-06
  • 打赏
  • 举报
回复
up
hthunter 2005-04-06
  • 打赏
  • 举报
回复
其实就是套打嘛,有那么复杂吗?很多打印控件都可以控制要打印的内容的输出位置的
日总是我哥 2005-04-06
  • 打赏
  • 举报
回复

我前阵子在做这个小东西,因为一些原因中止了:)
日总是我哥 2005-04-01
  • 打赏
  • 举报
回复
:)
Allen 2005-04-01
  • 打赏
  • 举报
回复
我觉得给定票据样式再写代码就可以了,票据样式不会太大改变的,如果变了再改代码也是可以的。
Allen 2005-03-30
  • 打赏
  • 举报
回复
谢谢楼上的,可要写这样的程序要参看哪些书呢?
xiaojinyulyh 2005-03-30
  • 打赏
  • 举报
回复
以下是我的打印单元里的东西,你可以看看 目前我正在忙没有时间给你写过多的注释,有问题可以联系
Unit USysPrinter_5;
{ 国际货物运输代理 }

Interface
Uses
Windows,
Messages,
SysUtils,
Variants,
Classes,
Printers,
IniFiles,
Forms;

Type

TSysPrinter_5 = Class
Private

FpstX_Charge5: Integer;
FpstY_Charge5: Integer;
FpstX_Bank: Integer;
FpstY_Bank: Integer;

FPaperLen: Integer;
FPaperWid: Integer;

Fstr_Bank: String;
Fstr_Charge5: String;


Procedure SetPaperLen(Const Value: Integer);
Procedure SetPaperWid(Const Value: Integer);

Procedure SetpstX_Bank(Const Value: Integer);

Procedure SetpstX_Charge5(Const Value: Integer);

Procedure SetpstY_Bank(Const Value: Integer);

Procedure SetpstY_Charge5(Const Value: Integer);


Procedure Setstr_Bank(Const Value: String);

Procedure Setstr_Charge5(Const Value: String);
Public
{ 读出、保存设置 }
Procedure LoadConfig();
Procedure SaveConfig();
{ 打印发票 }
Function PrintMe(): Boolean;

{ 发票长度 }
Property PaperLen: Integer Read FPaperLen Write SetPaperLen;
{ 发票宽度 }
Property PaperWid: Integer Read FPaperWid Write SetPaperWid;

{ 银行 }
Property pstX_Bank: Integer Read FpstX_Bank Write SetpstX_Bank;
Property pstY_Bank: Integer Read FpstY_Bank Write SetpstY_Bank;

{ 帐号 }
{ 付款单位 }
{ 开票日期 }
{ 船名、航次、航班、车次 }
{ 提单号 }
{ 开航日期 }
{ 起运港 }
{ 卸货港 }
{ 目的港 }
{ 经营项目 1~~~5 }

Property pstX_Charge5: Integer Read FpstX_Charge5 Write SetpstX_Charge5;
Property pstY_Charge5: Integer Read FpstY_Charge5 Write SetpstY_Charge5;

{ 备注 }
{ 金额大写 }
{ 合计 }
{ 税务登记号 }

{ 税控装置号 }

{ 制单 }

{ 机打票号 }
{ 工商登记号 }

{ 复核 }

{ 税控装置防伪码 }

{ 支票 }

{ 送打印内容 }
Property str_Bank: String Read Fstr_Bank Write Setstr_Bank;
Property str_Charge5: String Read Fstr_Charge5 Write Setstr_Charge5;
End;

Var
SysPrinter_5: TSysPrinter_5;

Implementation

Uses
USysInfo;

{ TSysPrinter_5 }

Procedure TSysPrinter_5.LoadConfig;
Var
IniFile: TIniFile;
Begin
IniFile:= TIniFile.Create(SysInfo.IniFileName);

Try
{ 纸张长度 }
PaperLen:= IniFile.ReadInteger('PRINT_INFO_5', 'PAPER_LENGTH', 0);
{ 纸张宽度 }
PaperWid:= IniFile.ReadInteger('PRINT_INFO_5', 'PAPER_WIDTH', 0);

{ 经营项目 1~~~5 }
pstX_Charge5:= IniFile.ReadInteger('PRINT_INFO_5', 'CHARGE5_X', 0);
pstY_Charge5:= IniFile.ReadInteger('PRINT_INFO_5', 'CHARGE5_Y', 0);

Finally
IniFile.Free;
End;
End;

Function TSysPrinter_5.PrintMe: Boolean;
Var
PrnDevice, PrnDriver, PrnPort: Array[0..255] Of Char;
PrnHandle: THandle;
PrnMode: PDeviceMode;
i, line, prnline, H: integer;
StrTemp: String;
Begin
Result:= False;

{ 设定打印参数 }
Try
Printer.GetPrinter(PrnDevice, PrnDriver, PrnPort, PrnHandle);
Except
MessageBox(Application.Handle, '无法获取系统打印机信息!', '系统信息',
MB_OK + MB_ICONINFORMATION);
Exit;
End;

If PrnHandle = 0 Then
Begin
MessageBox(Application.Handle, '无法获取系统打印机信息!', '系统信息',
MB_OK + MB_ICONINFORMATION);
Exit;
End
Else
Begin
PrnMode:= GlobalLock(PrnHandle);
With PrnMode^ Do
Begin
//打印份数
dmFields:= dmFields Or dmCopies;
dmCopies:= 1;

//打印方向
dmFields:= dmFields Or dmOrientation;
dmOrientation:= DMORIENT_PORTRAIT;

//纸张大小
dmFields:= dmFields Or dmPaperSize;
dmPaperSize:= DMPAPER_USER;

dmFields:= dmFields Or dmPaperWidth;
dmPaperWidth:= PaperWid;

dmFields:= dmFields Or dmPaperLength;
dmPaperLength:= PaperLen;

dmFields:= dmFields Or PrnMode^.dmLogPixels;
dmLogPixels:= 300;

ResetDC(Printer.Handle, PrnMode^);
End;
End;

{ 开始打印 }
Try
Printer.Canvas.Font.Name:= SysInfo.PrnFont;
Printer.Canvas.Font.Size:= SysInfo.PrnSize;

Printer.BeginDoc;
h:= Printer.Canvas.TextHeight(str_Bank);
If length(str_Bank) > 24 Then
Begin
prnline:= length(str_Bank) Div 24;

StrTemp:= str_Bank;
For i:= 1 To prnline Do
Begin
If (ByteType(copy(StrTemp, 1, 24), 24) = mbSingleByte) //判断最后一个字节
Or (ByteType(copy(StrTemp, 1, 24), 24) = mbTrailByte) Then
Begin //单字母 //双字节中第二位 //直接打印
Printer.Canvas.TextOut(pstX_Bank, pstY_Bank +
(i - 1) * h + 1, copy(StrTemp, 1, 24));
StrTemp:= copy(StrTemp, 25, Length(StrTemp) - 24);
End
Else
If ByteType(copy(StrTemp, 1, 24), 24) = mbLeadByte Then //双字节中第一位
Begin //留下一行打印
Printer.Canvas.TextOut(pstX_Bank, pstY_Bank +
(i - 1) * h + 1, copy(StrTemp, 1, 23));
StrTemp:= copy(StrTemp, 24, Length(StrTemp) - 23);
End;
End;
i:= length(str_Bank) Div 24;
Printer.Canvas.TextOut(pstX_Bank, pstY_Bank + i * h
+ i, StrTemp);
End
Else
Printer.Canvas.TextOut(pstX_Bank, pstY_Bank, str_Bank);


Printer.Canvas.TextOut(pstX_Item5, pstY_Item5, str_Item5);
Printer.Canvas.TextOut(pstX_Charge5, pstY_Charge5, str_Charge5);
///////////////////////////////////////////////////////////////////////

Printer.EndDoc;
Result:= True;
Except
MessageBox(Application.Handle,
'无法处理打印信息,请确定打印机驱动程序安装正确!', '系统信息', MB_OK +
MB_ICONINFORMATION);
Exit;
End;
End;

Procedure TSysPrinter_5.SaveConfig;
Begin

End;



Procedure TSysPrinter_5.SetPaperLen(Const Value: Integer);
Begin
FPaperLen:= Value;
End;

Procedure TSysPrinter_5.SetPaperWid(Const Value: Integer);
Begin
FPaperWid:= Value;
End;

Procedure TSysPrinter_5.SetpstX_Bank(Const Value: Integer);
Begin
FpstX_Bank:= Value;
End;
Procedure TSysPrinter_5.SetpstY_Bank(Const Value: Integer);
Begin
FpstY_Bank:= Value;
End;


Procedure TSysPrinter_5.SetpstX_Charge5(Const Value: Integer);
Begin
FpstX_Charge5:= Value;
End;


Procedure TSysPrinter_5.SetpstY_Charge5(Const Value: Integer);
Begin
FpstY_Charge5:= Value;
End;


Procedure TSysPrinter_5.Setstr_Bank(Const Value: String);
Begin
Fstr_Bank:= Value;
End;

Procedure TSysPrinter_5.Setstr_Charge5(Const Value: String);
Begin
Fstr_Charge5:= Value;
End;

Initialization
SysPrinter_5:= TSysPrinter_5.Create;
Finalization
SysPrinter_5.Free;

End.
xiaojinyulyh 2005-03-30
  • 打赏
  • 举报
回复
我刚好在做开票软件,我应该可以帮助你;
软件介绍: 精锐万能票据打印专家是精锐软件面向票据处理市场推出的一款专业票据打印软件,利用该软件可轻松打印现金支票、转帐支票、旅行支票、转账支票、贷记凭证、电汇凭证、信汇凭证、进账单、现金结款单、快递单、汇/本票申请书、收据、各种ZJ等格式票据。精锐万能票据打印专家全面解决了企事业单位票据多样、种类繁多、管理费力、操作繁琐的票据打印难题,是企业单位、事业单位、ZF机构、民间团体票据打印管理工作的首选软件。 精锐万能票据打印专家适合企业单位、事业单位、ZF机构、民间团体、个人使用,能大大提高经理、财务、会计、出纳等相关人员票据书写效率及正确率,完全满足客户的票据打印及管理需。 功能特色: 1、精确打印任何商务票据:支票、银行票据、邮政单据、业务单据、财务软件、凭证等各种票据,能在普通打印机上实现误差在0.1毫米的精确打印 2、软件界面所见即所得,全仿真票据模板,票据填写一目了然,操作简单,易学易用 3、多文档操作环境,实现同时填开多份票据,轻松切换票据 4、支持票据项目间的公式计算:能实现录入小写金额自动转换为大写,票据各项目间能定义四则混合运算,轻松实现快速开票 5、自动填写大写日期,完全符合银行票据填规范 6、预置数据管理:用户可以定义票据开票时选择填列的常用数据,打印的时候只需选取填列,输入效率大幅提高 7、开放式票据模板设计理念:票据模板可视化设计,所见即所得,定位精确。提供票据模板导入、导出功能,实现票据模板的交换使用,一人设计、多方使用提供票据模板复制功能,可以现有票据为模板,生成创建格式相近新票据。没有电脑基础的用户也可轻松设计票据 8、提供标签、编辑框、间隔框、检查框、金额框、日期框等控件元素,可以设计出任何票据 9、适应各种类型的打印机:针式打印机,激光打印机、喷墨打印机 10、打印记录管理:系统可以保存每次票据打印的内容,支持导出为excel电子表格,方便查询、整理、统计 修改项公示: 1,带壳修改,破解加密狗功能限制,加入授权补丁,所有功能实现。 2,由于本软件需要OCX组件和其组件类型库支持,加入组件代码,安装时会写入注册表,杀毒软件会提示,选择允许所有,不然无法运行,提示报错 3.安装提示错误的,重新安装,如果被360等软件拦截,选择允许所有, 4.安装后不懂如何使用,看看帮助,其实挺简单,一看就会,设置好一定要保存,以后方便使用
E8票据打印软件V9.45 E8票据打印软件,通过简单的设置,完成所有银行的现金支票、转帐支票、电汇单、进款单、现金缴款单及各种信封、各种证书、工作证、荣誉证书、记帐凭证、各类发票、各种进货单出货单以及各种票据的打印功能。支持各种外币打印。日期自动生成,智能自动记忆功能,输入数字金额,自动转换大写或人民币大写形式,最大限度避免因手工填写票据所产生的差错,将工作人员从繁杂的票据中解脱出来。打印出来的票据准确清晰,不易涂改,对于防范风险、确保安全、规范管理起到很好的作用。可根据用户需要自行设置各种各样格式的打印票据,既可全完打印也可套打;支持各种型号的打印机,是真正意义上的万能票据打印软件。 软件功能特点如下: 1、对于银行票据,支持多个开户行,同一票据可设多个银行模版。 2、支持各种外币打印。 3、只需输入小写金额,系统自动转换成大写金额;票据日期自动生成。 4、对所有往来客户、自己单位银行信息及用途预先设置,开票时只需选择相应的客户,其开户行、帐号等信息自动调入,提高开票速度。 5、客户信息快速检索,开具票据更加得心应手。 6、模版自定义功能,用户可自己增加新的票据模版,自由插入数据类型,计算方式等。 7、可调入票据的扫描图,只设置打印位置,大大加速套打票据设置速度。 8、票据各栏位的打印位置可在所见即所得下动态调整字体、位置、颜色等。 9、智能记忆功能,于设置过数据关联的打印项目如支票的收款人、用途等自动记忆。 10、全部报表兼容Microsoft Excel,对打印过的票据内容导出到Excel功能,方便与其他文件的数据交换; 11、票据打印完成之的可进行票据打印作废,对打印保存的数据可以进行维护; 12、权限功能,超级用户具有一切操作权限,普通用户只有查询打印权限; 13、快速定位,灵活微调,打印机、及相对位置在软件内设置完成,丝毫不影响用户的其他工作。 14、可以进行代码关联 15、可以进行表内打印项的关联 16、可以自动进行日期、金额、数值的大小写转换 17、默认内置现金支票据、转帐支票、电汇单、进帐单的打印模版 18、对设置的打印票据个数不作任何限制,可以是任意个数 19、可从excel中导入数据 20、可批量打印 21、用户可自定义数据管理表 22、用户可将自定义的数据管理表关联至票据进行打印 23、可随意调入图片进行打印 24、用户可以自由导入导出设置好的打印模版; 25、用户可以自由设置人民币大写“元”字符; 26、对日期型、货币型、数值型数据用户可以自由设置打印显示格式; 27、用户可以选择设置是否打印背景扫描图; 28、软件可以自动缩放扫描图的大小使用自动适应设置的票据的大小,省去用户处理图片大小的麻烦。 29、对针式、喷墨、激光打印机都具有很好的兼容性。 30、联系信息: 0931-8277343 013008756671 QQ593668912 http://www.easyko.com 下载地址: http://www.easyko.com/download/software/e8billprint9.rar http://www.easyko.com/admin/bookpic/200811115502557368.jpg

830

社区成员

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

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