PDA

View Full Version : سوال: پرینت قسمتی از صفحه (حل شد)



ehsan_savadkohi
چهارشنبه 05 تیر 1392, 15:18 عصر
چگونه میتوان دکمه پرینت را به صفحه مورد نظر اضافه کرد و با زدن این دکمه فقط قسمت خاصی از صفحه که مورد نظر است پرینت گرفته شود؟:متفکر:

ehsan_savadkohi
پنج شنبه 06 تیر 1392, 08:34 صبح
F1 !!!!!!!!!! help me :گریه:

MMSHFE
پنج شنبه 06 تیر 1392, 09:33 صبح
برای چاپ باید از تابع ()window.print جاوا اسکریپت استفاده کنید (یک لینک بگذارین و href اون رو این تابع بگذارین و محتوای لینک هم عکس چاپگر باشه).
بعد با CSS و خاصیت "media="print استایل زمان چاپ رو مشخص کنید و بنویسید:


<style media="print" type="text/css">
*:not(.print), *:not(.print) * {
display: none;
}
</style>

حالا هر بخشی که میخواین قابلیت چاپ داشته باشه، توی div با کلاس print بگذارین.
البته هیچکدوم از این موارد ارتباطی به PHP نداره ولی چون حدس زدم توی اون تالارها جواب نمیگیرین (بخاطر چند زمینه ای بودن سؤال - CSS و JS)، جواب دادم.

ehsan_savadkohi
پنج شنبه 06 تیر 1392, 10:46 صبح
ممنون از راهنمائیتون.
1) من استایل را به head اضافه کردم.
2) کلاسdiv را هم print گذاشتم.
3)
<a href="window.print()" >چاپ فاکتور</a> قرار دادم. کار نمیکنه !111:گریه::گریه:

MMSHFE
پنج شنبه 06 تیر 1392, 11:13 صبح
<a href="javascript: window.print();" >چاپ فاکتور</a>

ehsan_savadkohi
پنج شنبه 06 تیر 1392, 11:38 صبح
<a href="javascript: window.print();" >چاپ فاکتور</a>

این پیغام را میده.
print perview failed

MMSHFE
پنج شنبه 06 تیر 1392, 11:44 صبح
لطفاً کد کامل و نوع و ورژن مرورگری که باهاش تست کردین رو بگذارین.

ehsan_savadkohi
پنج شنبه 06 تیر 1392, 12:02 عصر
لطفاً کد کامل و نوع و ورژن مرورگری که باهاش تست کردین رو بگذارین.

Version 27.0.1453.116 m
Google Chrome is up to date.

<style media="print" type="text/css">
*:not(.print), *:not(.print) * {
display: none;
}
</style>
<a style="float:left;" href="javascript: window.print();" >چاپ فاکتور</a>

<div class="print">hello</div>

qartalonline
پنج شنبه 06 تیر 1392, 12:20 عصر
اینجوری استایل بدید:

<style media="print" type="text/css">
.no-print{
display: none;
}
</style>

<a href="javascript:window.print();" >چاپ فاکتور</a>

<p class="no-print">no print</p>
<p>print</p>
<p class="no-print">no print</p>
<p>print</p>

MMSHFE
پنج شنبه 06 تیر 1392, 12:21 عصر
عذر میخوام، حواسم نبود * به همه تگها (شامل HTML و BODY) اعمال میشه. کد زیر رو تست کنید:


<!doctype html>
<html>
<head>
<title>Print DEMO</title>
<meta charset="utf-8" />
<style media="print" type="text/css">
body > *:not(.print), body > *:not(.print) * {
display: none;
}
</style>
<body>
<a href="javascript: window.print();">چاپ فاکتور</a><br />
<div class="print">Printed <span>Text</span></div>
<div>Not Printed <span>Text</span></div>
</body>
</html>

MMSHFE
پنج شنبه 06 تیر 1392, 12:22 عصر
اینجوری استایل بدید...
این روش خوبه و جواب میده ولی دردسرش اینه که هر تگی که نخوایم چاپ بشه باید بهش کلاس بدیم. روشی که در آخر گفتم، ساده تره و فقط کافیه اون بخشی که میخوایم چاپ بشه رو توی یک تگ (مثل div) با کلاس print بگذاریم.