private void UpdateByteRange(PdfPKCS7 pkcs7, PdfDictionary v)
{
PdfArray b = v.GetAsArray(PdfName.BYTERANGE);
RandomAccessFileOrArray rf = reader.SafeFile;
try {
rf.ReOpen();
byte[] buf = new byte[8192];
for (int k = 0; k < b.Size; ++k) {
int start = b.GetAsNumber(k).IntValue;
int length = b.GetAsNumber(++k).IntValue;
rf.Seek(start);
while (length > 0) {
int rd = rf.Read(buf, 0, Math.Min(length, buf.Length));
if (rd <= 0)
break;
length -= rd;
pkcs7.Update(buf, 0, rd);
}
}
}
finally {
try{rf.Close();}catch{}
}
}