اطبع مباشرة على الطابعة باستخدام JavaScript

click fraud protection

يسأل أحد الاستعلامات التي تظهر كثيرًا في منتديات Javascript المختلفة كيفية إرسال الصفحة مباشرة إلى الطابعة دون عرض مربع حوار الطباعة.

بدلاً من مجرد إخبارك بذلك لا يمكن القيام به ربما يكون تفسير سبب عدم إمكانية مثل هذا الخيار أكثر فائدة.

أي مربع حوار طباعة يظهر عندما يضغط شخص ما على زر الطباعة في متصفحهم أو جافا سكريبت window.print () يعتمد تشغيل الطريقة على نظام التشغيل والطابعات المثبتة على الكمبيوتر.

نظرًا لأن معظم الأشخاص يشغلون Windows على أجهزة الكمبيوتر الخاصة بهم ، فلنصف أولاً كيفية عمل إعداد الطباعة على نظام التشغيل هذا. يختلف نظاما التشغيل * nix و Mac قليلاً في التفاصيل ولكن يتم إعدادهما بشكل عام.

مربع حوار الطباعة

هناك جزءان لمربع حوار الطباعة على Windows. الأول هو جزء من Windows API (واجهة برمجة التطبيقات). واجهة برمجة التطبيقات (API) هي مجموعة من أجزاء التعليمات البرمجية الشائعة الموجودة في مكتبة الارتباط الحيوي (DLL) المختلفة (مكتبة الارتباط الحيوي) الملفات التي تعد جزءًا من Windows نظام التشغيل. يمكن لأي برنامج لـ Windows (ويجب عليه) استدعاء API لأداء الوظائف الشائعة مثل عرض مربع حوار الطباعة بحيث يتم ذلك العمل بنفس الطريقة في جميع البرامج وليس لديها خيارات مختلفة في أماكن مختلفة كما فعل خيار الطباعة في برنامج DOS أيام. توفر واجهة برمجة تطبيقات حوار الطباعة أيضًا واجهة مشتركة تتيح لجميع البرامج الوصول إلى نفس مجموعة برامج تشغيل الطابعة بدلاً من ذلك من الشركات المصنعة للطابعات التي تضطر إلى إنشاء برنامج تشغيل لطابعتهم لكل برنامج فردي يريد استخدامه عليه.

instagram viewer

برامج تشغيل الطابعة هي النصف الآخر من مربع حوار الطباعة. هناك العديد من اللغات المختلفة التي تدركها الطابعات المختلفة أنها تستخدم للتحكم في كيفية طباعة الصفحة (على سبيل المثال ، PCL5 وملحق). يوجه برنامج تشغيل الطابعة واجهة برمجة تطبيقات الطباعة حول كيفية ترجمة تنسيق الطباعة الداخلي القياسي التي يفهمها نظام التشغيل في لغة الترميز المخصصة للطابعة المحددة يفهم. كما أنه يضبط الخيارات التي يعرضها مربع حوار الطباعة ليعكس الخيارات التي توفرها الطابعة المحددة.

تشغيل الطابعة

قد لا يكون هناك أي طابعة مثبتة على جهاز كمبيوتر فردي ، قد يكون لديه طابعة محلية واحدة ، ربما الوصول إلى العديد من الطابعات عبر الشبكة ، قد يتم إعداده للطباعة إلى PDF أو الطباعة المنسقة مسبقًا ملف. عند تحديد أكثر من "طابعة" ، يتم تعيين الطابعة الافتراضية على أنها واحدة ، مما يعني أنها الطابعة التي تعرض تفاصيلها في مربع حوار الطباعة عند ظهورها لأول مرة.

يتتبع نظام التشغيل الطابعة الافتراضية ويحدد تلك الطابعة للبرامج المختلفة على الكمبيوتر. يسمح هذا للبرامج بتمرير معلمة إضافية إلى واجهة برمجة تطبيقات الطباعة تخبرها بالطباعة مباشرةً إلى الطابعة الافتراضية دون عرض مربع حوار الطباعة أولاً. تحتوي العديد من البرامج على خيارين مختلفين للطباعة - إدخال قائمة يعرض مربع حوار الطباعة وزر طباعة سريع لشريط الأدوات يرسل مباشرةً إلى الطابعة الافتراضية.

عندما يكون لديك صفحة ويب على الإنترنت سيقوم زوارك بطباعتها ، فليس لديك معلومات حول الطابعة (الطابعات) المتوفرة لديهم. يتم تكوين معظم الطابعات حول العالم للطباعة على ورق A4 ولكن لا يمكنك ضمان إعداد الطابعة على هذا الإعداد الافتراضي. تستخدم إحدى دول أمريكا الشمالية حجم ورق غير قياسي أقصر وأوسع من A4. يتم إعداد معظم الطابعات للطباعة في الوضع الرأسي (حيث يكون الاتجاه الأضيق هو العرض ولكن قد يتم تعيين بعضها إلى الوضع الأفقي حيث يكون البعد الأطول هو العرض. بالطبع ، لكل طابعة أيضًا هوامش افتراضية مختلفة في الجزء العلوي والسفلي والجانبي حتى قبل دخول الملاك وتغيير جميع الإعدادات للحصول على الطابعة بالطريقة التي يريدونها تريد.

بالنظر إلى كل هذه العوامل ، ليس لديك طريقة لمعرفة ما إذا كانت الطابعة الافتراضية بتكوينها الافتراضي ستطبع الويب الصفحة على A3 مع هوامش ضئيلة أو على A5 مع هوامش ضخمة (تاركا ما يزيد قليلا عن مساحة بحجم طابع البريد في منتصف الصفحة). من المحتمل أن تفترض أن معظم مساحة الطباعة على الصفحة ستبلغ 16 سم × 25 سم تقريبًا (زائد أو ناقص 80٪).

احتياجات الطباعة

نظرًا لأن الطابعات تختلف كثيرًا بين الزوار المحتملين (هل ذكر أحدهم طابعات الليزر أو طابعات نفث الحبر أو الألوان أو الأسود والأبيض فقط ، جودة الصورة ، وضع المسودة ، وأكثر من ذلك بكثير) ليس لديك طريقة لمعرفة ما الذي يتعين عليهم القيام به لطباعة صفحتك بطريقة معقولة شكل. ربما يكون لديهم طابعة منفصلة أو برنامج تشغيل ثان لنفس الطابعة يوفر إعدادات مختلفة تمامًا لصفحات الويب.

بعد ذلك ، تأتي مسألة ما قد يرغبون في طباعته. هل يريدون الصفحة بأكملها أم أنهم اختاروا جزءًا فقط من الصفحة يريدون طباعته؟ إذا كان موقعك يستخدم إطارات ، فهل يرغبون في طباعة جميع الإطارات بالطريقة التي تظهر بها على الصفحة ، فهل يريدون طباعة كل إطار على حدة ، أم يريدون فقط طباعة إطار معين؟

إن الحاجة إلى الإجابة على كل هذه الأسئلة تجعل من الضروري أن يظهر مربع حوار الطباعة كلما ظهرت تريد طباعة شيء ما حتى يتمكنوا من التأكد من صحة جميع الإعدادات قبل أن تصل إلى الطباعة زر. توفر معظم المتصفحات أيضًا إمكانية إضافة زر "طباعة سريعة" إلى أحد أشرطة أدوات المتصفح للسماح بذلك الصفحة المراد طباعتها إلى الطابعة الافتراضية باستخدام إعدادات المستعرض الافتراضية لما سيتم طباعته و كيف.

جافا سكريبت

لا تجعل المتصفحات هذا العدد الكبير من إعدادات المتصفح والطابعة متاحة لـ Javascript. جافا سكريبت معنية بشكل أساسي بتعديل التيار صفحة ويب وبالتالي فإن متصفحات الويب توفر الحد الأدنى من المعلومات حول المتصفح نفسه وبجانب عدم وجود معلومات حول نظام التشغيل المتاح جافا سكريبت لأن جافا سكريبت لا تحتاج إلى معرفة تلك الأشياء لأداء تلك الأشياء التي يقصد بها جافا سكريبت.

يقول الأمان الأساسي أنه إذا كان شيء مثل Javascript لا يحتاج إلى معرفة نظام التشغيل و تكوين المتصفح من أجل التلاعب في صفحة الويب ، فلا ينبغي أن يتم توفيرها مع ذلك معلومات. إنه ليس مثل جافا سكريبت يجب أن يكون قادرًا على تغيير إعدادات الطابعة إلى قيم مناسبة لـ طباعة الصفحة الحالية لأن هذا ليس الغرض من جافا سكريبت - هذه هي مهمة الطباعة الحوار. وبالتالي ، فإن المتصفحات لا توفر سوى لـ Javascript تلك الأشياء التي يحتاج Javascript إلى معرفتها مثل حجم الشاشة ، المساحة المتاحة في نافذة المتصفح لعرض الصفحة ، والأشياء المماثلة التي تساعد جافا سكريبت على معرفة كيفية تخطيط الصفحة. صفحة الويب الحالية هي مصدر قلق Javascript الوحيد.

إنترانت

الإنترانت هي بالطبع مسألة مختلفة تمامًا. مع الإنترانت ، أنت تعرف أن الجميع الوصول إلى الصفحة يستخدم مستعرضًا محددًا (عادةً ما يكون إصدارًا حديثًا من Internet Explorer) ولديه دقة شاشة محددة والوصول إلى طابعات محددة. هذا يعني أنه من المنطقي على الإنترانت أن تتمكن من الطباعة مباشرة إلى الطابعة بدون عرض مربع حوار الطباعة لأن الشخص الذي يكتب صفحة الويب يعرف الطابعة التي ستكون عليها طبع على.

وبالتالي فإن بديل برنامج Internet Explorer عن جافا سكريبت (يسمى JScript) يحتوي على مزيد من المعلومات حول المتصفح ونظام التشغيل الذي توفره جافا سكريبت نفسها. يمكن تكوين أجهزة الكمبيوتر الفردية الموجودة على الشبكة التي تقوم بتشغيل الإنترانت للسماح باستخدام JScript window.print () أمر الكتابة مباشرة إلى الطابعة دون عرض مربع حوار الطباعة. سيتعين إعداد هذا التكوين بشكل فردي على كل كمبيوتر عميل وهو خارج نطاق مقال عن جافا سكريبت.

عندما يتعلق الأمر بصفحات الويب على الإنترنت ، لا توجد طريقة على الإطلاق يمكنك من خلالها إعداد أمر جافا سكريبت لإرسالها مباشرة إلى الطابعة الافتراضية. إذا رغب زوارك في القيام بذلك ، فسيتعين عليهم إعداد زر "الطباعة السريعة" الخاص بهم على شريط أدوات المتصفح الخاص بهم.

instagram story viewer