كيف أطبع هوية على وجهين ؟
#1
السلام عليكم
كيف استطيع طباعة هوية على وجهين باستخدام كويك ريبورت ... يعني كيف اصنع صفحتين مختلفتين على نفس التقرير .... ( تقرير يتألف من صفحتين وقت التصميم وفي المعاينة تظهر صفحتين وليس صفحة واحدة )
الرد
#2
و عليكم السلام و رحمة الله
يجب النظر في خصوصيات المطبعة إن كانت تقبل الطباعة على وجهين
إذا تو فر الامر حاول بهذه الدالة

كود :
Function AccepteRectoVerso : boolean; //يحدد ما إذا كانت الطابعة تدعم وضع الازدواج var Device,Driver,Port : array[0..255]of char; hDevMode : THandle; begin Printer.GetPrinter(Device,Driver,Port,hDevMode); Result:=WinSpool.DeviceCapabilities(Device,Port,DC_DUPLEX,nil,nil)<>0; end; Procedure ModeRectoVerso; var Device, Driver, Port : array[0..255] of Char; DevMode : THandle; pDevMode : PDeviceMode; begin Printer.GetPrinter(Device, Driver, Port, DevMode); if DevMode<>0 then begin pDevMode:=GlobalLock(DevMode); if pDevMode<>nil then try with pDevMode^ do begin dmDuplex:=DMDUP_VERTICAL; dmFields:=dmFields or DM_DUPLEX; end; Finally GlobalUnLock(DevMode); end; end; end;
للاستعمال
كود :
begin if AccepteRectoVerso then ModeRectoVerso; Printer.BeginDoc; ImprimerPageRecto; Printer.NewPage; ImprimerPageVerso; Printer.EndDoc; end;
الرد
#3
بصراحة مافهمت !!
يعني عندي تقريرين منفصلين (أو) كيف اصنع تقرير يتألف من صفحتين؟
توضيح أكثر
الرد
#4
تقصد Dublex ?
الرد
#5
اقصد انو مجرد مااعطي معاينة للتقرير يطلعلي صفحتين بالمعاينة وكل صفحة تحتوي معلومات مختلفة عن الصفحة الاخرى .... يعني ببساطة انا بدي اطبع ID Card الها وجه وخلف بضغطة زر واحدة
الرد
#6
نعم أخي لقد فهمت سؤالك من الأول، و لطباعة على واجهتين يجب أن تكون المطبعة قادرة على عمل ذلك،و ليس برمجيا
راجع الكتيب الخاص بالمطبعة، و الدالة التي سبق أن ذكرتها تقوم بالتأكد إن كانت المطبعة قادرة على الطباعة على وجهين أي( Dublex (Recto-Verso
الرد
#7
الطابعة من نوع smart dual وتدعم الطباعة على وجهين .... من البرنامج الموفق معها تطبع نظامي .... لكن من برنامجي ماالحل ؟
علما انه لدي تقريرين منفصلين الاول للوجه والثاني للخلف ومصنوعة بـ quickreport
حاولت مع qrcomposite مامشي الحال
المثال يلي اشرت اليه اخي جيد ... لكن مشكلتي في الفقرة
ImprimerPageRecto;

ImprimerPageVerso;
كيف ارسل الوجه الاول للطابعة ثم كيف ارسل الوجه الثاني
الرد


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم