diff --git a/README.md b/README.md index 019a576a..e965a5ee 100644 --- a/README.md +++ b/README.md @@ -61,6 +61,7 @@ Please npm install the theme you wish to use locally before attempting to export Options: - `--format ` Example: `--format pdf` +- `--papersize ` Example: `--papersize a4` - `--theme ` Example: `--theme even` ## `resume serve` diff --git a/lib/export-resume.js b/lib/export-resume.js index e8506de3..813adaaf 100644 --- a/lib/export-resume.js +++ b/lib/export-resume.js @@ -8,7 +8,7 @@ const puppeteer = require('puppeteer'); const btoa = require('btoa'); module.exports = ( - { resume: resumeJson, fileName, theme, format }, + { resume: resumeJson, fileName, theme, format, papersize }, callback, ) => { if (!fileName) { @@ -28,7 +28,7 @@ module.exports = ( callback(error, fileName, formatToUse); }); } else if (formatToUse === '.pdf') { - createPdf(resumeJson, fileName, theme, formatToUse, (error) => { + createPdf(resumeJson, fileName, theme, formatToUse, papersize, (error) => { if (error) { console.error(error, '`createPdf` errored out'); } @@ -76,7 +76,14 @@ async function createHtml(resumeJson, fileName, themePath, format, callback) { stream.close(callback); }); } -const createPdf = (resumeJson, fileName, theme, format, callback) => { +const createPdf = ( + resumeJson, + fileName, + theme, + format, + papersize, + callback, +) => { (async () => { const themePkg = getThemePkg(theme); const puppeteerLaunchArgs = []; @@ -107,7 +114,7 @@ const createPdf = (resumeJson, fileName, theme, format, callback) => { } await page.pdf({ path: fileName + format, - format: 'Letter', + format: papersize, printBackground: true, ...themePkg.pdfRenderOptions, }); diff --git a/lib/main.js b/lib/main.js index e72db6fa..bad1bb09 100755 --- a/lib/main.js +++ b/lib/main.js @@ -41,6 +41,7 @@ const normalizeTheme = (value, defaultValue) => { 'jsonresume-theme-even', ) .option('-f, --format ', 'Used by `export`.') + .option('--papersize ', 'Used by `export`.', 'Letter') .option( '-r, --resume ', "path to the resume in json format. Use '-' to read from stdin", @@ -89,8 +90,10 @@ const normalizeTheme = (value, defaultValue) => { program .command('export [fileName]') .description( - 'Export locally to .html or .pdf. Supply a --format flag and argument to specify export format.', + 'Export locally to .html or .pdf. Supply a --format flag and argument to specify export format. ' + + 'Supply --papersize flag and argument to specify export page format when rendering a PDF.', ) + .option('--papersize ', 'Paper size to use with PDF', 'Letter') .action(async (fileName) => { const resume = await getResume({ path: program.resume }); exportResume(