نمایش نتایج 1 تا 6 از 6

نام تاپیک: چاپ صفحه بر روی کاغذ در PHP

  1. #1

    چاپ صفحه بر روی کاغذ در PHP

    سلام
    کی گشتم ولی متاسفانه جواب مناسبی نگرفتم.

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

  2. #2
    کاربر دائمی آواتار buggen
    تاریخ عضویت
    بهمن 1390
    محل زندگی
    zsh
    پست
    104

    نقل قول: چاپ صفحه بر روی کاغذ در PHP

    سلام

    CSS برای پرینت Media Type داره فک کنم به کمک اون مشکلتون حل بشه

  3. #3

    نقل قول: چاپ صفحه بر روی کاغذ در PHP

    نقل قول نوشته شده توسط buggen مشاهده تاپیک
    سلام

    CSS برای پرینت Media Type داره فک کنم به کمک اون مشکلتون حل بشه
    اگه نمونه ای نشون بدید ممنون میشم :)

  4. #4

    نقل قول: چاپ صفحه بر روی کاغذ در PHP

    دوست عزیز، یک راه هست که خیلی دقیق و اصولی جواب میده. من خودم باهاش تابحال برای چندین سایت Report درست کردم. نمونه کد زیر بهتر از هرگونه توضیح هست:
    کد HTML:
    <!-- Copyright محمد مصطفی شهرکی @ http://www.barnamenevis.ir -->
    <!doctype html>
    <html dir="rtl">
    <head>
    <title><?php echo TITLE; ?></title>
    <meta charset="utf-8"/>
    <link href="favicon.ico" rel="shortcut icon" type="image/ico"/>
    <style type="text/css">
        * {
            font-family: Tahoma;
            font-size: 8pt;
        }
        table {
            border: solid 0.25mm #000000;
            width: 170mm;
        }
        td, th {
            border: solid 0.25mm #000000;
            height: 7.5mm;
        }
    </style>
    </head>
    <body>
    <?php
        connect();
        $id = mysql_real_escape_string($_GET['stid']);
        $student = query("SELECT * FROM `student` WHERE (`id`='{$id}' AND `deleted`='0') ORDER BY `id` LIMIT 1");
        if($student && mysql_num_rows($student) > 0) {
            $student = mysql_fetch_assoc($student);
            $branch = query("SELECT * FROM `branch` WHERE (`id`='{$student['bid']}' AND `deleted`='0') ORDER BY `id` LIMIT 1");
            if($branch && mysql_num_rows($branch) > 0) {
                $branch = mysql_fetch_assoc($branch);
                $grades = query("SELECT * FROM `grade` WHERE (`sid`='{$id}' AND `deleted`='0') ORDER BY `term`,`lid`");
                if($grades && mysql_num_rows($grades) > 0) {
                    echo '<table cellpadding="5px" cellspacing="0px">'.PHP_EOL;
                    echo '<tr align="center" valign="middle"><td colspan="2" rowspan="3"><img src="'.URL.'/logo.png" style="height: 18mm; width: 9mm;"/></td><th colspan="4">بسمه تعالی</th></tr>'.PHP_EOL;
                    echo '<tr align="center" valign="middle"><th colspan="4">مرکز آموزش عالی ***</th></tr>'.PHP_EOL;
                    echo '<tr align="center" valign="middle"><th colspan="4">ریز نمرات '.$student['section'].'</th></tr>'.PHP_EOL;
                    echo '<tr align="center" valign="middle"><th style="width: 30mm;">شماره دانشجوئی</th><td style="width: 20mm;">'.$student['id'].'</td><th style="width: 30mm;">شماره شناسنامه</th><td style="width: 20mm;">'.$student['idno'].'</td><td colspan="2">&nbsp;</td></tr>'.PHP_EOL;
                    echo '<tr align="center" valign="middle"><th>نام</th><td>'.$student['name'].'</td><th>تاریخ تولد</th><td>'.$student['bdate'].'</td><th style="width: 40mm;">محل صدور</th><td style="width: 30mm;">'.$student['issue'].'</td></tr>'.PHP_EOL;
                    echo '<tr align="center" valign="middle"><th>نام خانوادگی</th><td>'.$student['family'].'</td><th colspan="2">رشته - گرایش</th><td colspan="2">'.$branch['name'].'</td></tr>'.PHP_EOL;
                    echo '<tr align="center" valign="middle"><th>نام پدر</th><td>'.$student['father'].'</td><th colspan="2">تاریخ فراغت از تحصیل</th><td colspan="2">'.$student['gdate'].'</td></tr>'.PHP_EOL;
                    echo '<tr align="center" valign="middle"><th>ردیف</th><th>نام درس</th><th>نظری</th><th>عملی</th><th colspan="2">نمره</th></tr>'.PHP_EOL;
                    $id = 0;
                    while($grade = mysql_fetch_assoc($grades)) {
                        $lesson = query("SELECT * FROM `lesson` WHERE (`id`='{$grade['lid']}' AND `deleted`='0') ORDER BY `id` LIMIT 1");
                        if($lesson && mysql_num_rows($lesson) > 0) {
                            $lesson = mysql_fetch_assoc($lesson);
                            $id++;
                            echo '<tr align="center" valign="middle"><td>'.$id.'</td><td>'.$lesson['name'].'</td><td>'.$lesson['theoric'].'</td><td>'.$lesson['practical'].'</td><td colspan="2">'.$grade['grade'].'</td></tr>'.PHP_EOL;
                        }
                    }
                    echo '<tr align="center" valign="middle"><th colspan="3">***</th><th colspan="3">***</th></tr>'.PHP_EOL;
                    echo '<tr align="center" valign="middle"><th colspan="3">رئیس مرکز</th><th colspan="3">مدیر آموزشی</th></tr>'.PHP_EOL;
                    echo '</table>'.PHP_EOL;
                }
            }
        }
    ?>
    </body>
    </html>
    کد فوق، بخشی از سیستم گزارش ریز نمرات دانشجویان هست که برای یک دانشگاه دارم طراحی میکنم. حالا خیلی کدهای PHP اون مهم نیست که چطور اطلاعات رو استخراج میکنه. نکته مهم نحوه استفاده از CSS و خاصیت style برای تعیین ابعاد عناصر برحسب میلیمتر هست. موفق باشید.
    موفق باشید.

  5. #5

    نقل قول: چاپ صفحه بر روی کاغذ در PHP

    تشکر دوست عزیز.
    من یه نمونه زدم ولی مشکلم اینه که روی هر مرورگر یه جور میزنه. یه مرورگر فونت بزرگتر میزنه یکی کوچیکتر
    مشکل بعدی اینه که هر روشی میرم نمیشه که تاریخ ٌ، صفحه و آدرس وب رو از پرینت حذف کرد.

    یه مشکل دیگه اینه که مثلا من اندازه متن رو میدم 12 وقتی پرینت میشه با 16 یا 20 پرینت میکنه.

    من برای چاپ صفحه توی جاوا اسکریپت این کد ها رو به ترتیب اجرا میکنم

    var DocumentContainer = document.getElementById('report_main_table');
    var strHtml = "<html>\n<head>\n <link rel=\"stylesheet\" type=\"text/css\" href=\"temp/css/style.css\">\n</head><body><div style=\"testStyle\">\n"
    + DocumentContainer.innerHTML + "\n</div>\n</body>\n</html>";

    var WindowObject = window.open('', 'PrintWindow', 'width=750,height=650,top=50,left=50,toolbars=no,s crollbars=yes,status=no,resizable=yes');
    WindowObject.document.writeln(strHtml);
    WindowObject.document.close();
    WindowObject.focus();
    WindowObject.print();
    WindowObject.close();
    $('.print').focus();
    $('.print').print();
    آخرین ویرایش به وسیله mehrvarzan : دوشنبه 01 اسفند 1390 در 16:37 عصر

  6. #6
    کاربر دائمی آواتار shahriyar3
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    تهران
    سن
    37
    پست
    720

    نقل قول: چاپ صفحه بر روی کاغذ در PHP


قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •