UNPKG

@ckeditor/ckeditor5-export-pdf

Version:

Export to PDF feature for CKEditor 5.

23 lines 8.19 kB
/* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * * * * * +---------------------------------------------------------------------------------+ * | | * | Hello stranger! | * | | * | | * | What you're currently looking at is the source code of a legally protected, | * | proprietary software. Any attempts to deobfuscate / disassemble this code | * | are forbidden and will result in legal consequences. | * | | * | | * +---------------------------------------------------------------------------------+ * * * * */ import{Command as _0x55ed10,Plugin as _0x234bab}from'@ckeditor/ckeditor5-core/dist/index.js';import{ButtonView as _0x2020db,MenuBarMenuListItemButtonView as _0x1bc778,SpinnerView as _0x339269,Notification as _0x103868}from'@ckeditor/ckeditor5-ui/dist/index.js';import{collectStylesheets as _0x37b837}from'@ckeditor/ckeditor5-utils/dist/index.js';import{IconExportPdf as _0x54f5ea}from'@ckeditor/ckeditor5-icons/dist/index.js';function d(_0x55896a,_0x2b6ad9){const t=_0x55896a['t'];switch(_0x2b6ad9){case'Export\x20to\x20PDF':return t('Export\x20to\x20PDF');case'An\x20error\x20occurred\x20while\x20generating\x20the\x20PDF.':return t('An\x20error\x20occurred\x20while\x20generating\x20the\x20PDF.');case'PDF\x20export\x20started':return t('PDF\x20export\x20started');case'PDF\x20export\x20failed':return t('PDF\x20export\x20failed');case'PDF\x20export\x20successful':return t('PDF\x20export\x20successful');case'Exporting\x20PDF\x20document':return t('Exporting\x20PDF\x20document');default:return _0x2b6ad9;}}class i extends _0x55ed10{constructor(_0x143e84){super(_0x143e84),this['set']('isBusy',!0x1),this['affectsData']=!0x1;}['refresh'](){this['isEnabled']=!this['isBusy'],this['value']=this['isBusy']?'pending':void 0x0;}['execute'](_0x540b36={}){const _0x17aaca=this['editor'],_0x581b8d=_0x540b36['converterUrl']||'https://pdf-converter.cke-cs.com/v1/convert/',_0x591a3c=_0x540b36['dataCallback']||(_0x3f0390=>_0x3f0390['data']['get']()),_0x2d484e=_0x17aaca['plugins']['get']('ExportPdf'),_0x58992f=_0x540b36['token']||_0x2d484e['_token'];return this['isBusy']=!0x0,this['refresh'](),_0x37b837(_0x540b36['stylesheets']||['EDITOR_STYLES'])['then'](async _0x3af651=>{if(_0x17aaca['ui']['ariaLiveAnnouncer']['announce'](d(_0x17aaca['locale'],'PDF\x20export\x20started')),_0x17aaca['plugins']['has']('MergeFields')){_0x540b36['converterOptions']||(_0x540b36['converterOptions']={});const _0x1fa49b=_0x17aaca['plugins']['get']('MergeFieldsEditing'),_0xa957d2=_0x1fa49b['previewMode'],{prefix:_0x1d9da6,suffix:_0x47dde4}=_0x17aaca['config']['get']('mergeFields'),_0x870f='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP88B8AAuUB8e2ujYwAAAAASUVORK5CYII=',_0x2ae5d7={'prefix':_0x1d9da6,'suffix':_0x47dde4,'data':{}};if('$labels'===_0xa957d2){for(const _0x4eb6f6 of _0x1fa49b['getMergeFieldsIds']())'image'===_0x1fa49b['getMergeFieldType'](_0x4eb6f6)?_0x2ae5d7['data'][_0x4eb6f6]=_0x870f:_0x2ae5d7['data'][_0x4eb6f6]=_0x1fa49b['wrapInAffixes'](_0x1fa49b['getLabel'](_0x4eb6f6)||_0x4eb6f6);}else{const _0x18478a='$defaultValues'===_0xa957d2?_0x1fa49b['getDefaultValues']():_0x1fa49b['getDataSetValues'](_0xa957d2,!0x0);for(const _0x13c00b of Object['entries'](_0x18478a)){const [_0x514652,_0x417c5d]=_0x13c00b;'image'===_0x1fa49b['getMergeFieldType'](_0x514652)?_0x2ae5d7['data'][_0x514652]=null!==_0x417c5d?_0x417c5d:_0x870f:_0x2ae5d7['data'][_0x514652]=null!==_0x417c5d?_0x417c5d:_0x1fa49b['getLabel'](_0x514652)||_0x514652;}}_0x540b36['converterOptions']['merge_fields']=_0x2ae5d7;}const _0x151824={'html':'<html>\x0a\x09\x09\x09\x09\x09\x09<head>\x0a\x09\x09\x09\x09\x09\x09\x09<title>CKEditor\x205\x20PDF\x20document</title>\x0a\x09\x09\x09\x09\x09\x09\x09<meta\x20charset=\x22utf-8\x22>\x0a\x09\x09\x09\x09\x09\x09</head>\x0a\x09\x09\x09\x09\x09\x09<body>\x0a\x09\x09\x09\x09\x09\x09\x09<div\x20class=\x22ck-content\x22\x20dir=\x22'+_0x17aaca['locale']['contentLanguageDirection']+'\x22>\x0a\x09\x09\x09\x09\x09\x09\x09\x09'+await _0x591a3c(_0x17aaca)+'\x0a\x09\x09\x09\x09\x09\x09\x09</div>\x0a\x09\x09\x09\x09\x09\x09</body>\x0a\x09\x09\x09\x09\x09</html>','css':_0x3af651,'options':_0x540b36['converterOptions']},_0x4e9b90={'method':'POST','headers':{'Content-Type':'application/json','Accept':'application/pdf',..._0x58992f?{'Authorization':_0x58992f['value']}:null,'x-cs-app-id':_0x540b36['appID']||'cke5'},'body':JSON['stringify'](_0x151824)};return window['fetch'](_0x581b8d,_0x4e9b90)['then'](_0x1e473b=>{if(0xc8!==_0x1e473b['status'])throw _0x1e473b;return _0x1e473b['blob']();})['then'](_0x26b533=>{_0x17aaca['ui']['ariaLiveAnnouncer']['announce'](d(_0x17aaca['locale'],'PDF\x20export\x20successful'));const _0x3d33eb='function'==typeof _0x540b36['fileName']?_0x540b36['fileName']():_0x540b36['fileName'];this['_downloadFile'](_0x26b533,_0x3d33eb||'document.pdf');});})['catch'](_0x9d5cee=>{const _0x4d1daf=_0x17aaca['plugins']['get']('Notification');throw _0x17aaca['ui']['ariaLiveAnnouncer']['announce'](d(_0x17aaca['locale'],'PDF\x20export\x20failed'),{'politeness':'assertive'}),_0x4d1daf['showWarning'](d(_0x17aaca['locale'],'An\x20error\x20occurred\x20while\x20generating\x20the\x20PDF.')),_0x9d5cee;})['finally'](()=>{this['isBusy']=!0x1,this['refresh']();});}['_downloadFile'](_0x433c37,_0x3fa8c6){const _0x140773=document['createElement']('a');_0x140773['href']=window['URL']['createObjectURL'](_0x433c37),_0x140773['download']=_0x3fa8c6,_0x140773['click'](),_0x140773['remove']();}}class s extends _0x234bab{static get['pluginName'](){return'ExportPdfUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x51cd35=this['editor'];_0x51cd35['ui']['componentFactory']['add']('exportPdf',()=>{const _0x28865f=this['_createButton'](_0x2020db),_0x863baa=_0x51cd35['commands']['get']('exportPdf');return _0x28865f['set']({'tooltip':!0x0}),_0x28865f['bind']('isOn')['to'](_0x863baa,'isBusy'),_0x28865f;}),_0x51cd35['ui']['componentFactory']['add']('menuBar:exportPdf',()=>this['_createButton'](_0x1bc778));}['_createButton'](_0x322c2b){const _0x19cd75=this['editor'],_0x1ad7ed=_0x19cd75['config']['get']('exportPdf')||{},_0x1eb09a=_0x19cd75['commands']['get']('exportPdf'),_0x229624=new _0x322c2b(_0x19cd75['locale']),_0x42c357=new _0x339269();return _0x229624['children']['add'](_0x42c357),_0x42c357['bind']('isVisible')['to'](_0x1eb09a,'isBusy'),_0x229624['iconView']['bind']('isVisible')['to'](_0x1eb09a,'isBusy',_0x204b70=>!_0x204b70),_0x229624['set']({'icon':_0x54f5ea}),_0x229624['bind']('isEnabled')['to'](_0x1eb09a,'isEnabled'),_0x229624['bind']('label')['to'](_0x1eb09a,'isBusy',_0x2c52da=>d(_0x19cd75['locale'],_0x2c52da?'Exporting\x20PDF\x20document':'Export\x20to\x20PDF')),this['listenTo'](_0x229624,'execute',()=>{_0x19cd75['execute']('exportPdf',_0x1ad7ed),_0x19cd75['editing']['view']['focus']();}),_0x229624;}}class o extends _0x234bab{['_token'];static get['pluginName'](){return'ExportPdf';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}static get['requires'](){return['CloudServices',_0x103868,s];}['init'](){const _0x4b4e9f=this['editor'],_0x27c2fb=_0x4b4e9f['config']['get']('exportPdf')||{};_0x4b4e9f['commands']['add']('exportPdf',new i(_0x4b4e9f));const _0x5f305b=_0x4b4e9f['plugins']['get']('CloudServices');!0x1===_0x27c2fb['tokenUrl']?this['_token']=null:_0x27c2fb['tokenUrl']?_0x5f305b['registerTokenUrl'](_0x27c2fb['tokenUrl'])['then'](_0x46b8ac=>{this['_token']=_0x46b8ac;}):this['_token']=_0x5f305b['token'];}}export{o as ExportPdf};