Similar to: https://bugs.webkit.org/show_bug.cgi?id=93740 Consider this webkit2gtk snippet: // get a snapshot cairo_surface_t *surface = webkit_web_view_get_snapshot_finish(web_view, result, &error); int width = cairo_image_surface_get_width(surface); int height = cairo_image_surface_get_height(surface); // copy the snapshot to an pdf file cairo_surface_t *pdf_surface = cairo_pdf_surface_create(PDFFILE, (double) width, (double) height); cairo_t *cr = cairo_create(pdf_surface); cairo_set_source_surface(cr, surface, 0, 0); cairo_paint(cr); cairo_surface_flush(pdf_surface); cairo_surface_finish(pdf_surface); The resulting PDF is not a vector, but instead just contains a bitmap image. The same is true when saving to SVG. How can we save a WebView snapshot as a true vector PDF/SVG?