Как упомянуто @CommonsWare в разделе комментариев, нет способа «воспроизвести» операции рисования, выполненные на холсте. Решение, которое решило мою проблему, приведено ниже.
Bitmap bitmap = mCanvas.getBitmap();
int width = bitmap.getWidth();
int height = bitmap.getHeight();
PdfDocument pdfDocument = new PdfDocument();
PdfDocument.PageInfo.Builder builder =
new PdfDocument.PageInfo.Builder(width, height, 1);
PdfDocument.PageInfo pageInfo = builder.create();
PdfDocument.Page pdfPage = pdfDocument.startPage(pageInfo);
Canvas pdfCanvas = pdfPage.getCanvas();
pdfCanvas.drawBitmap(bitmap, 0, 0, null);
pdfDocument.finishPage(pdfPage);
pdfDocument.writeTo(outputStream);
pdfDocument.close();
Короче говоря, вместо того, чтобы установить исходный холст в свой PdfDocument
, я извлек растровое изображение исходного холста и нарисовал его в своих PdfDocument
. холст.