با گذشت زمان و فراگیر شدن سیستم های کامپیوتری، کاغذ محبوبیت و کارایی خود را در محیط کار و منزل از دست داد. کامپیوترهای شخصی، لپ تاپ ها، تبلت ها و تلفن های هوشمند جایگزین مناسبی برای روش های سنتی نگهداری اطلاعات بودند. اما هنوز با وجود مزایای فراوان استفاده از سیستم های دیجیتالی، افرادی هستند که تمایل بیشتری به نگهداری فیزیکی اسناد دارند.
در گذشته برای چاپ یک صفحه از وب سایت، نسخه خلاصه شده آن صفحه را به صورت مجزا ایجاد می کردیم تا کاربر بتواند به بهترین شکل نسخه چاپی آن را در اختیار داشته باشد. مجموعه ای از ترفندها و نکات مربوط به "تلفیق نسخه چاپی سایت در نسخه اصلی آن" با کمک سی اس اس در دو بخش جمع آوری شده است که بخش اول آن را می توانید در ادامه مشاهده نمایید.
قدم اول: تعریف چاپگر به جای نمایشگر به عنوان خروجی
محل نوشتن تنظیمات مربوط به چاپ را با استفاده از دستور media مشخص می کنیم:
}
حذف رنگ های اضافه
بسیاری از مرورگرها به صورت پیش فرض در زمان چاپ رنگ ها را مدیریت (معکوس) می کنند تا در مصرف تونر یا کارتریج پرینتر صرفه جویی شود. اما برای داشتن بهترین خروجی، بهتر است رنگ ها به صورت مجزا برای چاپ تعریف شوند.
body {
color: #000;
background: #fff;
}
}
حذف اجزای اضافه در زمان چاپ
در یک صفحه سایت قسمت هایی وجود دارد که برای نمایشگر طراحی شده اند. مواردی مانند تبلیغات، منوی سایت، تصاویر زمینه و ... با توجه به نیاز بهتر است در زمان چاپ حذف شوند.
دستورات display: none و background: none انتخاب های مناسبی برای حذف این موارد از نسخه چاپی هستند.
h1 {
color: #fff;
background: url('/banner.jpg');
}
@media print {
h1 {
color: #000;
background: none;
}
nav, aside {
display: none;
}
}
واحدهای اندازه گیری در چاپ
در CSS واحدهای اندازه گیری متنوعی وجود دارد که پرکاربردترین آن پیکسل است. در زمان چاپ بهتر است از واحدهایی مانند سانتی متر و میلی متر استفاده شود تا بهترین خروجی را روی کاغذ داشته باشیم. یکی از بهترین روش ها، تعریف فاصله محتویات با لبه کاغذ با استفاده از page و margin است.
h1 {
color: #000;
background: none;
}
nav, aside {
display: none;
}
body, article {
width: 100%;
margin: 0;
padding: 0;
}
@page {
margin: 2cm;
}
}
یکپارچه بودن قسمت های مهم
زمان چاپ به صورت خودکار محتویات سایت صفحه بندی می شوند. برای بعضی از قسمت های سایت بهتر است صفحه بندی را مدیریت کنیم. به عنوان مثال، از چاپ شدن تیترها در پایین صفحه با دستور زیر جلوگیری می کنیم.
page-break-after: avoid;
}
همچنین برای تصاویر حداکثر عرض تعریف می کنیم تا تصاویر بزرگتر به صورت خودکار در زمان چاپ متناسب با عرض صفحه چاپ شوند.
max-width: 100% !important;
}
نکته سوم اینکه بهتر است مقالات، اخبار و ... (article) در زمان چاپ از ابتدای صفحه شروع شوند.
page-break-before: always;
}
در نهایت بهتر است از تقسیم شدن بخش هایی مانند لیست ها و تصاویر به چند صفحه جلوگیری کنیم.
page-break-inside: avoid;
}
نکته: چهار موردی که در این بخش ذکر شد فقط به عنوان نمونه بودند و با توجه به نیاز می توان این بخش را تکمیل کرد.
نمایش تصاویر زمینه و رنگ ها در چاپ
در بعضی از سایت ها (نمونه کارها، گالری تصاویر و ...)، تصاویر و رنگ ها اهمیت ویژه ای دارند. در صورتی که مرورگر کاربر پشتیبانی کند (مانند مرورگرهایی که از موتور وب کیتاستفاده می کنند)، با استفاده از دستورات سی اس اس می توانیم آن ها را به همان صورتی که در نمایشگر به نظر می رسند به چاپگر (رنگی) ارسال کنیم.
* {
-webkit-print-color-adjust: exact;
print-color-adjust: exact;
}
}
در بخشی بعدی، ترفندهای دیگری برای بهینه سازی نسخه چاپی سایت بیان خواهد شد.