📄 تحويل الصور إلى PDF اختر صورة أو عدة صور ثم أنشئ ملف PDF جاهز للتحميل. إنشاء ملف PDF #pdfImages{ width:100%; padding:10px; border:1px solid #ddd; border-radius:10px; margin-top:10px; } #pdfPreviewArea{ display:grid; grid-template-columns:repeat(auto-fill,minmax(100px,1fr)); gap:10px; margin-top:15px; } #pdfPreviewArea img{ width:100%; height:100px; object-fit:cover; border-radius:10px; border:1px solid #ddd; } #createPdfBtn{ width:100%; margin-top:15px; padding:12px; border:none; border-radius:10px; background:#dc2626; color:white; cursor:pointer; } let pdfFiles=[]; const pdfInput = document.getElementById("pdfImages"); const pdfPreviewArea = document.getElementById("pdfPreviewArea"); pdfInput.addEventListener("change",function(){ pdfFiles=[...this.files]; pdfPreviewArea.innerHTML=""; pdfFiles.forEach(file=>{ const reader=new FileReader(); reader.onload=function(e){ const img=document.createElement("img"); img.src=e.target.result; pdfPreviewArea.appendChild(img); }; reader.readAsDataURL(file); }); }); document.getElementById("createPdfBtn") .addEventListener("click",async()=>{ if(!pdfFiles.length){ alert("اختر صورة واحدة على الأقل"); return; } const { jsPDF } = window.jspdf; const pdf=new jsPDF(); for(let i=0;i<pdfFiles.length;i++){ const file=pdfFiles[i]; const dataUrl=await new Promise(resolve=>{ const reader=new FileReader(); reader.onload=e=>resolve(e.target.result); reader.readAsDataURL(file); }); if(i>0){ pdf.addPage(); } pdf.addImage( dataUrl, "JPEG", 10, 10, 190, 250 ); } pdf.save("images-to-pdf.pdf"); });