Here is an example of using Skia's PDF backend in the recommended way: via the SkDocument and SkCanvas APIs.
#include "SkDocument.h" bool WritePDF() { SkWStream* output = ....; SkAutoTUnref<SkDocument> pdfDocument( SkDocument::CreatePDF(outputStream)); int numberOfPages = ....; for (int page = 0; page < numberOfPages; ++page) { SkScalar pageWidth = ....; SkScalar pageHeight = ....; SkCanvas* pageCanvas = pdfDocument->beginPage(pageWidth, pageHeight); // ....insert canvas draw commands here.... pdfDocument->endPage(); } return pdfDocument->close(); }