各位大虾,小弟又有问题了:
    做的程序中要实现打印的功能,我现在是直接打印的窗体(我在窗体上布局,放好各个text控件的位置,然后先给text付值,然后直接用form1.print进行打印),效果还可以,但是问题来了,在打印完一张表单后,打印机会把剩余的纸张全卷出来,但我还要继续打印其他表单的(有点类似于超市收银机上的收据打印),不可能打一次放一次纸的。请问是不是打印机的问题还是我方法错了。
    也请大家推荐一下要实现这种打印功能的好方法,谢谢了。
    我把打印功能说一下,类似于超市收银机上的收据打印:
    首先,要实现定点打印的功能;
    其次,要可以连续打印多张单据;
    真的和收银机的打印很相象,大家帮我出出注意吧。说的有点乱,有什么地方没说明白,我会来解释清楚的。再次拜谢了。

解决方案 »

  1.   

    如果要用form1.print, 可能要把打印機的紙張設定為你想要的紙張大小吧.
      

  2.   

    如何设定打印纸张的大小呀?直接用form.print也能够设定的么?那参数是什么呢?谢谢了。:)
      

  3.   

    现在想在按了打印按钮之后,调用windows的api,进行打印机设置,来进行纸张大小的选择,请问控制打印机的api函数是什么啊?最好劳烦大侠给出代码,谢谢。小弟对delphi接触不是很深,大家见谅。
      

  4.   

    请参考:Api 函数列表——与打印相关 
    Api 函数名 
     函数说明 
     适用范围 
     
    W3.x
     W95
     NT
     
    AddPrinterConnection
     为当前用户建立与打印机的联系 
     否 
     是 
     是 
     
    StartPagePrinter
     开始打印机 
     否 
     是 
     是 
     
    StartDoc
     开始打印作业 
     是 
     是 
     是 
     
    StartDocPrinter
     开始打印作业 
     否 
     是 
     是 
     
    AddPrintProvidor
     加入一个打印机支持器 
     否 
     是 
     是 
     
    AddForm
     加入一个打印机窗体 
     否 
     是 
     是 
     
    AddPort
     加入一个打印机端口 
     否 
     是 
     是 
     
    AddMonitor
     加入一个打印机管理器 
     否 
     是 
     是 
     
    ShellExecute
     打开或打印指定文件 
     否 
     是 
     是 
     
    ClosePrinter
     关闭打开的打印机 
     否 
     是 
     是 
     
    WritePrinter
     向打印机输出数据 
     否 
     是 
     是 
     
    AddPrinter
     在打印机服务器上建立一个打印机 
     否 
     是 
     是 
     
    SetAbortProc
     设备打印作业的放弃函数 
     否 
     是 
     是 
     
    SetPrinter
     设置打印机信息 
     否 
     是 
     是 
     
    SetPrinterData
     设置打印机配置 
     否 
     是 
     是 
     
    SetJob
     设置打印作业信息 
     否 
     是 
     是 
     
    ResetPrinter
     设置打印数据类型和设备模式值 
     否 
     是 
     是 
     
    DeletePrinterConnection
     删除与打印机的连接 
     否 
     是 
     是 
     
    DeletePrintProcessor
     删除打印机处理器 
     否 
     是 
     是 
     
    DeletePrinterDriver
     删除打印机驱动程序 
     否 
     是 
     是 
     
    DeletePrinter
     删除打印机服务器上的打印机 
     否 
     是 
     是 
     
    DeleteMonitor
     删除打印机监视器 
     否 
     是 
     是 
     
    DeletePrintProvidor
     删除打印机提供者 
     否 
     是 
     是 
     
    DeleteForm
     删除打印机窗体层差 
     否 
     是 
     是 
     
    AbortPrinter
     删除打印机缓冲文件 
     否 
     是 
     是 
     
    DeletePort
     删除打印机端口 
     否 
     是 
     是 
     
    AddJob
     启动一个打印作业 
     否 
     是 
     是 
     
    AdvancedDocumentProperties
     进行打印机高级设置 
     否 
     是 
     是 
     
    PrintDlg
     建立打印文本对话框 
     否 
     是 
     是 
     
    EnumPrintProcessors
     枚举已安装的打印机处理器 
     否 
     是 
     是 
     
    EnumPrinterDrivers
     枚举已安装的打印机驱动程序 
     否 
     是 
     是 
     
    EnumPorts
     枚举可用打印机端口 
     否 
     是 
     是 
     
    EnumPrintProcessorDatatypes
     枚举打印机所支持的数据类型 
     否 
     是 
     是 
     
    EnumForms
     枚举所支持的打印机窗体 
     否 
     是 
     是 
     
    AbortDoc
     终止一项打印作业 
     是 
     是 
     是 
     
    PrinterProperties
     修改打印机属性 
     否 
     是 
     是 
     
    AddPrintProcessor
     将打印处理器复制到打印机服务器中 
     否 
     是 
     是 
     
    AddPrinterDriver
     将打印机驱动程序复制到打印机服务器中 
     否 
     是 
     是 
     
    PrinterMessageBox
     显示打印作业出错信息 
     否 
     是 
     是 
     
    ConnectToPrinterDlg
     显示浏览对话并连接网络打印机 
     否 
     是 
     是 
     
    EndPagePrinter
     结束打印页 
     否 
     是 
     是 
     
    EndDoc
     结束打印作业 
     是 
     是 
     是 
     
    EndDocPrinter
     结束打印作业 
     否 
     是 
     是 
     
    StartPage
     准备打印机接收数据 
     是 
     是 
     是 
     
    WaitForPrinterChange
     监测打印机或打印机服务器变化 
     否 
     是 
     是 
     
    GetPrintProcessorDirectory
     获取打印机驱动处理器路径 
     否 
     是 
     是 
     
    GetPrinterDriver
     获取打印机驱动程序信息 
     否 
     是 
     是 
     
    GetPrinterDriverDirectory
     获取打印机驱动程序路径 
     否 
     是 
     是 
     
    GetPrinter
     获取打印机信息 
     否 
     是 
     是 
     
    GetPrinterData
     获取打印机配置信息 
     否 
     是 
     是 
     
    GetForm
     获取打印机窗口信息 
     否 
     是 
     是 
     
    EnumJobs
     获取打印作业信息 
     否 
     是 
     是 
     
    GetJob
     获取打印作业信息 
     否 
     是 
     是 
     
    OpenPrinter
     获取指定打印机的句柄 
     否 
     是 
     是 
     
    ReadPrinter
     读打印机数据 
     否 
     是 
     是 
     
    DocumentProperties
     配置打印机设置 
     否 
     是 
     是 
     
    ConfigurePort
     配置打印机端口 
     否 
     是 
     是