Я закончил со следующим решением. Добавлен собственный идентификатор flo_id для каждого потока. И переопределить метод handle_flowable в BaseDocTemplate, где проверяется и сохраняется идентификатор,
class SignDocTemplate(BaseDocTemplate):
blocks_to_pages = {}
def handle_flowable(self, flowables):
f = flowables[0]
BaseDocTemplate.handle_flowable(self, flowables)
if hasattr(f,'flo_id'):
if self.blocks_to_pages.has_key(self.canv._pageNumber):
self.blocks_to_pages[self.canv._pageNumber].append(f.flo_id)
else:
self.blocks_to_pages[self.canv._pageNumber]= [f.flo_id,]
А после создания документа он будет доступен в экземпляре документа в переменной blocks_to_pages.