سامان
5 سال پیش توسط سامان مطرح شد
2 پاسخ

چاپ صفحه وب

سلام و احترام خدمت دوستان گرامی . در کروم یک امکانی هست که میشه با آن صفحه html را پرینت گرفت . کلا کاربر باید سمت راست بالای صفحه کلید سه نقطه , بعدش هم گزینه print و ... در نهایت پرینتر را انتخاب و از صفحه وب پرینت بگیره . من میخواستم روی صفحه html که از هاست دریافت میکنم یک button ای هم داشته باشم که با انتخاب اون بطور مستقیم به صفحه پرینت کروم برم . در واقع کاربرِ من بتونه با انتخاب این button به صفحه پرینت کروم دسترسی پیدا کنه تا بعدش بتونه از آن صفحه پرینت بگیره . انگار یه کلید shortCut ای را باید تعریف کنیم . نتونستم اینکار را انجام بدم . دوستان در این زمینه میتونید منو راهنمائی کنین ؟ بسیار متشکر از شما .


ثبت پرسش جدید
علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 5 سال پیش مطرح شد
3

سلام. شئ window در جاوااسکریپت همچین قابلیتی به ما میده.


<button onclick="printFunction()">Print this page</button>

<script>
function printFunction() {
  window.print();
}
</script>

و یا بصورت مستقیم و بدون تابع:

<button onclick="window.print()">Print This Page</button>

سید محمد حسین موسوی
تخصص : FullStack Developer
@SeyedMH.Mosavi 5 سال پیش آپدیت شد
2

برای چاپ بهتره سمت سرور اینکارو بکنی نه کلاینت. اینطوری مدیریت بهتری نسبت به خروجی خواهی داشت. مثلا فرض کن می خوای یه لیستی رو به کاربر نشون بدی که تو حالت عادی تو سایتت صفحه بندی داری و اینطوری کاربر مجبوره به تعداد صفحه بندی صفحه رو عوض کنه و دکمه چاپ رو بزنه. بعلاوه اینکه کلی مواردی دیگه هم تو این حالت نمایش داده می شه که بدردش نمی خوره مثل منوی سایت و فوتر سایت و ...
با این تفاسیر اگر خواستی اینکارو با جاوا اسکریپت انجام بدی از دستوری بالایی می تونی استفاده کنی. اگر خواستی می تونی با css هم خروجی رو در زمان پرینت تغییر بدی. مثلا فونت رو بزرگ کنی یا رنگ رو تغییر بدی یا چیزی رو نمایش یا مخفی کنی مثل همون منو و فوتری که گفتم و ...
برای اینکار از دستور زیر استفاده کن:

@media print {
    #test-element{
        display: none;
    }
}

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام