From a535ebfe1df799c979cdf0895c5d0c4e716f587c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E7=B2=BE=E5=8D=8E?= <842761733@qq.com> Date: Thu, 14 May 2020 19:28:21 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=8A=9F=E8=83=BD=E7=82=B9=EF=BC=9A?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E9=85=8D=E7=BD=AE=E6=98=AF=E5=90=A6=E5=8F=AF?= =?UTF-8?q?=E4=BB=A5=E4=B8=8B=E8=BD=BD=E8=BD=AC=E6=8D=A2=E5=AE=8C=E6=88=90?= =?UTF-8?q?=E7=9A=84pdf=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/config/application.properties | 3 +++ .../java/cn/keking/config/ConfigConstants.java | 16 ++++++++++++++++ .../cn/keking/config/ConfigRefreshComponent.java | 3 +++ .../web/controller/OnlinePreviewController.java | 2 ++ .../main/resources/static/pdfjs/web/viewer.js | 5 +++++ jodconverter-web/src/main/resources/web/pdf.ftl | 3 +-- 6 files changed, 30 insertions(+), 2 deletions(-) diff --git a/jodconverter-web/src/main/config/application.properties b/jodconverter-web/src/main/config/application.properties index 054dec47..6865a4d7 100644 --- a/jodconverter-web/src/main/config/application.properties +++ b/jodconverter-web/src/main/config/application.properties @@ -53,6 +53,8 @@ simText = ${KK_SIMTEXT:txt,html,htm,asp,jsp,xml,json,properties,md,gitignore,,ja media = ${KK_MEDIA:mp3,wav,mp4,flv} #office类型文档(word ppt)样式,默认为图片(image),可配置为pdf(预览时也有按钮切换) office.preview.type = ${KK_OFFICE_PREVIEW_TYPE:image} +#是否禁止下载转换生成的pdf文件 +pdf.download.disable = ${KK_PDF_DOWNLOAD_DISABLE:true} #预览源为FTP时 FTP用户名,可在ftp url后面加参数ftp.username=ftpuser指定,不指定默认用配置的 ftp.username = ${KK_FTP_USERNAME:ftpuser} @@ -82,3 +84,4 @@ watermark.width = ${WATERMARK_WIDTH:180} watermark.height = ${WATERMARK_HEIGHT:80} #水印倾斜度数,要求设置在大于等于0,小于90 watermark.angle = ${WATERMARK_ANGLE:10} + diff --git a/jodconverter-web/src/main/java/cn/keking/config/ConfigConstants.java b/jodconverter-web/src/main/java/cn/keking/config/ConfigConstants.java index e2b6cac1..342b01fa 100644 --- a/jodconverter-web/src/main/java/cn/keking/config/ConfigConstants.java +++ b/jodconverter-web/src/main/java/cn/keking/config/ConfigConstants.java @@ -27,6 +27,7 @@ public class ConfigConstants { private static String BASE_URL; private static String FILE_DIR = OfficeUtils.getHomePath() + File.separator + "file" + File.separator; private static CopyOnWriteArraySet TRUST_HOST_SET; + private static String PDF_DOWNLOAD_DISABLE; public static final String DEFAULT_CACHE_ENABLED = "true"; public static final String DEFAULT_TXT_TYPE = "txt,html,htm,asp,jsp,xml,json,properties,md,gitignore,,java,py,c,cpp,sql,sh,bat,m,bas,prg,cmd"; @@ -38,6 +39,7 @@ public class ConfigConstants { public static final String DEFAULT_BASE_URL = "default"; public static final String DEFAULT_FILE_DIR_VALUE = "default"; public static final String DEFAULT_TRUST_HOST = "default"; + public static final String DEFAULT_PDF_DOWNLOAD_DISABLE = "true"; public static Boolean isCacheEnabled() { return CACHE_ENABLED; @@ -141,4 +143,18 @@ public class ConfigConstants { private static void setTrustHostSet(CopyOnWriteArraySet trustHostSet) { ConfigConstants.TRUST_HOST_SET = trustHostSet; } + + + public static String getPdfDownloadDisable() { + return PDF_DOWNLOAD_DISABLE; + } + + public static void setPdfDownloadDisableValue(String pdfDownloadDisable) { + PDF_DOWNLOAD_DISABLE = pdfDownloadDisable; + } + + @Value("${pdf.download.disable:true}") + public void setPdfDownloadDisable(String pdfDownloadDisable) { + PDF_DOWNLOAD_DISABLE = pdfDownloadDisable; + } } diff --git a/jodconverter-web/src/main/java/cn/keking/config/ConfigRefreshComponent.java b/jodconverter-web/src/main/java/cn/keking/config/ConfigRefreshComponent.java index 6c76a0c5..eca0561f 100644 --- a/jodconverter-web/src/main/java/cn/keking/config/ConfigRefreshComponent.java +++ b/jodconverter-web/src/main/java/cn/keking/config/ConfigRefreshComponent.java @@ -44,6 +44,7 @@ public class ConfigRefreshComponent { String configFilePath = OfficeUtils.getCustomizedConfigPath(); String baseUrl; String trustHost; + String pdfDownloadDisable; while (true) { FileReader fileReader = new FileReader(configFilePath); BufferedReader bufferedReader = new BufferedReader(fileReader); @@ -60,6 +61,7 @@ public class ConfigRefreshComponent { mediaArray = media.split(","); baseUrl = properties.getProperty("base.url", ConfigConstants.DEFAULT_BASE_URL); trustHost = properties.getProperty("trust.host", ConfigConstants.DEFAULT_TRUST_HOST); + pdfDownloadDisable = properties.getProperty("pdf.download.disable", ConfigConstants.DEFAULT_PDF_DOWNLOAD_DISABLE); ConfigConstants.setCacheEnabled(cacheEnabled); ConfigConstants.setSimText(textArray); ConfigConstants.setMedia(mediaArray); @@ -69,6 +71,7 @@ public class ConfigRefreshComponent { ConfigConstants.setFtpControlEncoding(ftpControlEncoding); ConfigConstants.setBaseUrl(baseUrl); ConfigConstants.setTrustHost(trustHost); + ConfigConstants.setPdfDownloadDisableValue(pdfDownloadDisable); setWatermarkConfig(properties); bufferedReader.close(); fileReader.close(); diff --git a/jodconverter-web/src/main/java/cn/keking/web/controller/OnlinePreviewController.java b/jodconverter-web/src/main/java/cn/keking/web/controller/OnlinePreviewController.java index 03bd99c7..3ff21995 100644 --- a/jodconverter-web/src/main/java/cn/keking/web/controller/OnlinePreviewController.java +++ b/jodconverter-web/src/main/java/cn/keking/web/controller/OnlinePreviewController.java @@ -1,5 +1,6 @@ package cn.keking.web.controller; +import cn.keking.config.ConfigConstants; import cn.keking.hutool.URLUtil; import cn.keking.model.FileAttribute; import cn.keking.service.FilePreview; @@ -51,6 +52,7 @@ public class OnlinePreviewController { public String onlinePreview(String url, Model model, HttpServletRequest req) { FileAttribute fileAttribute = fileUtils.getFileAttribute(url); req.setAttribute("fileKey", req.getParameter("fileKey")); + model.addAttribute("pdfDownloadDisable", ConfigConstants.getPdfDownloadDisable()); model.addAttribute("officePreviewType", req.getParameter("officePreviewType")); FilePreview filePreview = previewFactory.get(fileAttribute); logger.info("预览文件url:{},previewType:{}", url, fileAttribute.getType()); diff --git a/jodconverter-web/src/main/resources/static/pdfjs/web/viewer.js b/jodconverter-web/src/main/resources/static/pdfjs/web/viewer.js index 71091f41..2ec05a40 100644 --- a/jodconverter-web/src/main/resources/static/pdfjs/web/viewer.js +++ b/jodconverter-web/src/main/resources/static/pdfjs/web/viewer.js @@ -1932,10 +1932,12 @@ function webViewerInitialized() { var appConfig = PDFViewerApplication.appConfig; var file = void 0; var base = void 0; + var disableDownload = void 0; var queryString = document.location.search.substring(1); var params = (0, _ui_utils.parseQueryString)(queryString); file = 'file' in params ? params.file : appConfig.defaultUrl; base = 'base' in params ? params.base : appConfig.defaultUrl; + disableDownload = 'disabledownload' in params ? params.disabledownload : 'false'; file = validateFileURL(file,base); var waitForBeforeOpening = []; var fileInput = document.createElement('input'); @@ -2036,6 +2038,9 @@ function webViewerInitialized() { PDFViewerApplication.error(msg, reason); }); }); + if ('true' === disableDownload) { + document.getElementById("download").style.display='none'; + } } var webViewerOpenFileViaURL = void 0; { diff --git a/jodconverter-web/src/main/resources/web/pdf.ftl b/jodconverter-web/src/main/resources/web/pdf.ftl index 05c73cb6..70fbe83b 100644 --- a/jodconverter-web/src/main/resources/web/pdf.ftl +++ b/jodconverter-web/src/main/resources/web/pdf.ftl @@ -26,11 +26,10 @@ 使用图片预览 -