البرمجة

طباعة ملف PDF بدون فتحه

لطباعة ملف PDF دون فتحه بصورة بصرية للمستخدم، يمكنك استخدام تقنية الـ iframe كما فعلت في الشيفرة التي قدمتها. ولكن لضمان عملية الطباعة على أكبر عدد ممكن من المتصفحات، يمكنك استخدام مكتبة مثل PDF.js التي تسمح بعرض وطباعة ملفات PDF في الصفحة مباشرة دون الحاجة إلى برنامج PDF قارئ.

على سبيل المثال، إذا كان لديك ملف PDF يمكنك استخدام الكود التالي لعرضه وطباعته دون فتحه بصرياً:

html
html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Print PDF without Openingtitle> <script src="https://cdnjs.cloudflare.com/ajax/libs/pdf.js/2.11.338/pdf.min.js">script> head> <body> <button onclick="printPdf('https://example.com/your-pdf-file.pdf')">Print PDFbutton> <script> function printPdf(url) { const loadingTask = pdfjsLib.getDocument(url); loadingTask.promise.then((pdf) => { pdf.getPage(1).then((page) => { const scale = 1.5; const viewport = page.getViewport({ scale: scale }); const canvas = document.createElement('canvas'); const context = canvas.getContext('2d'); canvas.height = viewport.height; canvas.width = viewport.width; const renderContext = { canvasContext: context, viewport: viewport }; page.render(renderContext).promise.then(() => { const imgData = canvas.toDataURL('image/jpeg'); const pdfWindow = window.open('', '_blank'); pdfWindow.document.open(); pdfWindow.document.write(''" style="width:100%;">'); pdfWindow.document.close(); pdfWindow.onload = () => { pdfWindow.print(); }; }); }); }); } script> body> html>

هذا الكود يستخدم PDF.js لعرض ملف PDF في عنصر canvas، ثم يستخدم نافذة جديدة لطباعة الصفحة كصورة. يرجى ملاحظة أنه قد تحتاج إلى تعديل الكود لتناسب احتياجاتك الخاصة ولضمان أمان وصحة العرض والطباعة.

المزيد من المعلومات

لطباعة ملف PDF دون فتحه بصورة بصرية للمستخدم، يمكن استخدام خطوات مشابهة لتلك المستخدمة في كود الـ PDF.js. يمكن استخدام الكود التالي كأساس لتحقيق ذلك:

html
html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Print PDF without Openingtitle> <script src="https://cdnjs.cloudflare.com/ajax/libs/pdf.js/2.11.338/pdf.min.js">script> head> <body> <button onclick="printPdf('https://example.com/your-pdf-file.pdf')">Print PDFbutton> <script> function printPdf(url) { const loadingTask = pdfjsLib.getDocument(url); loadingTask.promise.then((pdf) => { pdf.getPage(1).then((page) => { const scale = 1.5; const viewport = page.getViewport({ scale: scale }); const canvas = document.createElement('canvas'); const context = canvas.getContext('2d'); canvas.height = viewport.height; canvas.width = viewport.width; const renderContext = { canvasContext: context, viewport: viewport }; page.render(renderContext).promise.then(() => { const imgData = canvas.toDataURL('image/jpeg'); const pdfWindow = window.open('', '_blank'); pdfWindow.document.open(); pdfWindow.document.write(''" style="width:100%;">'); pdfWindow.document.close(); pdfWindow.onload = () => { pdfWindow.print(); }; }); }); }); } script> body> html>

يمكنك تغيير قيم الـ scale وحجم الـ canvas حسب احتياجاتك، وكذلك يمكنك إضافة المزيد من الخصائص والتعديلات لتحسين الأداء والمرونة في الاستخدام.

مقالات ذات صلة

زر الذهاب إلى الأعلى
إغلاق

أنت تستخدم إضافة Adblock

يرجى تعطيل مانع الإعلانات حيث أن موقعنا غير مزعج ولا بأس من عرض الأعلانات لك فهي تعتبر كمصدر دخل لنا و دعم مقدم منك لنا لنستمر في تقديم المحتوى المناسب و المفيد لك فلا تبخل بدعمنا عزيزي الزائر