2014-01-24 5 views
0

Возможно ли связать с внешним внешним документом, который не является файлом PDF из документа PDF?Относительное связывание файлов в PDF (Reportlab)

Я специально думаю что-то вроде таблицы Excel.

В ReportLab я могу добавить что-то вроде

Elements.append(Paragraph("<a href=\"pdf://linkedfile.pdf\">File</a>",style)) 

и он будет успешно ссылки и открыть linkedfile.pdf в той же папке, как мой сгенерированного PDF, однако документация не говоря уже о других каких-либо других типов файлов чем PDF, и, очевидно, xls: // не работает.

Кто-нибудь знает, является ли это ограничение файлов PDF и предотвращается по соображениям безопасности? Или это просто что-то, что ReportLab не поддерживает? Может ли это быть достигнуто путем расширения класса ReportLab?

Спасибо.

ответ

0

Вы пытались использовать файл: // вместо pdf: //?. Я не могу проверить это на данный момент, и это может зависеть от используемого pdf-viewer/файлового менеджера.

0

Это, как я получил относительные ссылки на файлы, работать в ReportLab:

from reportlab.pdfgen import canvas 
from reportlab.lib.units import inch 

# Create a canvas and add a rectangle to it 
c = canvas.Canvas("link_test.pdf") 
c.translate(inch, 9 * inch) 
c.rect(inch,inch,1*inch,1*inch, fill=1) 

# example.xls is in the same directory as the pdf 
c.linkURL(r'example.xls', (inch, inch, 2*inch, 2*inch), relative=1) 
c.save() 

Я использую Adobe Reader 11.0.10.32. Когда я нажимаю на прямоугольник, я получаю несколько предупреждений, но файл открывается после нажатия «Разрешить» и «Да».

Смежные вопросы