- वेब अनुभव का मुख्य आधार responsive design केवल डिवाइस ही नहीं, बल्कि output (print) media support को भी ध्यान में रखना चाहिए
- accessibility, कानूनी आवश्यकताएँ, यात्रा आदि कई कारणों से, वेबपेज की प्रिंट गुणवत्ता और उपयोगिता अब भी महत्वपूर्ण है
- CSS की @media print, @page, absolute units, page-break जैसी print-विशेष सुविधाओं से साफ-सुथरा layout, उचित विभाजन और efficient printing लागू की जा सकती है
- navigation, footer जैसे अनावश्यक elements को छिपाकर links, abbreviations आदि के लिए कागज़ के अनुरूप अतिरिक्त जानकारी देनी चाहिए
- black-and-white printing, ink saving, readability को ध्यान में रखते हुए रंग और background का उपयोग न्यूनतम रखना चाहिए, और print तथा screen दोनों के लिए एक-दूसरे को पूरक सुधार करने चाहिए
प्रिंट के लिए वेब डिज़ाइन की ज़रूरत
- accessibility के नज़रिये से, जो लोग लंबे समय तक स्क्रीन नहीं देख सकते, वे printed content से जानकारी प्राप्त कर सकते हैं
- यात्रा के दौरान इंटरनेट उपलब्ध न होना, संगठनों में कानूनी या नीतिगत रिकॉर्ड-संग्रह की अनिवार्यता जैसी स्थितियों में, प्रिंट सामग्री का उपयोग अब भी विविध रूपों में होता है
- EPUB जैसे digital publishing formats के साथ भी कई समानताएँ हैं, इसलिए print styles का अनुभव एक उच्च-विस्तारयोग्य तकनीक है
- लोग वास्तव में वेबसाइटों को प्रिंट करके इस्तेमाल करते हैं, इसलिए print support संपूर्ण user experience की गुणवत्ता बढ़ाने में योगदान देता है
Print style लागू करने के तरीके
- CSS के
@media printका उपयोग करके print-विशेष styles निर्धारित किए जा सकते हैं <link rel="stylesheet" media="print">,@import url("...") print, और internal CSS में@media print { ... }जैसे कई तरीके मौजूद हैं- केवल स्क्रीन के लिए
@media screenका उपयोग करें
Print style की testing
- Edge, Chrome, Firefox, Safari जैसे browsers में print media simulation की सुविधा मिलती है
- simulation का परिणाम और वास्तविक print अलग हो सकते हैं, और अधिकांश browsers background disabled (ink saving) को default के रूप में सेट करते हैं
- वास्तविक print environment को ध्यान में रखकर testing करने की सलाह दी जाती है
Absolute units और @page rule
- CSS में cm, mm, in, pt, px जैसी कई absolute units उपलब्ध हैं, जो वास्तविक printing में सटीक size adjustment के लिए उपयोगी हैं
@pagerule से paper size (A4, A5 आदि), margin, orientation जैसी सेटिंग्स की जा सकती हैं- printer की printable area limits और browser द्वारा अपने-आप जोड़े जाने वाले footer/header को भी ध्यान में रखना चाहिए
Page breaks और paragraph प्रबंधन
- लंबे content में page breaks आवश्यक हैं, और break-before, break-after, break-inside properties से उचित स्थान नियंत्रित किए जा सकते हैं
- पुराना syntax
page-break-*भी अब तक compatibility रखता है - orphans, widows properties से paragraph की शुरुआत या अंत में अकेली छूटी पंक्तियों को कम किया जा सकता है (हालाँकि कुछ browsers में support नहीं है)
- box-decoration-break से page split होने पर borders जैसी UI consistency बनाए रखी जा सकती है
Interactive elements की print handling
- कागज़ पर links, abbreviations जैसे interactive elements काम नहीं करते, इसलिए
a[href]:after,abbr[title]:afterआदि के जरिए URL या अतिरिक्त जानकारी output में जोड़ी जा सकती है - form elements को print input fields की तरह व्यवस्थित करें, और scroll containers आदि को
overflow: visibleजैसे rules से फैलाने की ज़रूरत हो सकती है - navigation, footer जैसे अनावश्यक elements को
display: noneसे हटाकर, केवलmainको print करने के लिए नियंत्रित किया जा सकता है
रंग, ink और readability
- black-and-white printing और ink saving को default मानते हुए, background color की जगह border का उपयोग करके visual emphasis दिया जा सकता है
print-color-adjust: exactसे केवल कुछ विशेष elements पर रंग बनाए रखने के लिए मजबूर किया जा सकता है (सिर्फ़ ज़रूरत होने पर)- images का उपयोग न्यूनतम रखें, और ads जैसे अधिक ink खर्च करने वाले elements को हटाने की सलाह दी जाती है
निष्कर्ष
- वेब केवल स्क्रीन पर ही नहीं, बल्कि भौतिक दुनिया (कागज़) में भी मौजूद है
- CSS print styles accessibility और user experience की पूर्णता बढ़ाने वाला एक मुख्य तत्व हैं
- ताकि सभी उपयोगकर्ता अलग-अलग तरीकों से content का उपभोग कर सकें, print support आधुनिक web development की एक अनिवार्य क्षमता है, जिस पर ज़रूर ध्यान देना चाहिए
2 टिप्पणियां
वैसे, यह पोस्ट खुद प्रिंट-फ्रेंडली नहीं है.
प्रिंट करने पर
COPY TO CLIPBOARDजैसी बेकार UI भी छप जाती है,कोड स्निपेट कट जाते हैं और horizontal scrollbar भी प्रिंट हो जाता है.
पहले पोस्ट किए गए कागज़ पर प्रिंट करने के लिए CSS का सारांश को भी देखें.
वेब पेज को कागज़ पर प्रिंट करना और PDF में आउटपुट देना अलग बात है (जैसे बिना ink की चिंता के रंगों का इस्तेमाल करना, या hyperlinks का उपयोग कर पाना), और इससे संबंधित लाइब्रेरी में
paged.jsजैसी चीज़ें हैं.मैनुअल, शैक्षिक सामग्री और वर्कशीट पेज बनाते समय इस पर विचार करना उपयोगी हो सकता है!