question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

[BUG] PDF is blank

See original GitHub issue

Environment

  • chrome-aws-lambda Version: 2.0.2
  • puppeteer-core Version: 2.0.0
  • Node.js Version: 10.x
  • Lambda / GCF Runtime: 10.x

Expected Behavior

Should print a simple H1 tag

Current Behavior

PDF is blank

Possible Solution

Steps to Reproduce

const html = '<html><head><title>Test</title></head> <body> <h1> Testing. </h1></body></html>';
const browser = await chromium.puppeteer.launch({
    args: chromium.args,
    defaultViewport: chromium.defaultViewport,
    executablePath: await chromium.executablePath,
    headless: chromium.headless,
  });

const page = await browser.newPage();
  page.setContent(html);


const pdf = await page.pdf({
    format: 'A4',
    printBackground: true,
    margin: {
      top: '1cm',
      right: '1cm',
      bottom: '1cm',
      left: '1cm',
    },
  });

await s3.upload({
    Body: Buffer.from(pdf.toString('base64'), 'base64'),
    Bucket: 'bucket-name',
    Key: 'prints/test.pdf',
  }, (err, data) => {
    if (!err) {
      console.log('Data: ', data);
    } else {
      console.log('Error: ', err);
    }
  });

Issue Analytics

  • State:closed
  • Created 4 years ago
  • Comments:7 (2 by maintainers)

github_iconTop GitHub Comments

2reactions
alixaxelcommented, Feb 10, 2020

@nyel-dev Apologies for the delay in the reply. I changed your code slightly:

const chromium = require("chrome-aws-lambda");

exports.handler = async (event, context) => {
  let result = null;
  let browser = null;

  try {
    browser = await chromium.puppeteer.launch({
      args: chromium.args,
      defaultViewport: chromium.defaultViewport,
      executablePath: await chromium.executablePath,
      headless: chromium.headless,
      dumpio: false
    });

    let page = await browser.newPage();

    await page.setContent(`
      <html>
        <head>
          <title>Test</title>
        </head>
        <body>
          <h1>Testing.</h1>
        </body>
      </html>
    `);

    result = await page.pdf({
      format: "A4",
      printBackground: true,
      margin: {
        top: "1cm",
        right: "1cm",
        bottom: "1cm",
        left: "1cm"
      }
    });

    result = result.toString("base64");
  } catch (error) {
    return context.fail(error);
  } finally {
    if (browser !== null) {
      await browser.close();
    }
  }

  return context.succeed(result);
};

Which returns the expected base64-encoded PDF:

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

image

Perhaps the issue could be that you are not waiting for page.setContent to resolve?

0reactions
nyel-ghcommented, Feb 19, 2020

@alixaxel await page.setContent fixed it. Thanks.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Best Solutions to Fix Blank PDF File Problem
The incompatible or outdated software version is the primary reason for errors in PDF files, especially blank pages. That's why you must update ......
Read more >
PDF pages go blank - Adobe Support Community - 8352938
Solved: When using adobe acrobat pro dc and I leave a pdf open and untouched. The page I am viewing goes blank as...
Read more >
5 Simple Ways to Fix PDF Is Blank When Opened Today
1. The PDF file is not available in the virtual directory. · 2. Poor internet connection or large file download done incorrectly. ·...
Read more >
Top 3 Methods to Resolve PDF Blank Pages Problem Manually
Top 3 Methods to Resolve PDF Blank Pages Problem Manually · Method 1. Verify is the Web Server is Valid or Not ·...
Read more >
Blank pages displayed when viewing large PDF - IBM
This error occurs when an object in the PDF document is incomplete, or when an object is missing a key element. Frequently, the...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found