Какие есть OTP на основе текста?
А чем именно ОТП TOTP, HOTP не подходят?
Не нравится время и счетчик - засуньте на вход алгоритма хеш от вашего документа. Но только это будет уже не OTP, т.к. для одного документа всегда будет один и тот же пароль.
Ну так и берите HOTP, где в качестве счетчика пускай будет уникальный идентификатор документа. 
Дальше вопрос в том, как превращать что-либо в число и кто и где это будет делать. Можете в sha512 загонять, можете CRC32 считать. Воля фантазии.