Моя основная цель - иметь все изображения на странице, чтобы они действовали так, как если бы они были интерактивными ссылками. Чтобы сделать это, я бы создал canvas.linkRect() и поместил его поверх визуализированного изображения. Вот пример того, как я использую canvas.linkRect():Возможно ли получить координатную позицию Flowable после ее рендеринга с помощью ReportLab.platypus?
canvas.linkURL(
url='url_goes_here',
rect=(x1, y1, x2, y2), #(x1, y1) is the bottom left coordinate of the rectangle, (x2, y2) is the top right
thickness=0, relative=1
)
Посмотрев в классе BaseDocTemplate, я нашел метод, называемый afterFlowable (я, текучий). Я отменяю этот метод и под названием директорию() на текучем прошли в, в результате чего в этом:
['__call__', '__doc__', '__init__', '__module__', '_doctemplateAttr',
'_drawOn', '_fixedHeight', '_fixedWidth', '_frameName', '_hAlignAdjust',
'_showBoundary', '_traceInfo', 'action', 'apply', 'draw', 'drawOn', 'encoding',
'getKeepWithNext', 'getSpaceAfter', 'getSpaceBefore', 'hAlign', 'height',
'identity', 'isIndexing', 'locChanger', 'minWidth', 'split', 'splitOn', 'vAlign',
'width', 'wrap', 'wrapOn', 'wrapped']
Он имеет ширину и атрибут высоты я мог бы использовать, чтобы определить, насколько велика linkRect() должна быть (что x2 и y2 должно быть), но нет информации о том, где начинается текучесть (какими должны быть x1 и y1?).
Если все остальное не удается, я подумал о том, чтобы каким-то образом связать Frame и Image Flowable вместе, так как Frame имеет информацию, которую я хочу создать linkRect(). Тем не менее, кажется, было бы непросто узнать, когда и как заказать список фреймов с соответствующим списком Flowables, помимо того, что нужно точно знать, где разместить эти фреймы для изображений. Есть ли другой способ достичь этого или это невозможно?
Спасибо!