PDA

View Full Version : ایجاد پرینت پیری ویو در php



zohreh.hn
چهارشنبه 06 آذر 1392, 10:07 صبح
سلام به دوستان عزیز
یک سوال دارم
دستور پرینت را در هر صفحه ای که قراردهید همان صفحه را با هرچه که در آن هست چاپ می کند
حالا اگه بخواهیم وقتی که آیکن چاپ را می زنیم به پیری ویو برود و بعد چاپ کند چه کار باید بکنیم یعنی وقتی آیکن چاپ را میزنیم فقط مطلب مورد نظر را چاپ کند نه مثلا صفحه ایندکس سایت رو امیدوارم متورجه منظورم شده باشید حالا اگه میتوانید که حتما می توانید مرا راهنمایی نمایید.
ممنون

MMSHFE
چهارشنبه 06 آذر 1392, 10:19 صبح
باید با CSS و خاصیت "media="print استایل مخصوص چاپ رو مشخص کنید و با Javascript دکمه چاپ رو ایجاد کنید و توی onclick هم window.print بنویسید. البته این کار بدون Preview هست ولی میتونید اون رو هم حل کنید اما این روش استایل مخصوص چاپ رو میتونه بهتون بده.

smksmk
چهارشنبه 06 آذر 1392, 10:45 صبح
در تکمیل پست قبلی مدیر
چیزی که شما میخاین پرینت مطالب داخل یک div خاص هست . یعنی به این روش به چیزی که میخای میرسی .
شما یک button یا لینک یا مثلاً تگ p ایجاد میکنی با خاصیت onclick مثلاً اینطوری :onclick=javascript:printDiv('id') که تابع printDiv رو فراخوانی کنه .
حلا تابع printdiv هم اینجوریه :
<script language="javascript" type="text/javascript">
function printDiv(divID) {
var divElements = document.getElementById(divID).innerHTML;
var oldPage = document.body.innerHTML;
document.body.innerHTML =
"<html><head><link rel='stylesheet' href='css/style.css' type='text/css' media='print' /><title>پرینت </title></head><body><div class='print'>" + divElements + "</div></body>";
window.print();
document.body.innerHTML = oldPage;
}
</script>
خوب تا اینجا که مشکل شماکامل حل میشه ، حالا اگه بخای به این قسمتی که داخل div هست style هم بدی میتونی مثل نمونه کدی که دادم مثلاً یه div جدید هم ایجاد کنی با کلاس مورد نظرت و یک style.css هم داخل تگ هد بالا فراخوانی کنی که خاصیت media در تگ link باید print باشه ، وبقیه کارها هم که با css انجام میشه .
اسکریپت هم که روشنه یک صفحه جدید ایجاد میکنه و بعد از پرینت دوباره صفحه قبلی فراخوانی میشه . موفق باشین .