входим в Топ-20 агентств
Рейтинг Рунета

Генератор бланка с реквизитами организации

Бланк письма с полным блоком реквизитов: ИНН, КПП, ОГРН, банк и счёт. Заполните поля — получите готовый к печати документ.

  • Бесплатно
  • Без регистрации
  • Данные не уходят на сервер
Логотип
Компания
Контакты
Регистрационные данные
Банковские реквизиты
Цвет акцента
`); d.close(); const go=()=>{try{fr.contentWindow.focus();fr.contentWindow.print();}finally{setTimeout(()=>fr.remove(),60000);}}; const fonts=fr.contentDocument.fonts; setTimeout(()=>{(fonts&&fonts.ready?Promise.race([fonts.ready,new Promise(r=>setTimeout(r,1500))]):Promise.resolve()).then(go);},150); } // В превью пустое поле показываем серым плейсхолдером function reqItem(label,id){ const html=pv(id); if(!html)return''; return`
${label}
${html}
`; } function validate(){ setWarn('cinn',checkINN(v('cinn'))); setWarn('ckpp',checkKPP(v('ckpp'))); setWarn('cogrn',checkOGRN(v('cogrn'))); setWarn('bbik',checkBIK(v('bbik'))); setWarn('bacc',checkAcc(v('bacc'),v('bbik'))); setWarn('bcorr',checkCorr(v('bcorr'),v('bbik'))); } function render(){ const ac=accent; validate(); const contacts=[ pl('Тел.: ','cphone'), pl('','cemail'), pl('','cweb'), v('cfax')?esc('Факс: '+v('cfax')):'' ].filter(Boolean); const hasBank=true; document.getElementById('a4').innerHTML=`
${logoUrl?`Лого`:''}
${pv('cname')}
${pv('ctag')}
${contacts.join('
')}
${reqItem('Юридический адрес','caddr')} ${reqItem('Руководитель','cdir')} ${reqItem('ОГРН','cogrn')}
${reqItem('ИНН','cinn')} ${reqItem('КПП','ckpp')} ${reqItem('ОКПО','cokpo')}
${hasBank?`
Банковские реквизиты
${reqItem('Банк','bname')} ${reqItem('БИК','bbik')}
${reqItem('Расчётный счёт','bacc')} ${reqItem('Корр. счёт','bcorr')}
`:''}
${pv('cweb')}
`; } async function generateDocx(){ const btn=document.getElementById('genBtn'),status=document.getElementById('gstatus'); status.classList.remove('lh-gen-err'); btn.setAttribute('disabled','');status.textContent='Готовлю файл…'; if(!(await loadDocxLib())){btn.removeAttribute('disabled');genErr(status,'⚠ Не удалось загрузить модуль DOCX. Проверьте соединение и попробуйте ещё раз или сохраните бланк в PDF.');return;} try{ const{Document,Packer,Paragraph,TextRun,ImageRun,BorderStyle,Table,TableRow,TableCell,WidthType,BorderStyle:BS}=docx; const ac=accent.replace('#',''); const pt=n=>n*20; const noBorder={top:{style:'none',size:0,color:'FFFFFF'},bottom:{style:'none',size:0,color:'FFFFFF'},left:{style:'none',size:0,color:'FFFFFF'},right:{style:'none',size:0,color:'FFFFFF'}}; const ch=[]; // логотип if(logoUrl){ const im=await imageForDocx(logoUrl,logoMime); ch.push(new Paragraph({children:[new ImageRun({data:im.data,transformation:fitBox(im.w,im.h,180,64),type:im.type,altText:{title:'Лого',description:'Логотип',name:'logo'}})],spacing:{after:40}})); } // название ch.push(new Paragraph({children:[new TextRun({text:v('cname'),bold:true,size:pt(17),color:ac,font:'Arial'})],spacing:{after:24}})); if(v('ctag')) ch.push(new Paragraph({children:[new TextRun({text:v('ctag'),size:pt(8),color:'888888',font:'Arial'})],spacing:{after:40}})); // контакты const contacts=[v('cphone')?'Тел.: '+v('cphone'):'',v('cemail')||'',v('cweb')||'',v('cfax')?'Факс: '+v('cfax'):''].filter(Boolean); if(contacts.length) ch.push(new Paragraph({children:[new TextRun({text:contacts.join(' | '),size:pt(7),color:'666666',font:'Arial'})],spacing:{after:36}})); // линия ch.push(new Paragraph({border:{bottom:{style:BorderStyle.SINGLE,size:24,color:ac,space:1}},spacing:{after:220}})); // helper: ячейка реквизита const reqCell=(label,val)=>new TableCell({ borders:noBorder, children:val?[ new Paragraph({children:[new TextRun({text:label.toUpperCase(),size:pt(6),color:'bbbbbb',bold:true,font:'Arial'})],spacing:{after:20}}), new Paragraph({children:[new TextRun({text:val,size:pt(9),font:'Arial',bold:true})],spacing:{after:120}}) ]:[new Paragraph({children:[new TextRun({text:'',size:pt(9)})]})] }); // таблица реквизитов (2 колонки) const reqRows=[]; const col1=[ [v('caddr'),'Юридический адрес'],[v('cdir'),'Руководитель'],[v('cogrn'),'ОГРН'] ]; const col2=[ [v('cinn'),'ИНН'],[v('ckpp'),'КПП'],[v('cokpo'),'ОКПО'] ]; const maxR=Math.max(col1.filter(x=>x[0]).length,col2.filter(x=>x[0]).length); for(let i=0;istatus.textContent='',3000); }catch(err){console.error(err);genErr(status,'⚠ Ошибка: '+err.message);} finally{btn.removeAttribute('disabled');} } render();
Разработаем фирменный стиль

Логотип, бланки, визитки и оформление сайта в одном стиле.

Обсудить проект