سلام
چند روز پیش به کمک راهنمایی مهندس مدائنی با Rotativa آشنا شدم!
این افزونه برای گرفتن خروجی PDF از وب سایت استفاده میشه!
از این افزونه استفاده کردم ولی به یه مشکل برخوردم اونم پاس دادن مقدار به پارشال ویو بود!
با کمک مهندس و جستجو تو وب سایتهای مرجع مراحل زیرو انجام دادم: ( البته میدونم برنامه کثیف شده ولی خوب کار میکنه )
1) اولا نصب افزونه Rotativa از Nuget
2) نوشتن یه پارشال ویو به اسم Print برای گرفتن خروجی از وب ( از هرصفحه ای که دلم بخاد)
کافیه دستورات زیرو بنویسن( البته من مسیرو اینجا ثابت گرفتم که فهمش راحت تر باشه)
public ActionResult Print(int FishID) { //Code to get content return new Rotativa.UrlAsPdf("http://soore.ir/fish/FishView/ShowDetails?FishID=" + FishID); }
با دستور بالا پارشال ویو ShowDetails که مخصوص نمایش فیش حقوقی منه فراخوانی میشه و مقدار FishID بهش پاس داده میشه .
خروجی پارشال ویو Print یک فایل PDF می باشد.
حالا فراخوانی پارشال ویو Print تو صفحه Index :
یه باتوم در نظر گرفتم بصورت :
<button type="button" id="Chapi" class="showpopup btn btn-default" onclick='ForPrint("@item.FishID")'>چاپ</button>
با کلیک روی این دکمه تابع ForPrint فراخوانی میشه و مقدار FishID بهش پاس داده میشه.
تابع ForPrint :
function ForPrint(FishID) { var fishid = FishID; document.location.href = "../FishView/Print?FishID=" + fishid // }
تو این تابع پارشال ویو Print فراخوانی میشه و مقداردهی هم میشه
با این روش من از پارشال ویو خودم خروجی PDF گرفتم
تشکر از راهنمایی های مهندس مدائنی
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)