| Index: site/user/sample/pdf.md
|
| diff --git a/site/user/sample/pdf.md b/site/user/sample/pdf.md
|
| index 0a2aa4d471f16f88c1cd8a801551d64a9588f0f7..360fb4d02372b5a741107d12fe24adeb7e049a32 100644
|
| --- a/site/user/sample/pdf.md
|
| +++ b/site/user/sample/pdf.md
|
| @@ -4,15 +4,24 @@ Using Skia's PDF Backend
|
| Here is an example of using Skia's PDF backend in the recommended way:
|
| via the SkDocument and SkCanvas APIs.
|
|
|
| -<!--?prettify?-->
|
| +<!--?prettify lang=cc?-->
|
|
|
| #include "SkDocument.h"
|
|
|
| - bool WritePDF() {
|
| - SkWStream* outputStream = ....;
|
| -
|
| - SkAutoTUnref<SkDocument> pdfDocument(
|
| - SkDocument::CreatePDF(outputStream));
|
| + bool WritePDF(SkWStream* outputStream) {
|
| + sk_sp<SkDocument> pdfDocument(SkDocument::CreatePDF(outputStream));
|
| + typedef SkDocument::Attribute Attr;
|
| + Attr info[] = {
|
| + Attr(SkString("Title"), SkString("....")),
|
| + Attr(SkString("Author"), SkString("....")),
|
| + Attr(SkString("Subject"), SkString("....")),
|
| + Attr(SkString("Keywords"), SkString("....")),
|
| + Attr(SkString("Creator"), SkString("....")),
|
| + };
|
| + int infoCount = sizeof(info) / sizeof(info[0]);
|
| + SkTime::DateTime now;
|
| + SkTime::GetDateTime(&now);
|
| + pdfDocument->setMetadata(info, infoCount, &now, &now);
|
|
|
| int numberOfPages = ....;
|
| for (int page = 0; page < numberOfPages; ++page) {
|
| @@ -25,16 +34,5 @@ via the SkDocument and SkCanvas APIs.
|
|
|
| pdfDocument->endPage();
|
| }
|
| -
|
| - SkTArray<SkDocument::Attribute> info;
|
| - info.emplace_back(SkString("Title"), SkString("...."));
|
| - info.emplace_back(SkString("Author"), SkString("...."));
|
| - info.emplace_back(SkString("Subject"), SkString("...."));
|
| - info.emplace_back(SkString("Keywords"), SkString("...."));
|
| - info.emplace_back(SkString("Creator"), SkString("...."));
|
| - SkTime::DateTime now;
|
| - SkTime::GetDateTime(&now);
|
| - pdfDocument->setMetadata(info, &now, &now);
|
| -
|
| return pdfDocument->close();
|
| }
|
|
|