fix(core): update
This commit is contained in:
51
ts/classes.pdfservice.ts
Normal file
51
ts/classes.pdfservice.ts
Normal file
@@ -0,0 +1,51 @@
|
||||
import * as plugins from './plugins.js';
|
||||
import * as paths from './paths.js';
|
||||
import * as helpers from './helpers.js';
|
||||
|
||||
export interface IPdfServiceConstructorOptions {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* a pdf service for generating pdfs
|
||||
*/
|
||||
export class PdfService {
|
||||
// INSTANCE
|
||||
options: IPdfServiceConstructorOptions;
|
||||
|
||||
public smartpdfInstance: plugins.smartpdf.SmartPdf;
|
||||
|
||||
constructor(optionsArg: IPdfServiceConstructorOptions) {
|
||||
this.options = optionsArg;
|
||||
}
|
||||
|
||||
/**
|
||||
* starts the PdfService
|
||||
*/
|
||||
public async start() {
|
||||
this.smartpdfInstance = new plugins.smartpdf.SmartPdf();
|
||||
await this.smartpdfInstance.start();
|
||||
}
|
||||
|
||||
/**
|
||||
* stops the PdfService
|
||||
*/
|
||||
public async stop() {
|
||||
await this.smartpdfInstance.stop();
|
||||
}
|
||||
|
||||
/**
|
||||
* creates an letter
|
||||
*/
|
||||
public async createPdfFromLetterObject(letterDataArg: plugins.tsclass.business.ILetter) {
|
||||
const html = `
|
||||
<script type="module">
|
||||
${await helpers.getBundleAsString()}
|
||||
</script>
|
||||
<dedocument-dedocument printMode letterData="${plugins.smartjson.stringifyBase64(letterDataArg)}"></dedocument-dedocument>
|
||||
`;
|
||||
// console.log(html);
|
||||
const pdfResult = await this.smartpdfInstance.getA4PdfResultForHtmlString(html);
|
||||
return pdfResult;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user