Invoices and receipts
Small-business tools, booking apps and marketplaces: the customer or the shop prints the invoice that your backend already generates.
Claude Code + 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 Claude Code 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 Claude Code to implement the web-app side. Review the result, publish, then test inside the WebViewGold app.
Prompt for Claude Code: Read https://www.webviewgold.com/docs/iOS/printer/ and https://www.webviewgold.com/docs/android/printer/, then add native printing. 1) Add a server route that serves a PDF at a clean path /print/TOKEN (signed token, valid 5 minutes, no query string) rendered from our invoice data at A4 or Letter size. 2) Add an endpoint that issues the token for the logged-in user and returns the absolute URL on our production domain. 3) Add a printFile(url, jobName) helper: inside the app (navigator.userAgent contains my custom WebViewGold token) navigate to printitem://?jobName= plus the URL-encoded job name, then &printItem= plus the URL, keeping printItem last; in a browser open the URL. 4) Add a Print button to invoices. 5) Run curl against a generated print URL without cookies and confirm 200 and application/pdf. 6) Add tests and document the contract in CLAUDE.md.

I am very happy I bought this app! Extremely easy and great documentation. Was in contact with the customer service, they replied very quickly and very friendly. They solved my question within a day. 10/10 would recommend.
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 Claude Code app, the PDF route belongs in: Your own API routes, serverless functions or Supabase.
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.