Create PDFs from HTML in Flutter
PspdfkitProcessor
(opens in a new tab) provides powerful APIs for generating PDF files directly from HTML strings and URIs. It relies on the WebView(opens in a new tab) system for Android and WebKit(opens in a new tab) for the iOS implementation. This means there are certain aspects of the conversion process that Nutrient cannot support. This includes, for example, any possible WebView(opens in a new tab) or WebKit(opens in a new tab) bugs. The following examples show how to generate a PDF from an HTML string and URI/URL.
License
To generate a PDF from HTML, contact Sales to add HTML-to-PDF conversion to your license.
Generating a PDF from an HTML string
The code below shows how to generate a PDF from an HTML string:
const html = '''<html> <head> <style type="text/css"> h1 { color: red; } </style> </head> <body> <h1>Hello, world!</h1> </body></html>''';
// Writable output path.final outputFilePath = '<writable-output-file-path>'
// Generate the PDF from the HTML string.String? generatedPdf = await PspdfkitProcessor.instance .generatePdfFromHtmlString(html, outputFilePath);if (generatedPdf == null) { print('Failed to generate PDF from HTML string.'); return;}
// Display the generated PDF.await Pspdfkit.present(generatedPdf);
Generating a PDF from an HTML URL/URI
The code below shows how to generate a PDF from an HTML URL or URI:
// Writable output path.final htmlUrl = Uri.parse('https://pspdfkit.com');final outputFilePath = <writable-output-path>;
// Generate the PDF from the HTML URL. String? generatedPdf = await PspdfkitProcessor.instance .generatePdfFromHtmlUri(htmlUri, outputFilePath);
if (generatedPdf == null) { print('Failed to generate PDF from HTML URI.'); return; }
// Display the generated PDF. await Pspdfkit.present(generatedPdf);
For more information on generating PDF files from HTML strings and URLs, see the PspdfkitProcessor
(opens in a new tab) documentation and the PDF Generation Example(opens in a new tab) from the Catalog app(opens in a new tab).