Invoices and receipts
Small-business tools, booking apps and marketplaces: the customer or the shop prints the invoice that your backend already generates.
ChatGPT & Codex + printing
The print button that works in the browser usually goes quiet inside an app, because app WebViews do not handle window.print() the way Safari or Chrome do. WebViewGold gives your ChatGPT & Codex app a native alternative: printitem:// downloads a PDF or image from your server and opens the system print dialog, AirPrint on iPhone and the Android print service, with Save as PDF as an option.
From $109 one-time per platform, or let our team do it all from $698.
Small-business tools, booking apps and marketplaces: the customer or the shop prints the invoice that your backend already generates.
Event tickets, shipping labels, name badges, check-in passes with a QR code. Render them as a PDF in the right paper size and print in two taps.
Weekly reports, school worksheets, training plans, recipes and checklists that people still want on paper or as a tidy PDF.
Course certificates, booking confirmations and signed agreements, printed or saved as PDF straight from the screen where the user sees them.
Paste this into ChatGPT & Codex to implement the web-app side. Review the result, publish, then test inside the WebViewGold app.
Prompt for Codex: Add native printing via the WebViewGold app wrapper and open a pull request. 1) Add a server route GET /print/:token that verifies a signed 5-minute token and returns a PDF (Content-Type application/pdf) of the requested report or invoice. 2) Add POST /api/print-links that checks the session and returns the absolute URL https://OUR_DOMAIN/print/TOKEN. 3) Add a client helper printFile(url, jobName): if navigator.userAgent includes my custom WebViewGold token, set window.location.href to "printitem://?jobName=" + encodeURIComponent(jobName) + "&printItem=" + url; otherwise open the URL in a new tab. 4) Add Print buttons to reports and saved AI answers, rendered to PDF on the server. 5) Add a test that fetches the print route without cookies and expects a PDF. 6) Document printitem:// in AGENTS.md.

WebViewGold has allowed us the shortest and most efficient time-to-market ever possible from among all the other app platforms we have ever tried during the past 5 years. I don’t know why I hadn’t discovered you sooner, but I am really, really glad I did. Currently nearing 6000 app downloads on both iOS App Store & Google Play Store without any problem!
About an hour, most of it for the PDF template.
Generate the invoice, ticket or report as a PDF (or PNG/JPG) on the server, in the page size of the paper you expect: Letter or A4, a 4 × 6 inch label, a ticket. Images are scaled to fit the page on Android.
The app downloads the file from printItem itself, and the docs require that URL to be publicly reachable from the device. Use a short-lived signed link and keep it free of & and #, for example https://app.yourdomain.com/print/8f3a2c.pdf.
Navigate to printitem://?jobName=Invoice%20%23123&printItem=https://…/invoice.pdf. printItem is required, jobName is optional and must be URL-encoded (Android shows "Print Job" without it). Keep printItem last, as in the docs.
Detect the app through the custom user agent you set in WebViewGold. In a normal browser, keep window.print() or open the PDF so its viewer can print it.
Print a multi-page PDF and an image on iPhone and Android, and try Save as PDF. Check margins, page breaks and the job name in the print queue.
The helper asks your server for a short-lived file URL and picks the right path. For your ChatGPT & Codex app, the PDF route belongs in: Your own API or serverless functions.
var IN_APP = navigator.userAgent.indexOf("WebViewGold") !== -1; // your custom user agent token
async function printInvoice(invoiceId) {
// the server renders a PDF and returns a short-lived, publicly reachable link
var res = await fetch("/api/invoices/" + invoiceId + "/print-link", { method: "POST" });
var link = (await res.json()).url; // e.g. https://app.yourdomain.com/print/8f3a2c.pdf
if (IN_APP) {
var job = encodeURIComponent("Invoice " + invoiceId);
window.location.href = "printitem://?jobName=" + job + "&printItem=" + link; // printItem last
} else {
window.location.assign(link); // browser: the PDF viewer prints it
}
}App WebViews do not implement the browser print command the way Safari and Chrome do, so the call usually has no effect. printitem:// hands a file to the native print system instead, which also handles multi-page PDFs more reliably.
Yes. Android offers Save as PDF in the print dialog, and on iOS users can save or share the document from the print options. Many people use exactly that to file invoices.
printitem:// prints a file from a URL. Render that view as a PDF on the server (most stacks have a PDF library or a headless browser for this) and pass the link; it also looks better on paper than the web layout.
It has to be reachable from the device without your login. A signed link that expires after a few minutes gives you that without exposing invoices permanently.
Same result, different amount of work on your side. All three come with the approval guarantee and 24/7 human support.
$109 per platform, one-time
The WebViewGold license: a finished Xcode or Android Studio project. Paste your URL, set name and icon, switch on features, build and submit. Free updates forever.
See plans on the main page$349 per license, one-time add-on
No Mac, no Xcode, no Android Studio: configure in the browser, we build both apps in the cloud and hand them to App Store Connect and the Play Console.
How the Cloud Builder works Try the free demo$698 per platform $798
Send us your URL and icon. Our team configures, builds and delivers your app within 72 hours, white-label, with source projects. Both platforms for $1,158.
Full Service details Powered byWinter Sale prices valid until December 31, 2026.
App Store & Google Play approval guarantee – or your money back within 14 days
Rather hand it over? Full Service: we configure, build and deliver within 72 hours, from $698 per platform. Questions? Chat with us 24/7.
Refunds are granted under the conditions listed in our FAQ: a non-content rejection by Apple and/or Google, claimed within 14 days after purchase.