✨ Bel Mizen Modern Menu ← Back to Menu Choose sections above or click any dish in the preview to omit/include it. Use "Clear All" to quickly isolate a single section.

Print Customizer Select specific categories or use presets. Colorized and formatted automatically.

★ GOURMET BISTRO

Bel Mizen Restaurant مطعم بالميزان Restaurant Bel Mizen

بالميزان و الغرام و بالأكل لذة و غرام

📱 WhatsApp: 76 191914 📍 Location: Bourj Hammoud, Beirut ⏰ Hours: 12:00 PM – 11:30 PM Daily
Scan to open Bel Mizen website
SCAN TO ORDER امسح للطلب SCANNER LE MENU
📱 WhatsApp Direct: 76 191914 Bourj Hammoud, Mount Lebanon · belmizen@gmail.com · @belmizen
⏰ Open Dailyمفتوح يومياًOuvert tous les jours 12:00 PM – 11:30 PM · Quick Delivery & Pickup
⭐ Authentic Kitchenمطبخ بالميزانCuisine Authentique Joey Abillamaa · Owner, Buy for Less S.A.R.L
Choose from our full gourmet menu, customize items, order daily platters by plate or gram, and request Build Your Plate or Upon Order through WhatsApp.
اختار من المنيو الكامل، خصص الأصناف، اطلب الصحون اليومية بالصحن أو بالغرام، واستعمل خدمة ركّب صحنك أو ع الطلب عبر واتساب.
Choisissez dans le menu complet, personnalisez vos articles, commandez les plats du jour à l’assiette ou au gramme, et profitez de Compose ton assiette ou Sur commande sur WhatsApp.

🔥 Active Deals & Promotional Combos أقوى العروض والكومبو الحصرية Offres Spéciales & Combos 12 offers

0 items
`; download(new Blob([html],{type:'application/msword'}),'bel-mizen-modern-menu.doc'); } async function exportPng(){ const exportBtn=document.getElementById('exportBtn'); const oldBtnText=exportBtn?exportBtn.textContent:''; if(exportBtn)exportBtn.textContent='⏳ Rendering Menu PNG...'; try{ render(); const clone=sheet.cloneNode(true); clone.querySelectorAll('.pmItem.pmItem-excluded, .pmItemToggleBtn, .pmExcludedNotice, .pmEmptyNotice').forEach(el=>el.remove()); // Convert all images to Base64 Data URLs so SVG loads without security restrictions const imgs=Array.from(clone.querySelectorAll('img')); await Promise.all(imgs.map(async img=>{ try{ img.removeAttribute('loading'); img.removeAttribute('onerror'); const liveImg=Array.from(document.images).find(i=>(i.src&&i.src===img.src)||(i.getAttribute('src')&&i.getAttribute('src')===img.getAttribute('src'))); let dataUri=''; if(liveImg&&liveImg.complete&&liveImg.naturalWidth>0){ const c=document.createElement('canvas'); c.width=liveImg.naturalWidth; c.height=liveImg.naturalHeight; const cx=c.getContext('2d'); cx.drawImage(liveImg,0,0); dataUri=c.toDataURL('image/png'); }else if(img.src&&!img.src.startsWith('data:')){ dataUri=await new Promise(resolve=>{ const temp=new Image(); temp.crossOrigin='anonymous'; temp.onload=()=>{ try{ const c=document.createElement('canvas'); c.width=temp.naturalWidth; c.height=temp.naturalHeight; const cx=c.getContext('2d'); cx.drawImage(temp,0,0); resolve(c.toDataURL('image/png')); }catch(e){resolve('');} }; temp.onerror=()=>resolve(''); temp.src=img.src; }); } if(dataUri){ img.src=dataUri; } }catch(e){} })); // Measure exact height required at master export width (1140px) const exportWidth=1140; const sandbox=document.createElement('div'); sandbox.style.cssText='position:fixed;left:-9999px;top:0;width:1140px;visibility:hidden;pointer-events:none;z-index:-1000;background:#ffffff;'; sandbox.className=`printPage ${document.body.className}`; sandbox.dir=document.body.dir||'ltr'; const measureClone=clone.cloneNode(true); measureClone.style.width='1140px'; measureClone.style.maxWidth='1140px'; measureClone.style.margin='0'; measureClone.style.boxShadow='none'; measureClone.style.borderRadius='0'; sandbox.appendChild(measureClone); document.body.appendChild(sandbox); const exportHeight=Math.max(800,Math.ceil(measureClone.offsetHeight)+12); document.body.removeChild(sandbox); // Apply master dimensions to clone clone.style.width=exportWidth+'px'; clone.style.maxWidth=exportWidth+'px'; clone.style.margin='0'; clone.style.boxShadow='none'; clone.style.borderRadius='0'; clone.style.background='#ffffff'; clone.style.boxSizing='border-box'; // Gather styles from document const pageStyles=Array.from(document.querySelectorAll('style')).map(s=>s.innerHTML).join('\n'); const serializedHtml=new XMLSerializer().serializeToString(clone); const isRtl=document.body.dir==='rtl'; const lang=document.documentElement.lang||'en'; const bodyClass=`printPage ${document.body.className}`; const svgString=`
${serializedHtml}
`; const svgBlob=new Blob([svgString],{type:'image/svg+xml;charset=utf-8'}); const svgUrl=URL.createObjectURL(svgBlob); const img=new Image(); await new Promise((resolve,reject)=>{ img.onload=()=>{ try{ const scale=Math.min(2,Math.max(1,Math.floor(16000/exportHeight))); const canvas=document.createElement('canvas'); canvas.width=exportWidth*scale; canvas.height=exportHeight*scale; const ctx=canvas.getContext('2d'); ctx.fillStyle='#ffffff'; ctx.fillRect(0,0,canvas.width,canvas.height); ctx.scale(scale,scale); ctx.drawImage(img,0,0); URL.revokeObjectURL(svgUrl); canvas.toBlob(blob=>{ if(blob){ const ver=versionSelect.value||'modern'; download(blob,`bel-mizen-${ver}-vivid-menu.png`); resolve(); }else{ reject(new Error('Canvas toBlob returned null')); } },'image/png',0.95); }catch(err){ URL.revokeObjectURL(svgUrl); reject(err); } }; img.onerror=()=>{ URL.revokeObjectURL(svgUrl); reject(new Error('SVG image load error')); }; img.src=svgUrl; }); }catch(err){ console.warn('DOM SVG to Canvas export error, using enhanced canvas fallback:',err); fallbackCanvasExport(); }finally{ if(exportBtn)exportBtn.textContent=oldBtnText; } } function fallbackCanvasExport(){ const keep=selectedKeys(); const data=menu().filter(c=>keep.includes(c.key)); const offerRows=isOffersEnabled()?getOffersList():[]; const isAr=languageSelect.value==='ar'; const isEnAr=languageSelect.value==='enar'; const isFr=languageSelect.value==='fr'; const isCompact=versionSelect.value==='compact'; const width=1600; const rowH=isCompact?26:38; const catH=46; const itemCount=data.reduce((s,c)=>s+(c.items||[]).filter(it=>!(it[8]&&it[8].available===false)&&!excludedItems.has(String(it[0]))).length,0); const offerRowsCount=offerRows.length?Math.ceil(offerRows.length/3):0; const height=Math.max(2200,360+(offerRowsCount?offerRowsCount*110+20:0)+Math.ceil((data.length*catH+itemCount*rowH)/2)+100); const canvas=document.createElement('canvas'); canvas.width=width; canvas.height=height; const ctx=canvas.getContext('2d'); // Canvas Background ctx.fillStyle='#ffffff'; ctx.fillRect(0,0,width,height); // Modern Header Banner ctx.fillStyle='#14100b'; ctx.beginPath(); ctx.roundRect(40,30,width-80,120,12); ctx.fill(); ctx.fillStyle='#f59e0b'; ctx.fillRect(40,146,width-80,4); ctx.fillStyle='#ffffff'; ctx.font='1000 42px -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif'; ctx.fillText('Bel Mizen Restaurant',60,86); ctx.fillStyle='#fde047'; ctx.font='900 20px -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Tahoma,sans-serif'; ctx.fillText('بالميزان و الغرام و بالأكل لذة و غرام',60,122); ctx.fillStyle='#ffffff'; ctx.font='900 18px -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif'; ctx.textAlign='right'; ctx.fillText('📱 WhatsApp: +961 76 191914 · Bourj Hammoud',width-60,86); ctx.fillText('⏰ 12:00 PM – 11:30 PM Daily',width-60,118); ctx.textAlign='left'; let curY=175; // Render Offers if included if(offerRows.length){ ctx.fillStyle='#1c150c'; ctx.beginPath(); ctx.roundRect(40,curY,width-80,38,[8,8,0,0]); ctx.fill(); ctx.fillStyle='#f59e0b'; ctx.fillRect(40,curY+36,width-80,2); ctx.fillStyle='#ffffff'; ctx.font='1000 16px -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif'; ctx.fillText('🔥 ACTIVE DEALS & PROMOTIONAL COMBOS',56,curY+25); curY+=48; let offerW=(width-80-24)/3; offerRows.forEach((offer,idx)=>{ const col=idx%3; const row=Math.floor(idx/3); const ox=40+col*(offerW+12); const oy=curY+row*100; ctx.fillStyle='#fffefb'; ctx.beginPath(); ctx.roundRect(ox,oy,offerW,90,8); ctx.fill(); ctx.strokeStyle='#eedeb9'; ctx.lineWidth=1.5; ctx.stroke(); ctx.fillStyle='#181309'; ctx.font='1000 15px -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif'; const title=isAr?(offer.ar||offer.en):(isFr?(offer.fr||offer.en):offer.en); ctx.fillText(String(title||'Offer').slice(0,36),ox+12,oy+26); ctx.fillStyle='#5a4f38'; ctx.font='700 11px -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif'; const desc=isAr?(offer.desc_ar||offer.desc_en):(isFr?(offer.desc_fr||offer.desc_en):offer.desc_en); ctx.fillText(String(desc||'').slice(0,54),ox+12,oy+48); ctx.fillStyle='#b45309'; ctx.font='1000 14px -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif'; ctx.fillText(money(offer.price),ox+12,oy+74); if(offer.was&&offer.was>offer.price){ ctx.fillStyle='#991b1b'; ctx.font='800 11px -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif'; ctx.fillText(money(offer.was),ox+110,oy+74); } }); curY+=offerRowsCount*100+25; } // Render Categories in 2 balanced columns const colsCount=2; const colW=(width-80-30)/colsCount; let col=0; let x=40; let y=curY; data.forEach(cat=>{ const items=(cat.items||[]).filter(it=>!(it[8]&&it[8].available===false)&&!excludedItems.has(String(it[0]))); if(!items.length)return; if(y+catH+items.length*rowH>height-80&&col{ ctx.fillStyle='#181309'; ctx.font='900 13px -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif'; const name=isAr?(item[1]||item[0]):(isFr?(frText(item[0])):item[0]); ctx.fillText(String(name||''),x+4,y); ctx.fillStyle='#b45309'; ctx.font='1000 13px -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif'; ctx.textAlign='right'; ctx.fillText(itemPrice(item),x+colW-4,y); ctx.textAlign='left'; if(!isCompact){ ctx.fillStyle='#5a4f38'; ctx.font='700 10.5px -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif'; const desc=isAr?(item[4]||item[7]||'طازج يومياً'):(isFr?(frText(item[3]||item[6])):(item[3]||item[6]||'Prepared fresh')); ctx.fillText(String(desc).slice(0,55),x+4,y+15); } y+=rowH; }); y+=10; }); canvas.toBlob(blob=>download(blob,`bel-mizen-${versionSelect.value||'modern'}-menu.png`),'image/png',0.92); } function download(blob,name){ const a=document.createElement('a'); a.href=URL.createObjectURL(blob); a.download=name; document.body.appendChild(a); a.click(); setTimeout(()=>{URL.revokeObjectURL(a.href);a.remove()},500); } async function exportFile(){ render(); const type=fileTypeSelect.value; if(type==='doc')return exportDoc(); if(type==='png')return await exportPng(); window.print(); } versionSelect.addEventListener('change',()=>{ if(versionSelect.value==='compact'){ breakMode.value='flow'; } applyPaper(); render(); }); languageSelect.addEventListener('change',render); const paperSelect=document.getElementById('paperSelect'); const PAPER={A4:'A4',letter:'Letter',auto:'auto'}; function applyPaper(){ const v=paperSelect.value; const isComp = versionSelect && versionSelect.value === 'compact'; const margin = isComp ? '4.5mm' : '8mm'; let st=document.getElementById('pmPageRule'); if(!st){st=document.createElement('style');st.id='pmPageRule';document.head.appendChild(st)} st.textContent = v==='auto' ? `@page{size:auto;margin:${margin}}` : `@page{size:${PAPER[v]} portrait;margin:${margin}}`; document.body.classList.toggle('paper-letter',v==='letter'); document.body.classList.toggle('paper-a4',v==='A4'); document.body.classList.toggle('is-compact',isComp); try{localStorage.setItem('bmPaperSize',v)}catch(e){} } try{const saved=localStorage.getItem('bmPaperSize');if(saved&&PAPER[saved])paperSelect.value=saved}catch(e){} paperSelect.addEventListener('change',applyPaper); applyPaper(); document.getElementById('exportBtn').addEventListener('click',exportFile); try{ const savedOffers=localStorage.getItem('bmIncludeOffers'); if(savedOffers==='hide'){ if(offersSelect) offersSelect.value='hide'; if(offersToggle) offersToggle.checked=false; }else if(savedOffers==='include'){ if(offersSelect) offersSelect.value='include'; if(offersToggle) offersToggle.checked=true; } }catch(e){} buildPicker(); markPreset('all'); render(); })();