熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Delphi編程 >> 正文

Delphi開發WEB應用程序打印組件[2]

2013-11-23 17:37:57  來源: Delphi編程 

  四調用

  在腳本中調用這個組件的方法:

  ()利用createobject函數創建一個打印對象

  ()調用prtcustompage來指定定制的紙張的大小(以毫米為基本單位)如果不是定制的紙張則不需要調用這個過程(即以打印默認的紙張大小進行打印)

  ()調用prtstart進行打印機的初始化工作如果打印機初始化成功則會將isinit屬性置為真表示初始化成功;否則表示打印機正在忙或有別的應用程序正在使用打印機初始化不能成功

  ()判斷isinit標志如果為真則繼續執行打印段

  ()執行打印段可以在利用打印機畫線和在指定位置輸出文字

  (注:在組件接中的所有位置單位都是毫米例?prtobjectprtdrawlien

  表示從左上角()毫米到右下角()毫米處畫一條直線)

  ()利用prtend結束打印任務

  < script language=vbscript>

  < !

  sub testprtobject

  dim prtobject

  set prtobject=createobject(prttestprttest)

  prtobjectprtcustompage

  prtobjectprtstart

  if prtobjectisinit then

  prtobjectprtdrawline

  prtobjectprtdrawline

  prtobjectprtsetfont 宋體

  prtobjectprttextrect web應用程序打印測試

  prtobjectprtend

  end if

  set prtobject=nothing

  end sub

  testprtobject()

  //>

  < /script>

  Delphi開發WEB應用程序打印組件()

  五代碼解析

  在這個組件中我們所要解決的幾個問題:

  ()在delphi的應用程序設計中自定義打印紙張的設置delphi中自身帶了一個quickreport的打印設計程序這個程序在一定的程度上方便了打印的設計但這個設計程序對於自定義紙張的設定和打印支持卻不是很好因此在這個組件中我們采用手工代碼來設定自定義紙張大小

  function tprttestinitprintpaper:boolean;

  var

  device:array [cchdevicename] of char;

  driver:array [(max_path)] of char;

  port:array [] of char;

  hdmode:thandle;

  pdmode:pdevmode;

  begin

  result:=true;

  if prtiscustompaper then

  begin

  {設置打印機段}

  printergetprinter(devicedriverporthdmode);

  if hdmode<> then begin

  try

  pdmode:=globallock(hdmode);

  if pdmode<>nil then begin

  //設定打印的方向為縱向或橫向

  if paperorientation<> then

  pdmode^dmorientation:=dmorient_landscape

  else pdmode^dmorientation:=dmorient_portrait;

  //設置拷貝份數為

  pdmode^dmcopies:=;

  //以毫米為單位的紙張大小

  pdmode^dmpaperlength:= paperheight*;

  pdmode^dmpaperwidth:=paperwidth*;

  //設置紙張類型為用戶自定義

  pdmode^dmpapersize:=dmpaper_user;

  end;

  globalunlock(hdmode);

  printersetprinter(devicedriverporthdmode);

  except

  result:=false;

  end;

  end else begin

  result:=false;

  end;

  end;

  end;

  Delphi開發WEB應用程序打印組件()

[]  []  []  

 


From:http://tw.wingwit.com/Article/program/Delphi/201311/24793.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.