Halloween DealsAmazon USHalloween week deals: useful picks before month-endAmazon US: current deals, useful picks and tech finds.Check DealsWindows FixRecommendedWindows errors stealing your time? Find the fix fastScan stability, cleanup and performance issues.Fix NowHalloween DealsAmazon USOctober picks are moving - compare before checkoutAmazon US: current deals, useful picks and tech finds.See Picks×
FREEDOM251

Freedom251 › Blog › GST

How to Take a Puppeteer Screenshot of a GST Invoice Web Page

By Freedom251 Team · · 4 min read

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Use Puppeteer to load the invoice page, wait until the invoice itself is ready, then call page.screenshot(). Set the viewport before navigation so the page lays out at the dimensions you expect. A screenshot records the rendered page; it does not verify that the invoice meets GST requirements.

Capture the invoice as an image

Install Puppeteer in a Node.js project, then use this example. Replace the URL with the invoice page you can access; if the page requires authentication, add the appropriate login flow or session handling for your application.

As an Amazon Associate I earn from qualifying purchases.

import puppeteer from 'puppeteer';

const browser = await puppeteer.launch();
try {
  const page = await browser.newPage();
  await page.setViewport({ width: 1280, height: 900 });
  await page.goto('https://example.com/invoice/123', { waitUntil: 'networkidle2' });
  await page.screenshot({ path: 'gst-invoice.png', fullPage: true });
} finally {
  await browser.close();
}

This saves a PNG named gst-invoice.png. Puppeteer documents Page.screenshot() as the page-capture method and supports saving the result to a path: Puppeteer Page.screenshot() API.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Choose the capture area

  • Keep fullPage: true to capture the page beyond the visible viewport, which is useful for a long invoice.
  • Remove fullPage: true for a viewport-only image.
  • Set the viewport dimensions before page.goto(). Responsive pages may reflow at different viewport sizes.

Wait for the invoice content, not just navigation

waitUntil: 'networkidle2' is a navigation condition, not proof that a web application has finished rendering invoice data. An application may fetch or display the invoice after the initial page load. In that case, wait for a selector or loaded-state signal that actually exists on the page:

#1 Best Overall
XKDOUS 2 Pack Invoice Books, 2-Part Carbonless Receipt Books
  • Two-Part Carbonless Invoice Book: Each invoice book has 50 sets of invoices, each with a white/light yellow section, with the yellow section retained in the invoice book to maintain detailed records.
  • Consecutively Numbered: Enlarged red 6-digit numbers in the upper right corner of each invoice receipt book help you quickly navigate through your orders.
  • Wraparound Divider Flap: A thick folded cardboard divider is integrated into the back of each invoice book for use between each two-part sales order to prevent the written content from rubbing off on subsequent copies of the invoice, resulting in wasted invoices.
  • 2 Packs/50 Sets (100 Sets Total): Each invoice book provides 50 sequentially numbered carbonless sets of 2 invoice books for long-term use.
  • Customizable Space: Each invoice book for small business has space at the top to add a company seal or sticker.
await page.goto('https://example.com/invoice/123', { waitUntil: 'networkidle2' });
await page.waitForSelector('YOUR_INVOICE_CONTAINER_SELECTOR');
await page.screenshot({ path: 'gst-invoice.png', fullPage: true });

Replace YOUR_INVOICE_CONTAINER_SELECTOR with the real selector from the page; it is not a literal selector. If the application exposes a more reliable readiness condition, use that instead. Puppeteer’s Page API also documents device emulation through viewport and user-agent metrics: Page API documentation.

Use PDF when the goal is a printable document

For an image, use page.screenshot(). For document delivery or printing, use page.pdf(); Puppeteer applies print CSS by default. The two outputs can therefore differ if the site has print-specific styles. See Puppeteer Page.pdf() API.

Rank #2
Adams Sales Order Book, 2-Part, Carbonless, White/Canary, 4-3/16 x 7-3/16 Inches, 50 Sets per Book (DC4705)
  • QUALITY INVOICES: Adams Order books provide a professional invoice or customer receipt; a great way to create and maintain a professional image for small businesses and service providers
  • 50 TWO-PART CARBONLESS FORMS: Customers get the perforated white top copy; retain the canary and pink copies for your records
  • WRAP-AROUND COVER: Fold the back cover between sets to keep invoices neat and legible
  • ROOM FOR CUSTOMIZATION: A blank space at top leaves room for your company stamp; a big savings over custom-printed forms
  • CONSECUTIVELY NUMBERED: Large 6-digit numbers in the upper right hand corner help you thumb through orders quickly
await page.goto('https://example.com/invoice/123', { waitUntil: 'networkidle2' });
await page.waitForSelector('YOUR_INVOICE_CONTAINER_SELECTOR');
await page.pdf({ path: 'gst-invoice.pdf', format: 'A4' });

As with the image example, replace the selector with one used by the actual page. If the PDF should reflect screen styling instead of print styling, set the media type before generating it:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
await page.emulateMediaType('screen');
await page.pdf({ path: 'gst-invoice.pdf', format: 'A4' });

Print rendering can adjust colors. Puppeteer’s PDF documentation notes that CSS using -webkit-print-color-adjust can request exact colors where appropriate. Check the generated PDF because the page’s print styles and browser rendering affect the result: Puppeteer PDF API.

Rank #3
Sale
Adams Invoice Book, 8-3/8 x 10-11/16 Inches, 2-Part, Carbonless, White/Canary, 50 Sets per Book (D8140)
  • QUALITY INVOICES: Adams Invoice books provide a professional invoice or customer receipt; easily customize by using the extra space at the top and your company stamp
  • 50-TWO PART CARBONLESS FORMS: Customers get the perforated white top copy; retain the yellow copy for your records
  • WRAP-AROUND COVER: Fold the back cover between sets to keep invoices neat and legible
  • CONSECUTIVELY NUMBERED: Large 6-digit numbers help you thumb through invoices quickly
  • STOCK UP: Each book includes 50 white/canary sets; order several to keep your favorite forms on hand

Know what a screenshot can and cannot establish

A screenshot shows what the browser rendered; it does not validate GST compliance. CBIC invoice rules list particulars that include the supplier’s name, address and GSTIN; a consecutive serial number unique for the financial year; issue date; recipient information where applicable; HSN code or accounting code for services; description; values; and tax particulars. Rule 46 on the government tax information portal states that the serial number must not exceed sixteen characters and must be unique for a financial year. See CBIC invoice rules and Rule 46.

Which particulars apply can depend on the transaction and taxpayer circumstances. Use the current rules and amendments, or qualified advice, for compliance decisions rather than relying on an image capture.

Rank #4
Adams Invoice Book 3 Pack, 2 Part Carbonless Invoices, Horizontal Sales Slip, 5-9/16 x 8-7/16 Inches, 50 Sets per Book (DC5840-3)
  • This value 3 pack of Adams Invoice Books give you 150 two part carbonless invoices with a perforated white customer receipt and yellow duplicates for your records; 3 50-invoice books per pack
  • Unique horizontal invoice sheets capture the purchased by and shipped to addresses; a compact 5-9/16 x 8-7/16 page still leaves plenty of room for details on up to 12 items sold
  • Wraparound back cover prevents write-through between sets; pull out the perforated white customer receipt and the yellow carbonless duplicates stay behind for your records
  • Unique 6 digit invoice numbers help you thumb through orders quickly; blank space up top gives you room for a company stamp—an affordable custom touch
  • In value packs with three 50-invoice books for your small business; buy ahead to keep on site or take on the road for pop-up shop sales

Troubleshoot common capture problems

  • The invoice is blank or incomplete: the application may render data after navigation. Wait for the actual invoice container or another reliable loaded-state signal before capturing.
  • The screenshot cuts off the invoice: use fullPage: true if the content extends below the viewport. For viewport-only output, adjust the viewport to the dimensions you need.
  • The layout differs from the expected view: set the viewport before navigation; responsive layout can depend on viewport metrics.
  • The PDF looks different from the screenshot: PDF generation uses print CSS by default. Check the page’s print styles, or call page.emulateMediaType('screen') before page.pdf() when screen media is intended.
  • Colors in the PDF are altered: print color adjustment may affect them. Review the output and, where suitable, use -webkit-print-color-adjust as described in Puppeteer’s PDF documentation.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Or skip the browser setup

If you only need a screenshot response from an API, ScreenshotNeo takes a URL in one GET request. Its response can be a PNG, JPEG, WebP or PDF. For example, using cURL:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://example.com/invoice/123 -o gst-invoice.webp

See the ScreenshotNeo API documentation for the request options and setup. ScreenshotNeo removes cookie banners, newsletter popups and chat widgets before capture; those cleanup steps can be turned off. Bot checks, blank pages, failed loads and cache hits are not billed, and the response identifies the page verdict and billing status in headers. An MCP server offers take_screenshot, get_page_info and capture_pdf tools for AI agents. The free plan includes 1,000 screenshots per month with no card; paid plans start at $5 for 3,000 shots. Sign up for 1,000 free screenshots a month, with no card required.

Frequently Asked Questions

Does networkidle2 guarantee the invoice is fully rendered?

No. It is a navigation condition; wait for an application-specific invoice-ready signal when the page renders data later.

Best Value
Adams Invoice Book, 2-Part, Carbonless, 5-9/16 x 8-7/16 Inches, 50 Sets per Book (DC5840)
  • 2 part carbonless forms (White originals, Canary duplicates) for invoicing customers
  • Wraparound cover attached to back to place between sets
  • Consecutively numbered within each book
  • 50 sets per book
  • Space at top for company stamp

Should I capture an invoice as a screenshot or a PDF?

Use page.screenshot() for an image and page.pdf() for a printable document that follows print CSS by default.

Quick Recap

Bestseller No. 2
Adams Sales Order Book, 2-Part, Carbonless, White/Canary, 4-3/16 x 7-3/16 Inches, 50 Sets per Book (DC4705)
Adams Sales Order Book, 2-Part, Carbonless, White/Canary, 4-3/16 x 7-3/16 Inches, 50 Sets per Book (DC4705)
WRAP-AROUND COVER: Fold the back cover between sets to keep invoices neat and legible
$4.97
SaleBestseller No. 3
Adams Invoice Book, 8-3/8 x 10-11/16 Inches, 2-Part, Carbonless, White/Canary, 50 Sets per Book (D8140)
Adams Invoice Book, 8-3/8 x 10-11/16 Inches, 2-Part, Carbonless, White/Canary, 50 Sets per Book (D8140)
WRAP-AROUND COVER: Fold the back cover between sets to keep invoices neat and legible; CONSECUTIVELY NUMBERED: Large 6-digit numbers help you thumb through invoices quickly
$11.25
Bestseller No. 5
Adams Invoice Book, 2-Part, Carbonless, 5-9/16 x 8-7/16 Inches, 50 Sets per Book (DC5840)
Adams Invoice Book, 2-Part, Carbonless, 5-9/16 x 8-7/16 Inches, 50 Sets per Book (DC5840)
2 part carbonless forms (White originals, Canary duplicates) for invoicing customers; Wraparound cover attached to back to place between sets
$5.97

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

GSTNode.jsPDFPuppeteerscreenshots

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Recommended PC Tool
Recommended PC Tool
PC Slower Than It Used to Be?Free scan - under a minute
Crashes, No Sound, or Screen Glitches?Free driver scan

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.