PDA

View Full Version : مقاله: پرینت گرفتن از هر قسمت صفحه که مایل باشید C# & VB



bahar_engineer
چهارشنبه 17 تیر 1388, 10:01 صبح
برای اینکه بتونین از صفحاتتون پرینت بگیرین به روش زیر اقدام کنید

در این روش از هر کنترلی که توی صفحه داشته باشید می تونین پرینت بگیرید مثل گریدویو ، عکس، جدول و هر چیز دیگه ای

1. یک کلاس به وب سایتتون اضافه کنین و نام اون رو PrintHelper بگذارید
کد زیر رو در اون بنویسید:

C#
--------------


using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.IO;
using System.Text;
using System.Web.SessionState;

public class PrintHelper
{
public PrintHelper()
{
}

public static void PrintWebControl(Control ctrl)
{
PrintWebControl(ctrl, string.Empty);
}

public static void PrintWebControl(Control ctrl, string Script)
{
StringWriter stringWrite = new StringWriter();
System.Web.UI.HtmlTextWriter htmlWrite = new System.Web.UI.HtmlTextWriter(stringWrite);
if (ctrl is WebControl)
{
Unit w = new Unit(100, UnitType.Percentage); ((WebControl)ctrl).Width = w;
}
Page pg = new Page();
pg.EnableEventValidation = false;
if (Script != string.Empty)
{
pg.ClientScript.RegisterStartupScript(pg.GetType() , "PrintJavaScript", Script);
}
HtmlForm frm = new HtmlForm();
pg.Controls.Add(frm);
frm.Attributes.Add("runat", "server");
frm.Controls.Add(ctrl);
pg.DesignerInitialize();
pg.RenderControl(htmlWrite);
string strHTML = stringWrite.ToString();
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.Write(strHTML);
HttpContext.Current.Response.Write("<script>window.print();</script>");
HttpContext.Current.Response.End();
}
}
VB.NET
--------------


Imports System
Imports System.Data
Imports System.Configuration
Imports System.Web
Imports System.Web.Security
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Web.UI.WebControls.WebParts
Imports System.Web.UI.HtmlControls
Imports System.IO
Imports System.Text
Imports System.Web.SessionState

Public Class PrintHelper
Public Sub New()
End Sub

Public Shared Sub PrintWebControl(ByVal ctrl As Control)
PrintWebControl(ctrl, String.Empty)
End Sub

Public Shared Sub PrintWebControl(ByVal ctrl As Control, ByVal Script As String)
Dim stringWrite As StringWriter = New StringWriter()
Dim htmlWrite As System.Web.UI.HtmlTextWriter = New System.Web.UI.HtmlTextWriter(stringWrite)
If TypeOf ctrl Is WebControl Then
Dim w As Unit = New Unit(100, UnitType.Percentage)
CType(ctrl, WebControl).Width = w
End If
Dim pg As Page = New Page()
pg.EnableEventValidation = False
If Script <> String.Empty Then
pg.ClientScript.RegisterStartupScript(pg.GetType() , "PrintJavaScript", Script)
End If
Dim frm As HtmlForm = New HtmlForm()
pg.Controls.Add(frm)
frm.Attributes.Add("runat", "server")
frm.Controls.Add(ctrl)
pg.DesignerInitialize()
pg.RenderControl(htmlWrite)
Dim strHTML As String = stringWrite.ToString()
HttpContext.Current.Response.Clear()
HttpContext.Current.Response.Write(strHTML)
HttpContext.Current.Response.Write("<script>window.print();</script>")
HttpContext.Current.Response.End()
End Sub
End Class

2. دو صفحه بسازید default.aspx و print.aspx (این صفحه default همون صفحه ای هست که می خواین اطلاعاتشو پرینت بگیرین و صفحه print هم یه صفحه popup هست که حالت preview رو داره)

3. داخل صفحه default.aspx یک پنل قرار بدین (از toolbar یک panel درگ کنید توی صفحه) و هر کنترل یا جدول یا گریدویو ، عکس و هر چیز دیگه ای رو که می خواین ازش پرینت داشته باشین رو توی اون پنل جاسازی و مرتب کنید(دقت کنید تمامی کنترلها و متنهایی که توی پنل قرار می دین پرینت گرفته می شن به همون شکل که شما قرار دادید)

4. در صفحه default یک دکمه برای پرینت قرار بدین و نامش رو هم مثلاً پرینت اطلاعات بگذارید و سپس در رویداد کلیک اون کد زیر رو بنویسید:

C#
--------


protected void btnPrint_Click(object sender, EventArgs e)
{
Session["ctrl"] = Panel1;
ClientScript.RegisterStartupScript(this.GetType(), "onclick", "<script language=javascript>window.open('Print.aspx','PrintMe','height=300px,w idth=300px,scrollbars=1');</script>");
}
VB.NET
----------


Protected Sub btnPrint_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnPrint.Click
Session("ctrl") = Panel1
ClientScript.RegisterStartupScript(Me.GetType(), "onclick", "<script language=javascript>window.open('Print.aspx','PrintMe','height=300px,w idth=300px,scrollbars=1');</script>")
End Sub

این کد اطلاعات مورد نظر رو در سشن ذخیره می کنه و به پنجره POPUP می فرسته و بعد پرینت می گیره ... اگر می خواین مستقیماً پرینت بگیره به جای کدهای بالا این کد رو بنویسید:



PrintHelper.PrintWebControl(Panel1);

5. در رویداد page_load صفحه print.aspx کد زیر رو اضافه کنین:

C#
------------


protected void Page_Load(object sender, EventArgs e)
{
Control ctrl = (Control)Session["ctrl"];
PrintHelper.PrintWebControl(ctrl);
}


VB.NET
-------


Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim ctrl As Control = CType(Session("ctrl"), Control)
PrintHelper.PrintWebControl(ctrl)
End Sub

تموم شد:لبخندساده:

حالا اجرا کنید و پرینت بزنید

امیدوارم مفید واقع بشه

موفق باشید:چشمک:

iman_ad
چهارشنبه 17 تیر 1388, 17:32 عصر
ممنون دوست عزیز

hobab-theme
چهارشنبه 17 تیر 1388, 19:04 عصر
مرسی
واقعاً به همچین کدی نیاز بود
فقط اگه لطف کنید چه خورده در مورد کلاس پروژه بیشتر توضیح بدید که چکار کردید ممنون میشم ( به خصوص با زبان VB )
موفق باشید:تشویق:

arhnmn
پنج شنبه 18 تیر 1388, 01:35 صبح
دوست عزیز من می خوام مدیر سایت که رفت داخل قسمت admin کسانی که ثبت نام کردند رو ببینه داخل یه datagrid بعد از اون پرینت بگیره. از همین کد شما باید استفاده کنم؟؟؟ میشه یکم توضیح بدین!!!

hobab-theme
پنج شنبه 18 تیر 1388, 09:05 صبح
دوست عزیز من می خوام مدیر سایت که رفت داخل قسمت admin کسانی که ثبت نام کردند رو ببینه داخل یه datagrid بعد از اون پرینت بگیره. از همین کد شما باید استفاده کنم؟؟؟ میشه یکم توضیح بدین!!!
خوب شما گریدتون رو بایند کنید و از همون روشی که خانم bahar_engineer گفتن پیش برید به نتیجه میرسید
برای مشاهده لیست کاربران ثبت نام کرده هم که باید اطلاعات اونها رو از جدول مورد نظر بگیرید و تو گرید بریزید

bahar_engineer
پنج شنبه 18 تیر 1388, 16:28 عصر
عذر می خوام سوء تفاهم نشه

این کد من نیست یعنی من ننوشتمش

دنبال اینطور پرینتی می گشتم توی یه سایت خارجی (http://www.dotnetcurry.com/ShowArticle.aspx?ID=92&AspxAutoDetectCookieSupport=1) پیداش کردم گفتم بذارم بقیه هم فیض ببرند


اما در مورد سوال جناب arhnmn باید به عرض برسونم:
بله . از همین روش می تونین استفاده کنین. شما گریدتون رو به بانک متصل کرده و با مشخصات افرادی که ثبت نام کردند پر کنید بعد به همون شکل یه پنل توی صفحه قرار بدین و گریدتون رو توی اون پنل بذارین و بعد هم پرینت .

bahar_engineer
شنبه 20 تیر 1388, 10:41 صبح
حالا کسی هست که بدونه اگه بخوایم تو سایز A4 چاپ کنیم چه باید کرد؟ صفحه من چون در ابعاد 1024*768 هست وقتی چاپ می شه قسمتی از سمت راست صفحه نمی افته ... حتی وقتی pdf می شه

raziee
شنبه 20 تیر 1388, 13:43 عصر
ممنون از کدی که گذاشتی.

این کد من نیست یعنی من ننوشتمش

اخلاق و زفتار درستتون ارزشمنده.
منظورم اینه که مثل بعضی ها کد ها و مقالات دیگران رو به نام خودتون منتشر نکردید.

iman_ad
شنبه 20 تیر 1388, 18:07 عصر
فکر نکنم این کاذ برای گزارش گیری مناسب باشه باید از ابزارهای گزارش گیر مثل کریستال استفاده کنی

bahar_engineer
یک شنبه 21 تیر 1388, 10:27 صبح
نه کریستال حجم بالایی داره و برای چنین گزارش ساده ای سنگینه

من فقط می خوام صفحه مو در سایز A4 پرینت بگیرم... البته نهایتا فکر می کنم باید یک جدول توی صفحه بذارم با سایز A4 و به این شکل پرینت بزنم... یا کاری کنم که جدول SCALE بشه به سایز A4

pooria_kia
سه شنبه 23 تیر 1388, 16:30 عصر
سلام ، مرسی از راهنماییتون ، من می خوام پرینت بگیرم از یک panel ولی نمی خوام print dialog نمایش داده بشه ، میشه کمکم کنید ؟

arhnmn
پنج شنبه 25 تیر 1388, 18:23 عصر
دو صفحه بسازید default.aspx و print.aspx (این صفحه default همون صفحه ای هست که می خواین اطلاعاتشو پرینت بگیرین و صفحه print هم یه صفحه popup هست که حالت preview رو داره)



دوست عزیز من متوجه این قسمت از گفته های شما نشدم.صفحه popupکه حالت preview داره یعنی چی؟؟

arhnmn
پنج شنبه 25 تیر 1388, 19:18 عصر
خانوم bahar این طور که من فهمیدم صفحه popup برای نشون دادن متن پرینت هستش که خوب من نمیخوام این باشه.من بقیه مراحل رو انجام دادم ولی متاسفانه Errorمیده .
این خط class printhelper



frm.Controls.Add(ctrl)



این error رو میده:



Value cannot be null.
Parameter name: child



اگر میشه دوستانی که این کد رو اجرا کردن راهنمائیم کنن.مرسی

arhnmn
پنج شنبه 25 تیر 1388, 19:52 عصر
ببخشید که من همش پست میزارم .چون آخرین مهلت پروژم و چندتا مشکل اساسی دارم
این خطی که گفتم error میداد یعنی این خط:



frm.Controls.Add(ctrl)


من برای امتحان کردن حذفش کردم ولی یه مشکل دیگه پیش اومد که دیگه اون صفحه ایی که میخوام داخلش یه gridview پرینت بشه نشون داده نمیشه و یکسره میره برای شناسایی پرینتر.
لطفا" کمک کنید

icegirl_f2r
یک شنبه 28 تیر 1388, 22:32 عصر
شما گریدتون رو به بانک متصل کرده و با مشخصات افرادی که ثبت نام کردند پر کنید بعد به همون شکل یه پنل توی صفحه قرار بدین و گریدتون رو توی اون پنل بذارین و بعد هم پرینت .

میشه مستقیماً هم گرید را به پرینتر فرستاد کافیه در کد زیر به جای panel اسم گریدتون را بزارین
PrintHelper.PrintWebControl(Panel1);
یعنی به این صورت
PrintHelper.PrintWebControl(gridview);

bahar_engineer
سه شنبه 30 تیر 1388, 10:21 صبح
این کد اطلاعات مورد نظر رو در سشن ذخیره می کنه و به پنجره POPUP می فرسته و بعد پرینت می گیره ... اگر می خواین مستقیماً پرینت بگیره به جای کدهای بالا این کد رو بنویسید:



PrintHelper.PrintWebControl(Panel1);



اینجا گفتم که اگه خواستین اون پنجره print preview باز نشه این کد رو به جای کدی که در شماره 4 گفتم قرار بدین

شرمنده من دیگه به این تاپیک سر نزدم ... شاید هم خیلی دیر شده باشه (برای پروژتون می گم)

من خودم الان تست کردم :
برای اینکه اصلا پنجره print نمایش داده نشه به این صورت عمل کنید :
1. توی صفحه default یعنی همون صفحه ای که دکمه پرینت رو قرار دادین کد های رویداد کلیک باتن رو به این صورت تغییر بدین:



Session["ctrl"] = Panel1;
Control ctrl = (Control)Session["ctrl"];
PrintHelper.PrintWebControl(ctrl);
//ClientScript.RegisterStartupScript(this.GetType(), "onclick", "<script language=javascript>window.open('Print.aspx','PrintMe','height=500px,w idth=700px,scrollbars=1');</script>");


همانطور که می بینید خطی که صفحه print رو بوسیله کد جاواسکریپت باز می کرد رو حذف کردیم (من در توضیحات قرار دادمش بوسیله //)
و کدی که توی صفحه print نوشته بودیم رو به همین رویداد اضافه کردم

حالا می تونین صفحه print رو کلا حذف کنید

برای من که جواب داد

bahar_engineer
سه شنبه 30 تیر 1388, 10:26 صبح
خانوم bahar این طور که من فهمیدم صفحه popup برای نشون دادن متن پرینت هستش که خوب من نمیخوام این باشه.من بقیه مراحل رو انجام دادم ولی متاسفانه Errorمیده .
این خط class printhelper



frm.Controls.Add(ctrl)

این error رو میده:

اگر میشه دوستانی که این کد رو اجرا کردن راهنمائیم کنن.مرسی


فکر می کنم این خطا برای اینه که شما هیچ کنترلی رو توی سشن نفرستادین

در اینجا کنترل در صفحه پرینت ، اطلاعات خودشو از سشن می گیره و شما صفحه پرینت رو که همون صفحه popup هست حذف کردین پس هیچ اطلاعاتی وجود نداره که بتونی اضافه کنه برای همین null هست مقدار کنترلتون و خطا می ده

minamorsali
جمعه 30 مرداد 1388, 21:04 عصر
سلام
با تشکر از مقاله خوبتون.
من این روش رو در صفحه ascx استفاده کردم، اما در رویداد کلیک دستور


ClientScript.RegisterStartupScript(this.GetType(), "onclick", "<script language=javascript>window.open('Print.aspx','PrintMe','height=300px,w idth=300px,scrollbars=1');</script>");

رو نمیشناسه.
برای حلش چه کار کنم؟
یه سوال دیگه. من از این روش در گزارش گیری استفاده می کنم . اول سر کنترل گرید ویوو ام خالیه و بعد از کلیک دکمه گزارش، داده ها از دیتا بیس وارد گرید ویوو میشه، حالا مشکلم اینه که وقتی دکمه پرینت رو می زنم اطلاعات گرید ویوو ام می پره و در نتیجه صفحه سفید برام چاپ میشه. ممنون میشم اگه راهنماییم کنید.

با تشکر فراوان

kohyar
شنبه 31 مرداد 1388, 07:16 صبح
سلام
من نتونستم كد رو اجرا كنم
من كلاس PrintHelper رو داخل AppCode ايجاد كردم
Value cannot be null.
Parameter name: child


Line 40: pg.Controls.Add(frm);
Line 41: frm.Attributes.Add("runat", "server");
Line 42: frm.Controls.Add(ctrl);
Line 43: pg.DesignerInitialize();
Line 44: pg.RenderControl(htmlWrite);

L_eskandary
شنبه 31 مرداد 1388, 15:20 عصر
سلام
دوستان به ما گفتن که از پنل استفاده نکنین چون گاهی وقتا قفل می کنه و مشکلاتی تو بعضی از browser ها پیش میاره ، در مورد این کدها هم که از پنل استفاده کردین ممکن هست از یه ابزار دیگه استفاده شه ، یا اصلا این که از پنل استفاده نکنیم درسته ؟

hobab-theme
شنبه 31 مرداد 1388, 19:22 عصر
دوستان به ما گفتن که از پنل استفاده نکنین چون گاهی وقتا قفل می کنه و مشکلاتی تو بعضی از browser ها پیش میاره ، در مورد این کدها هم که از پنل استفاده کردین ممکن هست از یه ابزار دیگه استفاده شه ، یا اصلا این که از پنل استفاده نکنیم درسته ؟
اینو کی گفته ؟
من تاحالا همچین چیزی نشنیدم . اگه که از گفتتون کاملاً مطمئن هستید بگید تا از این به بعد ما هم یه خورده رو استفاده از پنل تامل بیشتری کنیم . ممنون

من این روش رو در صفحه ascx استفاده کردم، اما در رویداد کلیک دستور

کد:
ClientScript.RegisterStartupScript(this.GetType(), "onclick", "<script language

آره . البته من روز اولی که خانم bahar_engineer این کد رو قرار دادن من ازش استفاده کردم و 100% جواب میداد
یه مدت مدت بعد واسه خودم که خواستم استفاده کنم دیگه از همین تکه کد ایراد میگیره:متفکر:
حالا چرا ؟... نمیدونم

bahar_engineer
دوشنبه 02 شهریور 1388, 13:47 عصر
من خودم دوباره تست کردم مشکلی نداره

اینم صفحات شما فقط کدهاشو نگاه کنین چون بانک داره و برای اجرا بهتون خطا می ده

صفحه اصلی من که شامل دکمه پرینته REPORT هست که شامل کدهایی برای ارتباط با بانک اطلاعاتیه و اگه همین صفحه رو اضافه کنین خطا می ده ... شما همینطوری بازش کنین و کدهاشو بردارین که البته همونطوری هست که در ابتدای تاپیک نوشتم

فایل PDF هم نتیجه پرینت هست

صفحه PRINT هم که همون صفحه کذایی پرینته

اون فولدر APP_CODE هم که شامل کلاس PRINTHELPER

minamorsali
سه شنبه 03 شهریور 1388, 10:04 صبح
سلام
خیلی خیلی متشکرم به خاطر راهنماییتون.
همون کارهایی که گفتید رو انجام دادم، اما در هنگام اجرا موقعی که روی دکمه پرینت کلیک می کنم ارور :

The Controls collection cannot be modified because the control contains code blocks (i.e. <% ... %>).

رو در خط زیر از برنامه print helper می ده:


frm.Controls.Add(ctrl);


متشکر میشم اگه راهنماییم کنید.

bahar_engineer
چهارشنبه 04 شهریور 1388, 15:33 عصر
شما چه کنترلی رو می خواین پرینت بگیرین؟

minamorsali
چهارشنبه 04 شهریور 1388, 18:43 عصر
کنترل گرید ویوو.
راستی یه مورد دیگه اینکه من به برنامه شما که دقت کردم شما قبل از اجرا data sourse اتون و دستور select اتون مشخصه، اما من select ام در زمان اجرا توسط کاربر و پس از زدن دکمه گزارش مشخص میشه.بخاطر همین شاید روش شما جواب نده برای من. شما می دونید من باید چه کنم؟
این روش رو نمیشه بصورت کلاینت ساید پیاده کرد؟
باز هم بخاطر کمک هاتون بی نهایت متشکرم.

minamorsali
پنج شنبه 05 شهریور 1388, 09:19 صبح
ارورش رو برطرف کردم ، اما باز هم صفحه سفید تحویلم میده....
این روشی که شما گفتین، رو نمیشه بصورت کلاینت ساید بدون رفت و برگشت به سرور انجام داد؟

با تشکر از راهنمایی هاتون خانم bahar_enginer

Saber_Fatholahi
پنج شنبه 02 مهر 1388, 09:22 صبح
مرسی. دمت گرم.

karim orooji
پنج شنبه 02 مهر 1388, 10:07 صبح
سلام دوست عزیز
این برنامه شما باید حتما کنترلها در یک panel باشه

Himalaya
پنج شنبه 02 مهر 1388, 12:30 عصر
این روشی که شما گفتین، رو نمیشه بصورت کلاینت ساید بدون رفت و برگشت به سرور انجام داد؟
چرا نمیشه.. اینم روشش
اول در مورد اینکه پنل با بعضی مرورگرها مشکل داره بگم که درسته مشکل داره... مثلا با ورژنهای قدیمی opera فکر کنم ورژن 8 بود که اسکرول نمی گرفت... دقیقا یادم نیست ولی تو ورژنهای بعدی حل شد

دوم در مورد پرینت... فکر میکنم واسه پرینت گرفتن راه خیلی خیلی ساده تری وجود داشته باشه
که من از همین سایت برنامه نویس یاد گرفتم و تا حالا هم هر چی خواستم پرینت بگیرم از این کدها استفاده کردم
مثل صدور کارت امتحانی و برگه اعتراض تو A5 و پرینت نمره ها تو A4
بریم سر اصل مطلب
تو این روش فقط یه صفحه داریم و احتیاجی هم به کلاس خاصی نیست ... میتونید ار پنل هم استفاده نکنید ... چون ما با جدول کار میکنیم...اما اگه جدولتون ارتفاعش خیلی زیاد بود میتونید جدولو بزارید داخل پنل و به پنل اسکرول بدید...پنل تاثیری تو پرینت ما نداره...چون ما از جدول داخل پنل میخوایم پرینت بگیریم نه خود پنل
اول تمام المانهایی رو که میخواید ازشون پرینت بگیرید بزارید تو یه تیبل و هر جوری که دوست دارید اونها رو تیبل بندی کنید. به اون جدول یه id بدید مثلا pri
بعد بالای این جدول یا هرجایی که توی این جدول نباشه یه دکمه از نوع html ای بزارید
یه چیزی مثل کد زیر


<inputid="Button1"type="button"value="print table"onclick="return CallPrint('pri')"/>


و اسکریپت زیررو هم به قسمت head صفحه اضافه کنید



<script>
function CallPrint(strid)
{
var prtContent = document.getElementById(strid);
var WinPrint = window.open('','','letf=0,top=0,width=720,height=6 00,margin-left=0,toolbar=0,scrollbars=1,status=0');
WinPrint.document.write(prtContent.outerHTML);
WinPrint.document.close();
WinPrint.print();
WinPrint.close();
returnfalse;
}
</script>


سایز پنجره preview و پرینت تو قسمت اسکریپت تعیین میشه البته به اندازه جدولتون هم مربوطه
اگه همه این چیزا رو با دقت تعیین کنید میبینید که پرینت دقیقا همون جوری میشه که انتظار دارید

spicirmkh
دوشنبه 11 آبان 1388, 13:03 عصر
چطور می توانم یک فایل pdf بدون باز کردن پرینت بگیرم

saraytanha
پنج شنبه 27 خرداد 1389, 00:41 صبح
سلام دوست من
مرسی از راه حلی که گذاشتی
اما من این کد رو تست کردم
وقتی پنلم رو برای چاپ می فرستم قیافهء پنلم داغون می شه
و خیلی زشت می شه
چطور می تونم این مشکل رو حل کنم

sh_esharif
پنج شنبه 14 مرداد 1389, 12:11 عصر
دوست عزیز سلام
ممنون از کد خوبی که گذاشتید.
مشگل من اینجاست که در پنل یک جدول با اندازه های درصدی دارم. موقع پرینت این اندازه ها اندازه واقعی نیستن. میشه راه حل ارائه بدین؟
ممنون از وقتی که می گذارین.

neynavaz
سه شنبه 20 مهر 1389, 12:32 عصر
سلام
ممنون از کدی که گذاشتید

من ا زکد اول تاپیک استفاده کردم
اما مشکل اینه که سایز صفحه ای که میخواد پرینت گرفته بشه رو نمیدونم
ضمن اینکه فونت من تو پنل tahoma است و توی چاپ arial
یعنی کاربر یه چیزی میبینه یه چیز دیگه تو پرینت پرویو میاد!!!
کسی میتونه کمکم کنه؟؟؟؟؟؟؟؟؟؟؟؟؟

mehran_337
یک شنبه 25 مهر 1389, 13:10 عصر
من هم از این کلاس استفاده کردم ما همه رو چپ چین کرده و فونت ها رو بهم ریخته چکار کنم که تنظیمات صفحه همچنان حفظ بشه و با همون استایلی که در صفحه می بینم چاپ بشه؟

asp2.net
دوشنبه 20 دی 1389, 08:16 صبح
دست شما درد نکنه من این کد را انجام دادم اجرا کرد و هیچ مشکلی نداره ولی چنانچه صفحه ما یک مسترپچ باشه کار نمیکنه .ایا کسی امتحان کرده و ......من چیکار کنم تا در صفحه مستر پیچ هم مشکل نداشته باشد.

صادق صدقی
دوشنبه 20 دی 1389, 09:08 صبح
سلامممممم
با این که خودت ننوشتی اما کاره بزرگی انجام دادی

بگزریم
تویه همین تالار
karaji333 (http://barnamenevis.member.php?53563-karaji333)

یک تاپیک زده بود که یک دی ال ال گذاشت .کاره پرینت رو به بهترین نحوه احسنت انجام میده
لینک رو ببینید (http://barnamenevis.org/showthread.php?254664-%D8%AF%D8%A7%D9%86%D9%84%D9%88%D8%AF-%DA%A9%D9%86%DB%8C%D8%AF-%DA%A9%D8%A7%D9%85%D9%BE%D9%88%D9%86%D9%86%D8%AA-%D9%BE%D8%B1%DB%8C%D9%86%D8%AA-%D8%A7%D8%B2-%D9%87%D8%B1-%D9%82%D8%B3%D9%85%D8%AA-%D8%A7%D8%B2-%D8%B5%D9%81%D8%AD%D9%87&highlight=)
اینو نگفتم بی خیال شین
گفتم برید از ش بپرسیدشاید بتونه کمکتون کنه