From 501ec7783427e20c33cf38b73b8410f7424e5caf Mon Sep 17 00:00:00 2001 From: Yusei Tahara <yusei@nexedi.com> Date: Thu, 26 Oct 2017 15:01:04 +0900 Subject: [PATCH] =?UTF-8?q?erp5=5Fdms:=20PDF=20reader=20is=20very=20slow?= =?UTF-8?q?=20to=20open=20a=20large=20base64=20encoded=20PDF=20embedded=20?= =?UTF-8?q?in=E2=80=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit … HTML or it fails to open such a large PDF. Thus, now PDF reader opens a PDF using URL. It is faster and stable. /reviewed-on https://lab.nexedi.com/nexedi/erp5/merge_requests/468 --- .../erp5_dms/PDF_viewPDFJSPreview/my_data.xml | 6 +++++- .../portal_skins/erp5_dms/pdf_js/pdf.gadget.js.js | 10 +--------- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/bt5/erp5_dms/SkinTemplateItem/portal_skins/erp5_dms/PDF_viewPDFJSPreview/my_data.xml b/bt5/erp5_dms/SkinTemplateItem/portal_skins/erp5_dms/PDF_viewPDFJSPreview/my_data.xml index 1e08504d81..f507c551e8 100644 --- a/bt5/erp5_dms/SkinTemplateItem/portal_skins/erp5_dms/PDF_viewPDFJSPreview/my_data.xml +++ b/bt5/erp5_dms/SkinTemplateItem/portal_skins/erp5_dms/PDF_viewPDFJSPreview/my_data.xml @@ -50,6 +50,10 @@ <key> <string>tales</string> </key> <value> <dictionary> + <item> + <key> <string>data_url</string> </key> + <value> <string></string> </value> + </item> <item> <key> <string>default</string> </key> <value> @@ -111,7 +115,7 @@ <dictionary> <item> <key> <string>_text</string> </key> - <value> <string>python: context.getData().encode("base64")</string> </value> + <value> <string>python: context.absolute_url()+\'/getData\'</string> </value> </item> </dictionary> </pickle> diff --git a/bt5/erp5_dms/SkinTemplateItem/portal_skins/erp5_dms/pdf_js/pdf.gadget.js.js b/bt5/erp5_dms/SkinTemplateItem/portal_skins/erp5_dms/pdf_js/pdf.gadget.js.js index ede8e19359..83d54980d0 100644 --- a/bt5/erp5_dms/SkinTemplateItem/portal_skins/erp5_dms/pdf_js/pdf.gadget.js.js +++ b/bt5/erp5_dms/SkinTemplateItem/portal_skins/erp5_dms/pdf_js/pdf.gadget.js.js @@ -21,15 +21,7 @@ window.document.head.removeChild(el); }); this.props.key = options.key; - var raw = window.atob(options.value); - var rawLength = raw.length; - var array = new Uint8Array(new ArrayBuffer(rawLength)); - - for (var i = 0; i < rawLength; i++) { - array[i] = raw.charCodeAt(i); - } - - webViewerLoad(array); + webViewerLoad(options.value); // hide few buttons for now this.props.element.querySelector('#viewBookmark').hidden = true; -- 2.30.9