مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

mofid

عضویت از 1393/10/18

پرینت گرفتن از صفحه HTML با جاوا اسکریپت یا جی کوئری

  • یکشنبه 30 خرداد 1395
  • 11:33
تشکر میکنم

با سلام

من میخوام از بخشی از سایت پرینت بگیرم با جاوا اسکریپت

این کدو نوشتم:

<script>
        function printDiv(divName) {
            var printContents = document.getElementById(divName).innerHTML;
            var originalContents = document.body.innerHTML;

            document.body.innerHTML = printContents;

            window.print();

            document.body.innerHTML = originalContents;
        }
</script>

توضیحش اینه که من یه تیبل دارم که داخل یه div با آیدی content  به میاد از محتوای این div که تیبل باشه پرینت میگیره

اما مشکل اینجاست که تیبل من یه سری استایل داره (CSS) و پرینت من خیلی ساده و بدون اون استایل هاست.

اگر بشه PDF اون بخش از صفحه رو هم بهش بدم خوبه ولی با گرافیک و استایل هاش.

پاسخ های این پرسش

تعداد پاسخ ها : 3 پاسخ
کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • یکشنبه 30 خرداد 1395
  • 11:35

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

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

ساخت PDF با کمک Rotativa در MVC

کاربر سایت

mofid

عضویت از 1393/10/18

  • یکشنبه 30 خرداد 1395
  • 14:27

دستت درد نکنه

من دارم از بانک میخونم و یه ViewModel رو دارم پر میکنم

public ActionResult PrintServicePDF(int id)
        {
            ServiceRepository BlService = new ServiceRepository();
            FeatureRepository BlFeature = new FeatureRepository();

            var Service = BlService.Where(p => p.ServiceId == id).Single();

            List<tblFeature> Features = new List<tblFeature>();
            Features = BlFeature.Where(p => p.ServiceId == id).ToList();

            DetailsServiceViewModel model = new DetailsServiceViewModel();
            model.Service = new tblService();
            model.Features = new List<tblFeature>();
            model.Service = Service;
            model.Features = Features;
            _ServicePrint = new DetailsServiceViewModel();
            _ServicePrint.Service = new tblService();
            _ServicePrint.Features = new List<tblFeature>();
            _ServicePrint.Service = Service;
            _ServicePrint.Features = Features;
            
            return new ActionAsPdf("CreatePDF",_ServicePrint);
        }

        public ActionResult CreatePDF()
        {
            return View(_ServicePrint);
        }

من _ServicePrint رو تو اکشن اول پر میکنم ولی وقتی میاد به اکشن دوم null ه

واسه همین خطا دارم

کاربر سایت

mofid

عضویت از 1393/10/18

  • یکشنبه 30 خرداد 1395
  • 15:15

درست شد آقای مدائنی

تشکر

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)