public override void ToPdf(PdfWriter writer, Stream os)
{
byte[] b = PdfReader.GetStreamBytesRaw(this);
PdfEncryption crypto = null;
if (writer != null)
{
crypto = writer.Encryption;
}
PdfObject objLen = Get(PdfName.LENGTH);
int nn = b.Length;
if (crypto != null)
{
nn = crypto.CalculateStreamSize(nn);
}
Put(PdfName.LENGTH, new PdfNumber(nn));
SuperToPdf(writer, os);
Put(PdfName.LENGTH, objLen);
os.Write(STARTSTREAM, 0, STARTSTREAM.Length);
if (length > 0)
{
if (crypto != null && !crypto.IsEmbeddedFilesOnly())
{
b = crypto.EncryptByteArray(b);
}
os.Write(b, 0, b.Length);
}
os.Write(ENDSTREAM, 0, ENDSTREAM.Length);
}