Commit 8e705824 authored by 张辰's avatar 张辰

gen Pdf

parent a52611c5
...@@ -13,8 +13,13 @@ import java.util.ArrayList; ...@@ -13,8 +13,13 @@ import java.util.ArrayList;
@Slf4j @Slf4j
public class PagePdfGenUtils { public class PagePdfGenUtils {
public static void genPdf(String url) throws Throwable { private static Browser browser;
private static volatile boolean isBrowserClosed;
static {
try {
BrowserFetcher.downloadIfNotExist(null); BrowserFetcher.downloadIfNotExist(null);
ArrayList<String> argList = new ArrayList<>(); ArrayList<String> argList = new ArrayList<>();
LaunchOptions options = new LaunchOptionsBuilder() LaunchOptions options = new LaunchOptionsBuilder()
.withExecutablePath("/usr/bin/google-chrome") .withExecutablePath("/usr/bin/google-chrome")
...@@ -25,16 +30,21 @@ public class PagePdfGenUtils { ...@@ -25,16 +30,21 @@ public class PagePdfGenUtils {
argList.add("--no-sandbox"); argList.add("--no-sandbox");
argList.add("--disable-setuid-sandbox"); argList.add("--disable-setuid-sandbox");
argList.add("--enable-logging=/data/logs/chrome22.log --v=1"); argList.add("--enable-logging=/data/logs/chrome22.log --v=1");
Browser browser = Puppeteer.launch(options); browser = Puppeteer.launch(options);
isBrowserClosed = false;
} catch (Throwable t) {
log.error("error in init genPdf", t);
}
}
public static void genPdf(String url) throws Throwable {
Page page = browser.newPage(); Page page = browser.newPage();
page.goTo(url); page.goTo(url);
PDFOptions pdfOptions = new PDFOptions(); PDFOptions pdfOptions = new PDFOptions();
pdfOptions.setPath("/usr/src/myapp/test.pdf"); pdfOptions.setPath("/usr/src/myapp/test.pdf");
pdfOptions.setPrintBackground(true); pdfOptions.setPrintBackground(true);
// pdfOptions.setDisplayHeaderFooter(true);
// pdfOptions.setHeaderTemplate("<span></span>");
// pdfOptions.
byte[] pdfBytes = page.pdf(pdfOptions); byte[] pdfBytes = page.pdf(pdfOptions);
ScreenshotOptions screenshotOptions = new ScreenshotOptions(); ScreenshotOptions screenshotOptions = new ScreenshotOptions();
...@@ -47,6 +57,6 @@ public class PagePdfGenUtils { ...@@ -47,6 +57,6 @@ public class PagePdfGenUtils {
page.screenshot(screenshotOptions); page.screenshot(screenshotOptions);
page.close(); page.close();
browser.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