//作過自動開票系統的高手,大富翁上的高手,快進來關注這個問題!(15分)

  • 主题发起人 主题发起人 hurryman
  • 开始时间 开始时间
H

hurryman

Unregistered / Unconfirmed
GUEST, unregistred user!
//作過自動開票系統的高手,大富翁上的高手,快進來關注這個問題!
//我遇到難題.
//比如:
//會計部門每天的票据都入到表里:
//票號,日期,開票人,金額等
//又有一種統一的票据,
//我要實現把空的這種統一的票据送入打印機打印,
//那些數就打印到指定填寫處,
//和銀行里打印存折一樣,
//可能我付的分不多,但我還是誠肯的向各位高手請教
 
help me every body
am hurry !
up
 
沒有人關注這個嗎?
 
我俋想實現用空發票當打印紙,將指定數据打到上面.
大家有好方法嗎.
我的mail :wanghui@wahshing.com
 
我用pb做过,我们是打印到税务局的发票,
其实很简单,先去找张样本来,在你的报表中把格式(也就是按发票的样子在报表上画出来
,一定要精确。一般一张报表都包含几张发票,即一次查询出几条记录即可),然后你正式
使用时去税务局买的票都是好几张连在一起的,正好就是a4b5的纸张,如果不是的,你就先
了解它是什么规格的,在你报表中做出来就行。效果很好
 
仿佛要做一些模板出来吧,在对于对于不同的票据进行识别,找到合适的打印模板,套进去
,可以吗?
我在其他的领域中利用这种思路做过的
 
要适应多种票据可能要麻烦些,我们一般是针对专门系统开发,没做过自适应的,我想
应该是能动态调整的格式吧
 
不好意思,最近比较忙,没有上这里。
看了大家的提示,谢谢大家,
我们这里用的是专用发票,只用把空发票送进打印机,就直接打印。
cqwang ;
你的方法我想是可以,我也试过,可是,如果用户的报表放的不准,打印出来也是不
好看的,我想知道具体你是如何来解决这个问题的。
谢谢。
希望大家继续给我提供思路,谢谢。
 
1、先取得当前打印机的结构:DEVICEMODE,然后再设置所打印纸张的大小、页边距等;
2、用函数GETDEVICECAP取得当前打印机的相关设置(如:每英寸的像素等值);
3、可以直接调用printer.canvas。textout函数定位输出所需打印的内容即可。
 
:zlc_168,
可不可以在详细些讲讲你的方法,先谢了。
 
如果是固定的票据要好办些
纸张当然是固定的,而且当然要求用户要正确放纸,不然你是横的,他偏要来个竖的,
你也要处理?
你的报表是可以拖动控制的,比如边界线条等,就象word里的表格一样。这样只要纸放
对了,即使屏幕上稍有偏差,也可以用鼠标调整。总之,你把报表的线条做成能拖动的,
随用户怎么拉就是他的事了。
我们是这样实现的,效果很好,偏差一般最多在1点几毫米(我们可是拿尺量了的,不然
打废一张人家可不干,都是钱买的,而且票据编了号不能随便作废)

 
打印问题,高手请进。
我想用票据当打印纸,在指定的位置打印数据。
但我遇到一个问题:
打印机打印时,使用的单位因该是象素或英寸,
可是我在程序打印(X,Y,TEXT)里面的(X,Y)
我是用尺子量的,单位是毫米,我担心不准。
我想知道,我用毫米为单位,比如我要在纸的
printer.Canvas.TextOut(10,10,'AAAAAAAAAAAAAA');(单位是毫米,我用尺子量的)
打印(纸的左上角),这时的单位是毫米,
会不会打印在这个位置。如果不会,我该如何解决。
假如在WORD里面,我同样使用A4或A3的打印纸,想在我
放如打印机的纸的上面(10,10)(单位是毫米)位置打印数据,我同样用
printer.Canvas.TextOut(10,10,'AAAAAAAAAAAAAA');(单位是毫米,我用尺子量的)
会不会是正确的。
我这里没有打印机。希望大家可以帮我。

我到其它部门用它们的打印机试了一下。出错!
implementation
uses printers ;
{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
printer.Canvas.TextOut(10,10,'AAAAAAAAAAAAAA');
end;
错误提示:
“printer is not currently printing.”
 
没人回答
 
后退
顶部