PDA

View Full Version : خروجی pdf برای از صفحه aspx



m110_110
شنبه 19 دی 1388, 16:08 عصر
با سلام
خیلی توی سایت های مختلف جستجو کردم و انواع کدها وكامپوننت ها رو امتحان كردم
اما هر يك مشكلي داشتند مثلا بهترينش فقط مي تونه gridview رو به pdf تبديل كنه و يكي ديگه كه خيلي قابليت داشت خصوصا در مورد فايلهاي css كه من هم احتياج بسياري به اون دارم ، ولي با فارسي مشكل داشت
حالا مي خواستم خواهش كنم از دوستان اگر كسي مي تونه يه كمكي هم به ما كند
و اين كه جون من از يك صفحه ي دايناميك مي خواهم حروجي pdf بگيرم و درونش عكس و css هم هست
ممنون

Alireza_Salehi
شنبه 19 دی 1388, 20:18 عصر
به نظرم راه حل جامع که دردسر کمتری هم داشته باشه اینه که به صفحاتت قابلیت چاپ بدی (یعنی CSS رو برای چاپ اصلاح کنی)
اون موقع فقط کافیه با پرینترهای مجازی PDF یک پرینت از صفحه بگیری.

peymannaji
یک شنبه 20 دی 1388, 12:45 عصر
ITEXT ميتونه كمكت كنه

http://www.ujihara.jp/iTextdotNET/en

meysampaknahad
یک شنبه 20 دی 1388, 14:02 عصر
سلام
می تونید از کامپوننت زیر استفاده کنید.
http://www.websupergoo.com/download/abcpdf.net.zip

موفق باشید

m110_110
شنبه 26 دی 1388, 12:02 عصر
سلام
ممنون از جوابتون.
همه کارهایی که گفتید انجام دادیم ولی کامپوننت abcpdf که رجیستر نشده بود و لینک ITEXT هم که داده بودید جوابگو نبود.تبدیل یه صفحه html به pdf انجام میشه ولی css توی فایل pdf اعمال نمیشه.

meysampaknahad
شنبه 26 دی 1388, 13:34 عصر
سلام
کامپیوننت قبلی که گذاشته بودم رجیستر نشده بود.
یکی دیگه پیدا کردم که Free هست و فکر می کنم کارتون راه میندازه.
دانلود (http://www.brothersoft.com/d.php?soft_id=294799&url=http%3A%2F%2Fusfiles.brothersoft.com%2Fdevelop ment%2Fcomponents_libraries%2FNetXtremePdf.exe)
موفق باشید.

m110_110
یک شنبه 27 دی 1388, 13:00 عصر
سلام
خيلي خيلي ممنون و متشكر از جوابتون
كامپوننت بسيار عاليي بود و تمام احتياجات ما را بر طرف مي كنه
ولي وقتي dll اون رو توي برنامه استفاده كرديم error زير داد:
ActiveX control '8856f961-340a-11d0-a96b-00c04fd705a2' cannot be instantiated because the current thread is not in a single-threaded apartment.

saied_genius
یک شنبه 27 دی 1388, 13:10 عصر
اين error به اين دليل است که کامپوننت مورد استفاده تحت ويندوز است و شما داريد تحت وب از آن استفاده مي کنيد.
dll مورد نظر احتمالاً از برخي کلاس هاي ويندوزي دارد استفاده مي کند (مانند system.windows.forms) که امکان استفاده آن تحت وب نيست.

البته راه حل دارد (فکر کنم) ولي الان حضور ذهن ندارم.

m110_110
یک شنبه 27 دی 1388, 14:21 عصر
سلام
بله ما تو ويندوز امتحان كرديم و جواب داد
حالا چه كار كنيم تا بشه تو وب استفاده كرد؟

saied_genius
یک شنبه 27 دی 1388, 14:53 عصر
گفتم الان حضور ذهن ندارم.

ولي اگر از کلاس هاي ويندوز مثل system.windows.forms استفاده کرده باشه ، نمي شود کاري برايش کرد.

موفق باشيد.

meysampaknahad
یک شنبه 27 دی 1388, 22:51 عصر
سلام
تا اونجایی که من راجب این کامپوننت می دونم برای ASP.NET2 بدون مشکل قابل استفاده هستش.
اجازه بدید یه جستجویی بکنم تا بعد.

m110_110
سه شنبه 29 دی 1388, 09:09 صبح
سلام
خبری نیست
کسی به نتیجه ای نرسیده
ما هم که هر چی جستجو کردیم چیز درست و حسابی نیافتیم

m110_110
سه شنبه 29 دی 1388, 15:27 عصر
سلام
ما كه هر چي سرچ كرديم فقط لينك برنامه اش هست و ديگر هيچ
نمي دونم چه كار كنم
البته اين رو هم بگم كه يك مثال براي وب داره ولي اون از كد مطلب داده نه اينكه يك ادرس بده و pdf اون رو بگيره
كسي كامپوننت ديگه اي نداره

jingiliboyz
سه شنبه 29 دی 1388, 16:11 عصر
سلام
کامپیوننت قبلی که گذاشته بودم رجیستر نشده بود.
یکی دیگه پیدا کردم که Free هست و فکر می کنم کارتون راه میندازه.
دانلود (http://www.brothersoft.com/d.php?soft_id=294799&url=http%3A%2F%2Fusfiles.brothersoft.com%2Fdevelop ment%2Fcomponents_libraries%2FNetXtremePdf.exe)
موفق باشید.

این لینک blank شده اگه امکان داره لینک دانلود رو دوباره بزارید مرسی

mehdi.mousavi
سه شنبه 29 دی 1388, 16:44 عصر
سلام خیلی خیلی ممنون و متشکر از جوابتون کامپوننت بسیار عالیی بود و تمام احتیاجات ما را بر طرف می کنه ولی وقتی dll اون رو توی برنامه استفاده کردیم error زیر داد: ActiveX control '8856f961-340a-11d0-a96b-00c04fd705a2' cannot be instantiated because the current thread is not in a single-threaded apartment.

سلام.
این خطا، یعنی اینکه COM مزبور، STA مارک شده. یعنی Single-Threaded Apartment و فقط توی این آپارتمان میتونه کار کنه. در صورتیکه Thread ای که شما میخواهید از طریق اون، Component رو Instantiate کنید، MTA مارک شده! و خوب، این مساله race condition رو بوجود میاره و ... حوصله توضیح دادنش رو ندارم، اما باید ببینید Component مزبور برای چه کاری نوشته شده و تحت چه شرایطی میشه ازش استفاده کرد... (من فرصت ندارم نگاه کنم، اما اگر با COM آشنا نیستید، و از چیزهایی که گفتم سر در نمیارید، از کل مساله دوری کنید و بدنبال Component ای بگیرید که Managed باشه).

در هر حال، یه سر به این سایت بزنید (http://csharp-source.net/open-source/pdf-libraries). اینجا، لینک به 4-5 تا Library برای کار با PDF بزبان C# وجود داره که میتونید ازش براحتی (و بدون دونستن COM) توی محیط Managed استفاده کنید. ضمنا، این کتابخونه ها Open Source هستن!

موفق باشید.

m110_110
چهارشنبه 30 دی 1388, 09:47 صبح
سلام
خیلی ممنون از جوابتون
اما این لینکی که شما معرفی کردید رو هم قبلا دیدم
تا دلتون هم بخواهد کامپوننت دانلود کردم اما این کاری که ما می خواهیم بکنیم هیچ کدوم انجام نمی ده
البته این رو هم بگم تو مثال هاشون هست ولی وقتی اون کد رو اجرا می کنیم یا جواب نمی ده و یا error می ده
فکر می کنم شما دقیقا نمی دونید من می خواهم چه کار کنم
من می خواهم برای یکی از صفحات خروجی pdf بگذارم که کاربر بتونه از اون صفحه یک pdf بگیره
البته قابل توجه این که صفحه داینامیک بوده و دارای css هم هست و باید این css هم در pdf تاثیر بگذارد تا خروجی pdf دقیقا شبیه صفحه مورد نظر باشه
این کامپوننتی که آقای meysampaknahad (http://barnamenevis.org/forum/member.php?u=46201) معرفی کرده اند بسیار عالی بود و دقیقا همین کار رو انجام می دهند ولی در win application
وقتی در وب از اون استفاده می کنیم اول error میده که system.windows.forms رو می خواهد و بعد که اون رو هم به reference ها اضافه می کنیم rerror می ده که
ActiveX control '8856f961-340a-11d0-a96b-00c04fd705a2' cannot be instantiated because the current thread is not in a single-threaded apartment.
در این مورد هم خیلی جستجو کردم و راه حل های مختلفی هم براش ذکر شده اما هیچ کدوم فایده ای نداره
کامپوننت های دیگه هم یا trail هست و یا این که این کار رو انجام نمی دهند
البته همون طور که گفتم بعضی هاشون تو مثال هاشون می گویند کار می کنه اما باز اون ها هم کار نمی کنند

ehsan2007
چهارشنبه 30 دی 1388, 22:49 عصر
ببین شاید این بتونه کمکت کنه
http://hasheminezhad.com/itextsharp

saied_genius
چهارشنبه 30 دی 1388, 22:55 عصر
ببین شاید این بتونه کمکت کنه
http://hasheminezhad.com/itextsharp


itext با فارسي مشکل داره.

daffy_duck376
پنج شنبه 01 بهمن 1388, 08:39 صبح
سلام پیشنهاد من استفاده از کامپوننت sti report هست. این یه ابزار گزارش سازی هست ولی یه متد داره که در صورت اجرای اون به جای چاپ بهتون فایل PDF میده با فارسی هم هیچ مشکلی نداره . در صورت گرفتن priveiw هم به هر فرمتی که بخواهید تا office 2007 خروجی میده . تحت وب اجرا میشه و نیز به نصب شدهن روی سرور نداره . چند تاdll داره که کارشو با همون راه میندازه اگه سوالی داری در خدمتم

msozan
پنج شنبه 01 بهمن 1388, 09:23 صبح
منم همین مشکل رو دارم کسی نیست که یه کامپوننت تحت وب برای pdf سراغ داشته باشه.

hajizahiry
شنبه 08 اسفند 1388, 16:26 عصر
1- دوست عزیز کارهای زیر را انجام بده :گ
1- در قسمت html کد EnableEventValidation="false" را اضافه کن
<%@ page language="c#" AutoEventWireup="true" EnableEventValidation="false" inherits="WebUI.Frma" CodeFile="Frma.aspx.cs"%>
2-در کد فرمتابع زیر را اضافه کن
public override void VerifyRenderingInServerForm(Control control)
{
}
3- imageButton ای تعریف کن و onclick آن را مطابق زیر قرار بده
<asp:ImageButton ID="Img_pdf" runat="server" ImageUrl="~/images/pdf.gif" OnClick="Img_pdf_Click"
/>
protected void Img_pdf_Click(object sender, ImageClickEventArgs e)
{
Response.Clear();
Response.AddHeader("content-disposition", "attachment;filename=Report.pdf");
Response.Charset = "utf-8";
Response.ContentType="application/pdf";
System.IO.StringWriter stringWrite = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);
Gd_Modiran.RenderControl(htmlWrite);
Response.Write(stringWrite.ToString());
Response.End();
}

kohyar
یک شنبه 09 اسفند 1388, 09:06 صبح
سلام
از كامپوننت itextsharp.dll استفاده كردي
من باهاش تست گرفتم مشكلي با فارسي نداره

msozan
یک شنبه 09 اسفند 1388, 11:52 صبح
یعنی هیچ راهی نداره که بتونیم یه صفحه تحت وب رو به pdf تبدیل کنیم؟

m110_110
سه شنبه 01 تیر 1389, 18:15 عصر
با سلام
می بخشید
زودتر از این ها باید می امدم اما نشد

یعنی هیچ راهی نداره که بتونیم یه صفحه تحت وب رو به pdf تبدیل کنیم؟
ما توانستیم با کلی مکافات با کامپوننت NetXtremePdf.dll این کار را انجام بدیم
کد ها برای شرکت هست اگر مدیرمان موافقت کرد اینجا می ذارم ولی شما هم می تونید با جستجو این کار را انجام بدید

hezarcham
چهارشنبه 24 شهریور 1389, 18:24 عصر
سلام
نسخه کامل يا کرک کامپوننت NetXtremePdf.dll را کسي ندارد؟
ضرورويه!!!