writeContent method
Implementation
@override
void writeContent(PdfStream s) {
final writer = _streamWriter;
if (writer == null) {
super.writeContent(s);
return;
}
if (pdfDocument.encryption != null) {
throw UnsupportedError(
'PdfImage.jpegStream does not support encrypted documents',
);
}
params['/Length'] = PdfNum(_streamLength!);
params.output(this, s, settings.verbose ? 0 : null);
if (settings.verbose) {
s.putByte(0x0a);
}
s.putString('stream\n');
final start = s.offset;
writer(s);
final bytesWritten = s.offset - start;
if (bytesWritten != _streamLength) {
throw StateError(
'JPEG stream wrote $bytesWritten bytes; expected $_streamLength',
);
}
s.putString('\nendstream\n');
}