This library converts html files to PDF files or PDF buffer.
Is working for:
- URL.
- local html files.
- html as string.
- text.
Visit from-data-to-pdf.
$ npm i from-data-to-pdf
- targets:
- list of FileBuffer.
- save:
- type
boolean
. true
to save targets,false
to get buffers.
- type
- path:
- is optionnal.
- type
string
.
const dataToPdf = require("from-data-to-pdf");
main();
async function main() {
const data =[
{
name: 'Google',
url: 'https://www.google.com'
},
{
name: 'String of html',
text: '<html string>'
}
];
const listOfSavedFiles = await dataToPdf.getPdf(data, true, 'C:/Users/Me/Documents/MyPDF/');
console.log(listOfSavedFiles);
// Display:
// [
// {
// name: 'Google',
// pathOfsavedFile: 'C:/Users/Me/Documents/MyPDF/google15156514.pdf'
// },
// {
// name: 'String of html',
// pathOfsavedFile: 'C:/Users/Me/Documents/MyPDF/string-of-html15156515.pdf'
// }
// ]
}
- files:
- list of HTMLTarget.
- save:
- type
boolean
. true
to save targets,false
to get buffers.
- type
- path:
- is optionnal.
- type Path.
- /!\ relative path starts from the app directory.
CSS must be in your html files.
const dataToPdf = require("from-data-to-pdf");
main();
async function main() {
const data = [
{
projectName: "Mon Fichier",
fileName: "project1.html"
}
];
// If this is my first time using this package and I don't have a custom path to get templates.
// I use the function below once:
await dataToPdf.initDefaultFolder();
// Now, I move my html files in the created folder: my-app/temp/target/
// Then:
const listOfSavedPDF = await dataToPdf.fromHtmlFileToPdf(data, true);
// listOfSavedPDF:
// [
// {
// name: 'Test',
// pathOfsavedFile: 'my-app/temp/generatedPDF/Mon-Fichier1561654165.pdf'
// }
// ]
// Else if I have custom path:
const listOfSavedPDF = await dataToPdf.fromHtmlFileToPdf(data, true, {
toGetFiles: 'C:/Users/Me/Documents/MyTemplates/',
toSaveFiles: 'C:/Users/Me/Documents/MyPDF/'
});
// listOfSavedPDF:
// [
// {
// name: 'Test',
// pathOfsavedFile: 'C:/Users/Me/Documents/MyPDF/mon-fichier1561654165.pdf'
// }
// ]
}
export interface HTMLTarget {
projectName: string;
fileName: string;
pdfOptions: PdfOptions;
}
export interface FileBuffer {
name: string;
url?: string;
text?: string;
buffer?: Buffer;
options?: puppeteer.PDFOptions;
pathOfsavedFile?: string;
error?: any;
}
export interface Path {
toGetFiles?: string;
toSaveFiles?: string;
}
Visit puppeteer.PDFOptions for more informations.