Commit 5a6e3f13 authored by 张辰's avatar 张辰

test gen pdf

parent 3f77bf3e
No related merge requests found
......@@ -23,6 +23,11 @@
<!-- <artifactId>tanpu-biz-common</artifactId>-->
<!-- </dependency>-->
<dependency>
<groupId>io.github.fanyong920</groupId>
<artifactId>jvppeteer</artifactId>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
......
......@@ -8,6 +8,7 @@ import com.tanpu.community.api.beans.qo.TopicDetailQo;
import com.tanpu.community.api.beans.req.search.ThemeFullSearchReq;
import com.tanpu.community.api.beans.resp.ThemeFullSearchResp;
import com.tanpu.community.manager.ThemeManager;
import com.tanpu.community.util.PagePdfGenUtils;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -36,4 +37,10 @@ public class SearchController {
return CommonResp.success(resp);
}
@GetMapping("/testGenPdf")
public CommonResp testGenPdf(@RequestParam("url") String url) {
PagePdfGenUtils.genPdf(url);
return CommonResp.success();
}
}
package com.tanpu.community.util;
import com.ruiyun.jvppeteer.core.Puppeteer;
import com.ruiyun.jvppeteer.core.browser.Browser;
import com.ruiyun.jvppeteer.core.browser.BrowserFetcher;
import com.ruiyun.jvppeteer.core.page.Page;
import com.ruiyun.jvppeteer.options.LaunchOptions;
import com.ruiyun.jvppeteer.options.LaunchOptionsBuilder;
import com.ruiyun.jvppeteer.options.PDFOptions;
import lombok.extern.slf4j.Slf4j;
import java.util.ArrayList;
@Slf4j
public class PagePdfGenUtils {
public static void genPdf(String url) {
try {
BrowserFetcher.downloadIfNotExist(null);
ArrayList<String> argList = new ArrayList<>();
LaunchOptions options = new LaunchOptionsBuilder()
.withExecutablePath("/usr/bin/google-chrome")
.withArgs(argList)
.withHeadless(true)
.build();
argList.add("--no-sandbox");
argList.add("--disable-setuid-sandbox");
Browser browser = Puppeteer.launch(options);
Page page = browser.newPage();
page.goTo(url);
PDFOptions pdfOptions = new PDFOptions();
pdfOptions.setPath("/biz/tmp/test.pdf");
byte[] pdfBytes = page.pdf(pdfOptions);
page.close();
browser.close();
} catch (Exception e) {
log.error("error in genPdf for {}, error: {}", url, e);
}
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment