Compare commits
4 Commits
Author | SHA1 | Date | |
---|---|---|---|
4f0164965c | |||
63f4321b04 | |||
e4287e9943 | |||
337c299a5e |
2
package-lock.json
generated
2
package-lock.json
generated
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@pushrocks/smartpdf",
|
||||
"version": "1.0.10",
|
||||
"version": "1.0.12",
|
||||
"lockfileVersion": 1,
|
||||
"requires": true,
|
||||
"dependencies": {
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@pushrocks/smartpdf",
|
||||
"version": "1.0.10",
|
||||
"version": "1.0.12",
|
||||
"private": false,
|
||||
"description": "create pdfs on the fly",
|
||||
"main": "dist/index.js",
|
||||
|
1
ts/interfaces/index.ts
Normal file
1
ts/interfaces/index.ts
Normal file
@ -0,0 +1 @@
|
||||
export * from './interface.pdfresult';
|
5
ts/interfaces/interface.pdfresult.ts
Normal file
5
ts/interfaces/interface.pdfresult.ts
Normal file
@ -0,0 +1,5 @@
|
||||
export interface IPdfResult {
|
||||
name: string,
|
||||
id: string,
|
||||
buffer: Buffer;
|
||||
}
|
@ -5,26 +5,28 @@ import { PdfCandidate } from './smartpdf.classes.pdfcandidate';
|
||||
|
||||
declare const document;
|
||||
|
||||
export interface IPdfResult {
|
||||
name: string,
|
||||
id: string,
|
||||
buffer: Buffer;
|
||||
}
|
||||
import { IPdfResult } from './interfaces';
|
||||
|
||||
export class SmartPdf {
|
||||
htmlServerInstance: Server;
|
||||
serverPort: number;
|
||||
headlessBrowser: plugins.puppeteer.Browser;
|
||||
externalBrowser: boolean = false;
|
||||
private _readyDeferred: plugins.smartpromise.Deferred<void>;
|
||||
private _candidates: { [key: string]: PdfCandidate } = {};
|
||||
|
||||
constructor() {
|
||||
constructor(headlessBrowserArg?) {
|
||||
this.headlessBrowser = headlessBrowserArg
|
||||
this._readyDeferred = new plugins.smartpromise.Deferred();
|
||||
}
|
||||
|
||||
async start() {
|
||||
// setup puppeteer
|
||||
if (!this.headlessBrowser) {
|
||||
this.headlessBrowser = await plugins.puppeteer.launch();
|
||||
} else {
|
||||
this.externalBrowser = true;
|
||||
}
|
||||
|
||||
// setup server
|
||||
const app = plugins.express();
|
||||
@ -80,7 +82,7 @@ export class SmartPdf {
|
||||
id: pdfCandidate.pdfId,
|
||||
name: `${pdfCandidate.pdfId}.js`,
|
||||
buffer: pdfBuffer
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
async getPdfForWebsite(websiteUrl: string): Promise<IPdfResult> {
|
||||
@ -99,7 +101,7 @@ export class SmartPdf {
|
||||
id: pdfId,
|
||||
name: `${pdfId}.js`,
|
||||
buffer: pdfBuffer
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
async getFullWebsiteAsSinglePdf(websiteUrl: string) {
|
||||
@ -108,7 +110,6 @@ export class SmartPdf {
|
||||
const response = await page.goto(websiteUrl, { waitUntil: 'networkidle2' });
|
||||
const pdfId = plugins.smartunique.shortId();
|
||||
const { documentHeight, documentWidth } = await page.evaluate(() => {
|
||||
|
||||
return {
|
||||
documentHeight: document.height,
|
||||
documentWidth: document.width
|
||||
@ -126,6 +127,6 @@ export class SmartPdf {
|
||||
id: pdfId,
|
||||
name: `${pdfId}.js`,
|
||||
buffer: pdfBuffer
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user