Commit 185605ed authored by 张辰's avatar 张辰

1

parent 5c6f6dae
......@@ -16,6 +16,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.io.IOException;
import java.util.List;
@RestController
......@@ -63,8 +64,11 @@ public class SearchController {
@GetMapping("/testGenPdf")
public CommonResp testGenPdf(@RequestParam("url") String url) {
PagePdfGenUtils.genPdf(url);
return CommonResp.success();
try {
PagePdfGenUtils.genPdf(url);
return CommonResp.success();
} catch (Throwable e) {
return CommonResp.error("9999", e.getMessage());
}
}
}
......@@ -9,34 +9,31 @@ import com.ruiyun.jvppeteer.options.LaunchOptionsBuilder;
import com.ruiyun.jvppeteer.options.PDFOptions;
import lombok.extern.slf4j.Slf4j;
import java.io.IOException;
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();
public static void genPdf(String url) throws Throwable {
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);
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);
}
PDFOptions pdfOptions = new PDFOptions();
pdfOptions.setPath("/usr/src/myapp/test.pdf");
byte[] pdfBytes = page.pdf(pdfOptions);
page.close();
browser.close();
}
}
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