UNPKG

@ckeditor/ckeditor5-export-pdf

Version:

Export to PDF feature for CKEditor 5.

23 lines 8.2 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 _0x470fc5,Plugin as _0x30d76c}from'@ckeditor/ckeditor5-core/dist/index.js';import{ButtonView as _0x455178,MenuBarMenuListItemButtonView as _0xece654,SpinnerView as _0x5ee6be,Notification as _0x2a076b}from'@ckeditor/ckeditor5-ui/dist/index.js';import{collectStylesheets as _0x393b64}from'@ckeditor/ckeditor5-utils/dist/index.js';import{IconExportPdf as _0x10b3c5}from'@ckeditor/ckeditor5-icons/dist/index.js';function d(_0x11bed7,_0x269d59){const t=_0x11bed7['t'];switch(_0x269d59){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 _0x269d59;}}class i extends _0x470fc5{constructor(_0x259bb4){super(_0x259bb4),this['set']('isBusy',!0x1),this['affectsData']=!0x1;}['refresh'](){this['isEnabled']=!this['isBusy'],this['value']=this['isBusy']?'pending':void 0x0;}['execute'](_0x4e4d14={}){const _0x179fe6=this['editor'],_0x4a9a41=_0x4e4d14['converterUrl']||'https://pdf-converter.cke-cs.com/v1/convert/',_0x4909fd=_0x4e4d14['dataCallback']||(_0x5856ad=>_0x5856ad['data']['get']()),_0x4e6918=_0x179fe6['plugins']['get']('ExportPdf'),_0x51d4b4=_0x4e4d14['token']||_0x4e6918['_token'];return this['isBusy']=!0x0,this['refresh'](),_0x393b64(_0x4e4d14['stylesheets']||['EDITOR_STYLES'])['then'](async _0x268eff=>{if(_0x179fe6['ui']['ariaLiveAnnouncer']['announce'](d(_0x179fe6['locale'],'PDF\x20export\x20started')),_0x179fe6['plugins']['has']('MergeFields')){_0x4e4d14['converterOptions']||(_0x4e4d14['converterOptions']={});const _0x5c6be4=_0x179fe6['plugins']['get']('MergeFieldsEditing'),_0x2653aa=_0x5c6be4['previewMode'],{prefix:_0x485927,suffix:_0x5e6588}=_0x179fe6['config']['get']('mergeFields'),_0xf88974='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP88B8AAuUB8e2ujYwAAAAASUVORK5CYII=',_0x4dcb2a={'prefix':_0x485927,'suffix':_0x5e6588,'data':{}};if('$labels'===_0x2653aa){for(const _0xfa7b56 of _0x5c6be4['getMergeFieldsIds']())'image'===_0x5c6be4['getMergeFieldType'](_0xfa7b56)?_0x4dcb2a['data'][_0xfa7b56]=_0xf88974:_0x4dcb2a['data'][_0xfa7b56]=_0x5c6be4['wrapInAffixes'](_0x5c6be4['getLabel'](_0xfa7b56)||_0xfa7b56);}else{const _0xe1b5bd='$defaultValues'===_0x2653aa?_0x5c6be4['getDefaultValues']():_0x5c6be4['getDataSetValues'](_0x2653aa,!0x0);for(const _0x482bab of Object['entries'](_0xe1b5bd)){const [_0x575722,_0x2675f1]=_0x482bab;'image'===_0x5c6be4['getMergeFieldType'](_0x575722)?_0x4dcb2a['data'][_0x575722]=null!==_0x2675f1?_0x2675f1:_0xf88974:_0x4dcb2a['data'][_0x575722]=null!==_0x2675f1?_0x2675f1:_0x5c6be4['getLabel'](_0x575722)||_0x575722;}}_0x4e4d14['converterOptions']['merge_fields']=_0x4dcb2a;}const _0x764b2e={'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'+_0x179fe6['locale']['contentLanguageDirection']+'\x22>\x0a\x09\x09\x09\x09\x09\x09\x09\x09'+await _0x4909fd(_0x179fe6)+'\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':_0x268eff,'options':_0x4e4d14['converterOptions']},_0x2da338={'method':'POST','headers':{'Content-Type':'application/json','Accept':'application/pdf',..._0x51d4b4?{'Authorization':_0x51d4b4['value']}:null,'x-cs-app-id':_0x4e4d14['appID']||'cke5'},'body':JSON['stringify'](_0x764b2e)};return window['fetch'](_0x4a9a41,_0x2da338)['then'](_0x1a911d=>{if(0xc8!==_0x1a911d['status'])throw _0x1a911d;return _0x1a911d['blob']();})['then'](_0xbf4d79=>{_0x179fe6['ui']['ariaLiveAnnouncer']['announce'](d(_0x179fe6['locale'],'PDF\x20export\x20successful'));const _0x31fd7f='function'==typeof _0x4e4d14['fileName']?_0x4e4d14['fileName']():_0x4e4d14['fileName'];this['_downloadFile'](_0xbf4d79,_0x31fd7f||'document.pdf');});})['catch'](_0x56dc5f=>{const _0x5091c5=_0x179fe6['plugins']['get']('Notification');throw _0x179fe6['ui']['ariaLiveAnnouncer']['announce'](d(_0x179fe6['locale'],'PDF\x20export\x20failed'),{'politeness':'assertive'}),_0x5091c5['showWarning'](d(_0x179fe6['locale'],'An\x20error\x20occurred\x20while\x20generating\x20the\x20PDF.')),_0x56dc5f;})['finally'](()=>{this['isBusy']=!0x1,this['refresh']();});}['_downloadFile'](_0x4e11c9,_0x5ddf4e){const _0x6eea13=document['createElement']('a');_0x6eea13['href']=window['URL']['createObjectURL'](_0x4e11c9),_0x6eea13['download']=_0x5ddf4e,_0x6eea13['click'](),_0x6eea13['remove']();}}class s extends _0x30d76c{static get['pluginName'](){return'ExportPdfUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x1774d4=this['editor'];_0x1774d4['ui']['componentFactory']['add']('exportPdf',()=>{const _0x456e6f=this['_createButton'](_0x455178),_0x25f38a=_0x1774d4['commands']['get']('exportPdf');return _0x456e6f['set']({'tooltip':!0x0}),_0x456e6f['bind']('isOn')['to'](_0x25f38a,'isBusy'),_0x456e6f;}),_0x1774d4['ui']['componentFactory']['add']('menuBar:exportPdf',()=>this['_createButton'](_0xece654));}['_createButton'](_0x4a7caf){const _0x4c638f=this['editor'],_0x474842=_0x4c638f['config']['get']('exportPdf')||{},_0x287fec=_0x4c638f['commands']['get']('exportPdf'),_0x4cc06d=new _0x4a7caf(_0x4c638f['locale']),_0x334396=new _0x5ee6be();return _0x4cc06d['children']['add'](_0x334396),_0x334396['bind']('isVisible')['to'](_0x287fec,'isBusy'),_0x4cc06d['iconView']['bind']('isVisible')['to'](_0x287fec,'isBusy',_0x2041f4=>!_0x2041f4),_0x4cc06d['set']({'icon':_0x10b3c5}),_0x4cc06d['bind']('isEnabled')['to'](_0x287fec,'isEnabled'),_0x4cc06d['bind']('label')['to'](_0x287fec,'isBusy',_0x2b5bf0=>d(_0x4c638f['locale'],_0x2b5bf0?'Exporting\x20PDF\x20document':'Export\x20to\x20PDF')),this['listenTo'](_0x4cc06d,'execute',()=>{_0x4c638f['execute']('exportPdf',_0x474842),_0x4c638f['editing']['view']['focus']();}),_0x4cc06d;}}class o extends _0x30d76c{['_token'];static get['pluginName'](){return'ExportPdf';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}static get['requires'](){return['CloudServices',_0x2a076b,s];}['init'](){const _0x4ca0e8=this['editor'],_0x1a2407=_0x4ca0e8['config']['get']('exportPdf')||{};_0x4ca0e8['commands']['add']('exportPdf',new i(_0x4ca0e8));const _0x545cd5=_0x4ca0e8['plugins']['get']('CloudServices');!0x1===_0x1a2407['tokenUrl']?this['_token']=null:_0x1a2407['tokenUrl']?_0x545cd5['registerTokenUrl'](_0x1a2407['tokenUrl'])['then'](_0x2e0991=>{this['_token']=_0x2e0991;}):this['_token']=_0x545cd5['token'];}}export{o as ExportPdf};