Skip to content

Commit a535ebf

Browse files
gitchenjhklboke
authored andcommitted
新功能点:新增配置是否可以下载转换完成的pdf文件
1 parent 3e80590 commit a535ebf

6 files changed

Lines changed: 30 additions & 2 deletions

File tree

jodconverter-web/src/main/config/application.properties

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,8 @@ simText = ${KK_SIMTEXT:txt,html,htm,asp,jsp,xml,json,properties,md,gitignore,,ja
5353
media = ${KK_MEDIA:mp3,wav,mp4,flv}
5454
#office类型文档(word ppt)样式,默认为图片(image),可配置为pdf(预览时也有按钮切换)
5555
office.preview.type = ${KK_OFFICE_PREVIEW_TYPE:image}
56+
#是否禁止下载转换生成的pdf文件
57+
pdf.download.disable = ${KK_PDF_DOWNLOAD_DISABLE:true}
5658

5759
#预览源为FTP时 FTP用户名,可在ftp url后面加参数ftp.username=ftpuser指定,不指定默认用配置的
5860
ftp.username = ${KK_FTP_USERNAME:ftpuser}
@@ -82,3 +84,4 @@ watermark.width = ${WATERMARK_WIDTH:180}
8284
watermark.height = ${WATERMARK_HEIGHT:80}
8385
#水印倾斜度数,要求设置在大于等于0,小于90
8486
watermark.angle = ${WATERMARK_ANGLE:10}
87+

jodconverter-web/src/main/java/cn/keking/config/ConfigConstants.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ public class ConfigConstants {
2727
private static String BASE_URL;
2828
private static String FILE_DIR = OfficeUtils.getHomePath() + File.separator + "file" + File.separator;
2929
private static CopyOnWriteArraySet<String> TRUST_HOST_SET;
30+
private static String PDF_DOWNLOAD_DISABLE;
3031

3132
public static final String DEFAULT_CACHE_ENABLED = "true";
3233
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 {
3839
public static final String DEFAULT_BASE_URL = "default";
3940
public static final String DEFAULT_FILE_DIR_VALUE = "default";
4041
public static final String DEFAULT_TRUST_HOST = "default";
42+
public static final String DEFAULT_PDF_DOWNLOAD_DISABLE = "true";
4143

4244
public static Boolean isCacheEnabled() {
4345
return CACHE_ENABLED;
@@ -141,4 +143,18 @@ public static Set<String> getTrustHostSet() {
141143
private static void setTrustHostSet(CopyOnWriteArraySet<String> trustHostSet) {
142144
ConfigConstants.TRUST_HOST_SET = trustHostSet;
143145
}
146+
147+
148+
public static String getPdfDownloadDisable() {
149+
return PDF_DOWNLOAD_DISABLE;
150+
}
151+
152+
public static void setPdfDownloadDisableValue(String pdfDownloadDisable) {
153+
PDF_DOWNLOAD_DISABLE = pdfDownloadDisable;
154+
}
155+
156+
@Value("${pdf.download.disable:true}")
157+
public void setPdfDownloadDisable(String pdfDownloadDisable) {
158+
PDF_DOWNLOAD_DISABLE = pdfDownloadDisable;
159+
}
144160
}

jodconverter-web/src/main/java/cn/keking/config/ConfigRefreshComponent.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ public void run() {
4444
String configFilePath = OfficeUtils.getCustomizedConfigPath();
4545
String baseUrl;
4646
String trustHost;
47+
String pdfDownloadDisable;
4748
while (true) {
4849
FileReader fileReader = new FileReader(configFilePath);
4950
BufferedReader bufferedReader = new BufferedReader(fileReader);
@@ -60,6 +61,7 @@ public void run() {
6061
mediaArray = media.split(",");
6162
baseUrl = properties.getProperty("base.url", ConfigConstants.DEFAULT_BASE_URL);
6263
trustHost = properties.getProperty("trust.host", ConfigConstants.DEFAULT_TRUST_HOST);
64+
pdfDownloadDisable = properties.getProperty("pdf.download.disable", ConfigConstants.DEFAULT_PDF_DOWNLOAD_DISABLE);
6365
ConfigConstants.setCacheEnabled(cacheEnabled);
6466
ConfigConstants.setSimText(textArray);
6567
ConfigConstants.setMedia(mediaArray);
@@ -69,6 +71,7 @@ public void run() {
6971
ConfigConstants.setFtpControlEncoding(ftpControlEncoding);
7072
ConfigConstants.setBaseUrl(baseUrl);
7173
ConfigConstants.setTrustHost(trustHost);
74+
ConfigConstants.setPdfDownloadDisableValue(pdfDownloadDisable);
7275
setWatermarkConfig(properties);
7376
bufferedReader.close();
7477
fileReader.close();

jodconverter-web/src/main/java/cn/keking/web/controller/OnlinePreviewController.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package cn.keking.web.controller;
22

3+
import cn.keking.config.ConfigConstants;
34
import cn.keking.hutool.URLUtil;
45
import cn.keking.model.FileAttribute;
56
import cn.keking.service.FilePreview;
@@ -51,6 +52,7 @@ public class OnlinePreviewController {
5152
public String onlinePreview(String url, Model model, HttpServletRequest req) {
5253
FileAttribute fileAttribute = fileUtils.getFileAttribute(url);
5354
req.setAttribute("fileKey", req.getParameter("fileKey"));
55+
model.addAttribute("pdfDownloadDisable", ConfigConstants.getPdfDownloadDisable());
5456
model.addAttribute("officePreviewType", req.getParameter("officePreviewType"));
5557
FilePreview filePreview = previewFactory.get(fileAttribute);
5658
logger.info("预览文件url:{},previewType:{}", url, fileAttribute.getType());

jodconverter-web/src/main/resources/static/pdfjs/web/viewer.js

Lines changed: 5 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

jodconverter-web/src/main/resources/web/pdf.ftl

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,10 @@
2626

2727
<img src="images/jpg.svg" width="63" height="63" style="position: fixed; cursor: pointer; top: 40%; right: 48px; z-index: 999;" alt="使用图片预览" title="使用图片预览" onclick="goForImage()"/>
2828

29-
3029
</body>
3130
<script src="js/watermark.js" type="text/javascript"></script>
3231
<script type="text/javascript">
33-
document.getElementsByTagName('iframe')[0].src = "${baseUrl}pdfjs/web/viewer.html?base=${baseUrl}&file="+encodeURIComponent('${finalUrl}');
32+
document.getElementsByTagName('iframe')[0].src = "${baseUrl}pdfjs/web/viewer.html?base=${baseUrl}&file="+encodeURIComponent('${finalUrl}')+"&disabledownload=${pdfDownloadDisable}";
3433
document.getElementsByTagName('iframe')[0].height = document.documentElement.clientHeight-10;
3534
/**
3635
* 页面变化调整高度

0 commit comments

Comments
 (0)