Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Sign in
Toggle navigation
T
tanpu-community
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
探普后端
tanpu-community
Commits
8e705824
Commit
8e705824
authored
Oct 27, 2021
by
张辰
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
gen Pdf
parent
a52611c5
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
26 additions
and
16 deletions
+26
-16
PagePdfGenUtils.java
...c/main/java/com/tanpu/community/util/PagePdfGenUtils.java
+26
-16
No files found.
community-service/src/main/java/com/tanpu/community/util/PagePdfGenUtils.java
View file @
8e705824
...
...
@@ -13,28 +13,38 @@ import java.util.ArrayList;
@Slf4j
public
class
PagePdfGenUtils
{
private
static
Browser
browser
;
private
static
volatile
boolean
isBrowserClosed
;
static
{
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"
);
argList
.
add
(
"--enable-logging=/data/logs/chrome22.log --v=1"
);
browser
=
Puppeteer
.
launch
(
options
);
isBrowserClosed
=
false
;
}
catch
(
Throwable
t
)
{
log
.
error
(
"error in init genPdf"
,
t
);
}
}
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"
);
argList
.
add
(
"--enable-logging=/data/logs/chrome22.log --v=1"
);
Browser
browser
=
Puppeteer
.
launch
(
options
);
Page
page
=
browser
.
newPage
();
page
.
goTo
(
url
);
PDFOptions
pdfOptions
=
new
PDFOptions
();
pdfOptions
.
setPath
(
"/usr/src/myapp/test.pdf"
);
pdfOptions
.
setPrintBackground
(
true
);
// pdfOptions.setDisplayHeaderFooter(true);
// pdfOptions.setHeaderTemplate("<span></span>");
// pdfOptions.
byte
[]
pdfBytes
=
page
.
pdf
(
pdfOptions
);
ScreenshotOptions
screenshotOptions
=
new
ScreenshotOptions
();
...
...
@@ -47,6 +57,6 @@ public class PagePdfGenUtils {
page
.
screenshot
(
screenshotOptions
);
page
.
close
();
browser
.
close
();
//
browser.close();
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment