-
پرینت گرفتن از هر قسمت صفحه که مایل باشید C# & VB
برای اینکه بتونین از صفحاتتون پرینت بگیرین به روش زیر اقدام کنید
در این روش از هر کنترلی که توی صفحه داشته باشید می تونین پرینت بگیرید مثل گریدویو ، عکس، جدول و هر چیز دیگه ای
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','Prin tMe','height=300px,width=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','Prin tMe','height=300px,width=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
تموم شد:لبخندساده:
حالا اجرا کنید و پرینت بزنید
امیدوارم مفید واقع بشه
موفق باشید:چشمک:
-
نقل قول: پرینت گرفتن از هر قسمت صفحه که مایل باشید C# & VB
-
نقل قول: پرینت گرفتن از هر قسمت صفحه که مایل باشید C# & VB
مرسی
واقعاً به همچین کدی نیاز بود
فقط اگه لطف کنید چه خورده در مورد کلاس پروژه بیشتر توضیح بدید که چکار کردید ممنون میشم ( به خصوص با زبان VB )
موفق باشید:تشویق:
-
نقل قول: پرینت گرفتن از هر قسمت صفحه که مایل باشید C# & VB
دوست عزیز من می خوام مدیر سایت که رفت داخل قسمت admin کسانی که ثبت نام کردند رو ببینه داخل یه datagrid بعد از اون پرینت بگیره. از همین کد شما باید استفاده کنم؟؟؟ میشه یکم توضیح بدین!!!
-
نقل قول: پرینت گرفتن از هر قسمت صفحه که مایل باشید C# & VB
نقل قول:
نوشته شده توسط
arhnmn
دوست عزیز من می خوام مدیر سایت که رفت داخل قسمت admin کسانی که ثبت نام کردند رو ببینه داخل یه datagrid بعد از اون پرینت بگیره. از همین کد شما باید استفاده کنم؟؟؟ میشه یکم توضیح بدین!!!
خوب شما گریدتون رو بایند کنید و از همون روشی که خانم bahar_engineer گفتن پیش برید به نتیجه میرسید
برای مشاهده لیست کاربران ثبت نام کرده هم که باید اطلاعات اونها رو از جدول مورد نظر بگیرید و تو گرید بریزید
-
نقل قول: پرینت گرفتن از هر قسمت صفحه که مایل باشید C# & VB
عذر می خوام سوء تفاهم نشه
این کد من نیست یعنی من ننوشتمش
دنبال اینطور پرینتی می گشتم توی یه سایت خارجی پیداش کردم گفتم بذارم بقیه هم فیض ببرند
اما در مورد سوال جناب arhnmn باید به عرض برسونم:
بله . از همین روش می تونین استفاده کنین. شما گریدتون رو به بانک متصل کرده و با مشخصات افرادی که ثبت نام کردند پر کنید بعد به همون شکل یه پنل توی صفحه قرار بدین و گریدتون رو توی اون پنل بذارین و بعد هم پرینت .
-
نقل قول: پرینت گرفتن از هر قسمت صفحه که مایل باشید C# & VB
حالا کسی هست که بدونه اگه بخوایم تو سایز A4 چاپ کنیم چه باید کرد؟ صفحه من چون در ابعاد 1024*768 هست وقتی چاپ می شه قسمتی از سمت راست صفحه نمی افته ... حتی وقتی pdf می شه
-
نقل قول: پرینت گرفتن از هر قسمت صفحه که مایل باشید C# & VB
ممنون از کدی که گذاشتی.
نقل قول:
این کد من نیست یعنی من ننوشتمش
اخلاق و زفتار درستتون ارزشمنده.
منظورم اینه که مثل بعضی ها کد ها و مقالات دیگران رو به نام خودتون منتشر نکردید.
-
نقل قول: پرینت گرفتن از هر قسمت صفحه که مایل باشید C# & VB
فکر نکنم این کاذ برای گزارش گیری مناسب باشه باید از ابزارهای گزارش گیر مثل کریستال استفاده کنی
-
نقل قول: پرینت گرفتن از هر قسمت صفحه که مایل باشید C# & VB
نه کریستال حجم بالایی داره و برای چنین گزارش ساده ای سنگینه
من فقط می خوام صفحه مو در سایز A4 پرینت بگیرم... البته نهایتا فکر می کنم باید یک جدول توی صفحه بذارم با سایز A4 و به این شکل پرینت بزنم... یا کاری کنم که جدول SCALE بشه به سایز A4
-
نقل قول: پرینت گرفتن از هر قسمت صفحه که مایل باشید C# & VB
سلام ، مرسی از راهنماییتون ، من می خوام پرینت بگیرم از یک panel ولی نمی خوام print dialog نمایش داده بشه ، میشه کمکم کنید ؟
-
نقل قول: پرینت گرفتن از هر قسمت صفحه که مایل باشید C# & VB
نقل قول:
دو صفحه بسازید default.aspx و print.aspx (این صفحه default همون صفحه ای هست که می خواین اطلاعاتشو پرینت بگیرین و صفحه print هم یه صفحه popup هست که حالت preview رو داره)
دوست عزیز من متوجه این قسمت از گفته های شما نشدم.صفحه popupکه حالت preview داره یعنی چی؟؟
-
نقل قول: پرینت گرفتن از هر قسمت صفحه که مایل باشید C# & VB
خانوم bahar این طور که من فهمیدم صفحه popup برای نشون دادن متن پرینت هستش که خوب من نمیخوام این باشه.من بقیه مراحل رو انجام دادم ولی متاسفانه Errorمیده .
این خط class printhelper
frm.Controls.Add(ctrl)
این error رو میده:
نقل قول:
Value cannot be null.
Parameter name: child
اگر میشه دوستانی که این کد رو اجرا کردن راهنمائیم کنن.مرسی
-
نقل قول: پرینت گرفتن از هر قسمت صفحه که مایل باشید C# & VB
ببخشید که من همش پست میزارم .چون آخرین مهلت پروژم و چندتا مشکل اساسی دارم
این خطی که گفتم error میداد یعنی این خط:
من برای امتحان کردن حذفش کردم ولی یه مشکل دیگه پیش اومد که دیگه اون صفحه ایی که میخوام داخلش یه gridview پرینت بشه نشون داده نمیشه و یکسره میره برای شناسایی پرینتر.
لطفا" کمک کنید
-
نقل قول: پرینت گرفتن از هر قسمت صفحه که مایل باشید C# & VB
نقل قول:
نوشته شده توسط
bahar_engineer
شما گریدتون رو به بانک متصل کرده و با مشخصات افرادی که ثبت نام کردند پر کنید بعد به همون شکل یه پنل توی صفحه قرار بدین و گریدتون رو توی اون پنل بذارین و بعد هم پرینت .
میشه مستقیماً هم گرید را به پرینتر فرستاد کافیه در کد زیر به جای panel اسم گریدتون را بزارین
PrintHelper.PrintWebControl(Panel1);
یعنی به این صورت
PrintHelper.PrintWebControl(gridview);
-
نقل قول: پرینت گرفتن از هر قسمت صفحه که مایل باشید C# & VB
نقل قول:
نوشته شده توسط
bahar_engineer
این کد اطلاعات مورد نظر رو در سشن ذخیره می کنه و به پنجره 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','Prin tMe','height=500px,width=700px,scrollbars=1');</script>");
همانطور که می بینید خطی که صفحه print رو بوسیله کد جاواسکریپت باز می کرد رو حذف کردیم (من در توضیحات قرار دادمش بوسیله //)
و کدی که توی صفحه print نوشته بودیم رو به همین رویداد اضافه کردم
حالا می تونین صفحه print رو کلا حذف کنید
برای من که جواب داد
-
نقل قول: پرینت گرفتن از هر قسمت صفحه که مایل باشید C# & VB
نقل قول:
نوشته شده توسط
arhnmn
خانوم bahar این طور که من فهمیدم صفحه popup برای نشون دادن متن پرینت هستش که خوب من نمیخوام این باشه.من بقیه مراحل رو انجام دادم ولی متاسفانه Errorمیده .
این خط class printhelper
frm.Controls.Add(ctrl)
این error رو میده:
اگر میشه دوستانی که این کد رو اجرا کردن راهنمائیم کنن.مرسی
فکر می کنم این خطا برای اینه که شما هیچ کنترلی رو توی سشن نفرستادین
در اینجا کنترل در صفحه پرینت ، اطلاعات خودشو از سشن می گیره و شما صفحه پرینت رو که همون صفحه popup هست حذف کردین پس هیچ اطلاعاتی وجود نداره که بتونی اضافه کنه برای همین null هست مقدار کنترلتون و خطا می ده
-
نقل قول: پرینت گرفتن از هر قسمت صفحه که مایل باشید C# & VB
سلام
با تشکر از مقاله خوبتون.
من این روش رو در صفحه ascx استفاده کردم، اما در رویداد کلیک دستور
ClientScript.RegisterStartupScript(this.GetType(), "onclick", "<script language=javascript>window.open('Print.aspx','Prin tMe','height=300px,width=300px,scrollbars=1');</script>");
رو نمیشناسه.
برای حلش چه کار کنم؟
یه سوال دیگه. من از این روش در گزارش گیری استفاده می کنم . اول سر کنترل گرید ویوو ام خالیه و بعد از کلیک دکمه گزارش، داده ها از دیتا بیس وارد گرید ویوو میشه، حالا مشکلم اینه که وقتی دکمه پرینت رو می زنم اطلاعات گرید ویوو ام می پره و در نتیجه صفحه سفید برام چاپ میشه. ممنون میشم اگه راهنماییم کنید.
با تشکر فراوان
-
نقل قول: پرینت گرفتن از هر قسمت صفحه که مایل باشید C# & VB
سلام
من نتونستم كد رو اجرا كنم
من كلاس 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);
-
نقل قول: پرینت گرفتن از هر قسمت صفحه که مایل باشید C# & VB
سلام
دوستان به ما گفتن که از پنل استفاده نکنین چون گاهی وقتا قفل می کنه و مشکلاتی تو بعضی از browser ها پیش میاره ، در مورد این کدها هم که از پنل استفاده کردین ممکن هست از یه ابزار دیگه استفاده شه ، یا اصلا این که از پنل استفاده نکنیم درسته ؟
-
نقل قول: پرینت گرفتن از هر قسمت صفحه که مایل باشید C# & VB
نقل قول:
دوستان به ما گفتن که از پنل استفاده نکنین چون گاهی وقتا قفل می کنه و مشکلاتی تو بعضی از browser ها پیش میاره ، در مورد این کدها هم که از پنل استفاده کردین ممکن هست از یه ابزار دیگه استفاده شه ، یا اصلا این که از پنل استفاده نکنیم درسته ؟
اینو کی گفته ؟
من تاحالا همچین چیزی نشنیدم . اگه که از گفتتون کاملاً مطمئن هستید بگید تا از این به بعد ما هم یه خورده رو استفاده از پنل تامل بیشتری کنیم . ممنون
نقل قول:
من این روش رو در صفحه ascx استفاده کردم، اما در رویداد کلیک دستور
کد:
ClientScript.RegisterStartupScript(this.GetType(), "onclick", "<script language
آره . البته من روز اولی که خانم bahar_engineer این کد رو قرار دادن من ازش استفاده کردم و 100% جواب میداد
یه مدت مدت بعد واسه خودم که خواستم استفاده کنم دیگه از همین تکه کد ایراد میگیره:متفکر:
حالا چرا ؟... نمیدونم
-
1 ضمیمه
نقل قول: پرینت گرفتن از هر قسمت صفحه که مایل باشید C# & VB
من خودم دوباره تست کردم مشکلی نداره
اینم صفحات شما فقط کدهاشو نگاه کنین چون بانک داره و برای اجرا بهتون خطا می ده
صفحه اصلی من که شامل دکمه پرینته REPORT هست که شامل کدهایی برای ارتباط با بانک اطلاعاتیه و اگه همین صفحه رو اضافه کنین خطا می ده ... شما همینطوری بازش کنین و کدهاشو بردارین که البته همونطوری هست که در ابتدای تاپیک نوشتم
فایل PDF هم نتیجه پرینت هست
صفحه PRINT هم که همون صفحه کذایی پرینته
اون فولدر APP_CODE هم که شامل کلاس PRINTHELPER
-
نقل قول: پرینت گرفتن از هر قسمت صفحه که مایل باشید C# & VB
سلام
خیلی خیلی متشکرم به خاطر راهنماییتون.
همون کارهایی که گفتید رو انجام دادم، اما در هنگام اجرا موقعی که روی دکمه پرینت کلیک می کنم ارور :
The Controls collection cannot be modified because the control contains code blocks (i.e. <% ... %>).
رو در خط زیر از برنامه print helper می ده:
frm.Controls.Add(ctrl);
متشکر میشم اگه راهنماییم کنید.
-
نقل قول: پرینت گرفتن از هر قسمت صفحه که مایل باشید C# & VB
شما چه کنترلی رو می خواین پرینت بگیرین؟
-
نقل قول: پرینت گرفتن از هر قسمت صفحه که مایل باشید C# & VB
کنترل گرید ویوو.
راستی یه مورد دیگه اینکه من به برنامه شما که دقت کردم شما قبل از اجرا data sourse اتون و دستور select اتون مشخصه، اما من select ام در زمان اجرا توسط کاربر و پس از زدن دکمه گزارش مشخص میشه.بخاطر همین شاید روش شما جواب نده برای من. شما می دونید من باید چه کنم؟
این روش رو نمیشه بصورت کلاینت ساید پیاده کرد؟
باز هم بخاطر کمک هاتون بی نهایت متشکرم.
-
نقل قول: پرینت گرفتن از هر قسمت صفحه که مایل باشید C# & VB
ارورش رو برطرف کردم ، اما باز هم صفحه سفید تحویلم میده....
این روشی که شما گفتین، رو نمیشه بصورت کلاینت ساید بدون رفت و برگشت به سرور انجام داد؟
با تشکر از راهنمایی هاتون خانم bahar_enginer
-
نقل قول: پرینت گرفتن از هر قسمت صفحه که مایل باشید C# & VB
-
نقل قول: پرینت گرفتن از هر قسمت صفحه که مایل باشید C# & VB
سلام دوست عزیز
این برنامه شما باید حتما کنترلها در یک panel باشه
-
نقل قول: پرینت گرفتن از هر قسمت صفحه که مایل باشید C# & VB
نقل قول:
این روشی که شما گفتین، رو نمیشه بصورت کلاینت ساید بدون رفت و برگشت به سرور انجام داد؟
چرا نمیشه.. اینم روشش
اول در مورد اینکه پنل با بعضی مرورگرها مشکل داره بگم که درسته مشکل داره... مثلا با ورژنهای قدیمی 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=600,margin-left=0,toolbar=0,scrollbars=1,status=0');
WinPrint.document.write(prtContent.outerHTML);
WinPrint.document.close();
WinPrint.print();
WinPrint.close();
returnfalse;
}
</script>
سایز پنجره preview و پرینت تو قسمت اسکریپت تعیین میشه البته به اندازه جدولتون هم مربوطه
اگه همه این چیزا رو با دقت تعیین کنید میبینید که پرینت دقیقا همون جوری میشه که انتظار دارید
-
نقل قول: پرینت گرفتن از هر قسمت صفحه که مایل باشید C# & VB
چطور می توانم یک فایل pdf بدون باز کردن پرینت بگیرم
-
نقل قول: پرینت گرفتن از هر قسمت صفحه که مایل باشید C# & VB
سلام دوست من
مرسی از راه حلی که گذاشتی
اما من این کد رو تست کردم
وقتی پنلم رو برای چاپ می فرستم قیافهء پنلم داغون می شه
و خیلی زشت می شه
چطور می تونم این مشکل رو حل کنم
-
نقل قول: پرینت گرفتن از هر قسمت صفحه که مایل باشید C# & VB
دوست عزیز سلام
ممنون از کد خوبی که گذاشتید.
مشگل من اینجاست که در پنل یک جدول با اندازه های درصدی دارم. موقع پرینت این اندازه ها اندازه واقعی نیستن. میشه راه حل ارائه بدین؟
ممنون از وقتی که می گذارین.
-
نقل قول: پرینت گرفتن از هر قسمت صفحه که مایل باشید C# & VB
سلام
ممنون از کدی که گذاشتید
من ا زکد اول تاپیک استفاده کردم
اما مشکل اینه که سایز صفحه ای که میخواد پرینت گرفته بشه رو نمیدونم
ضمن اینکه فونت من تو پنل tahoma است و توی چاپ arial
یعنی کاربر یه چیزی میبینه یه چیز دیگه تو پرینت پرویو میاد!!!
کسی میتونه کمکم کنه؟؟؟؟؟؟؟؟؟؟؟؟؟
-
نقل قول: پرینت گرفتن از هر قسمت صفحه که مایل باشید C# & VB
من هم از این کلاس استفاده کردم ما همه رو چپ چین کرده و فونت ها رو بهم ریخته چکار کنم که تنظیمات صفحه همچنان حفظ بشه و با همون استایلی که در صفحه می بینم چاپ بشه؟
-
نقل قول: پرینت گرفتن از هر قسمت صفحه که مایل باشید C# & VB
دست شما درد نکنه من این کد را انجام دادم اجرا کرد و هیچ مشکلی نداره ولی چنانچه صفحه ما یک مسترپچ باشه کار نمیکنه .ایا کسی امتحان کرده و ......من چیکار کنم تا در صفحه مستر پیچ هم مشکل نداشته باشد.
-
نقل قول: پرینت گرفتن از هر قسمت صفحه که مایل باشید C# & VB
سلامممممم
با این که خودت ننوشتی اما کاره بزرگی انجام دادی
بگزریم
تویه همین تالار
karaji333
یک تاپیک زده بود که یک دی ال ال گذاشت .کاره پرینت رو به بهترین نحوه احسنت انجام میده
لینک رو ببینید
اینو نگفتم بی خیال شین
گفتم برید از ش بپرسیدشاید بتونه کمکتون کنه