Креветка может генерировать PDFs со ссылками?

Я должен встроить ссылку в сгенерированный PDF в рубине на приложении для направляющих. Существует ли способ сделать это с креветкой?

Чтение об этом, оказывается, что формат креветки был ответом некоторое время, но 0.7.x, повредило это.

формат креветки использует link_annotate(rect, options={}) функция для создания ссылок. Какие опции должны быть переданы в это, чтобы заставить это создавать ссылку в PDF?

править:
Я хотел бы видеть пример кода этого сделанного, если у кого-либо есть тот.

18
задан lillq 10 February 2010 в 21:34
поделиться

2 ответа

Если вы пытаетесь создать ссылку на внешнюю страницу ( http://google.com ), например, вы можете использовать следующее, чтобы разместить ссылку размером 100x100 и размером 5 , 5 от нижнего левого угла страницы с границей 1px:

pdf.link_annotation([100, 100, 5, 5], :Border => [0,0,1], :A => { :Type => :Action, :S => :URI, :URI => Prawn::LiteralString.new("http://google.com") } )

Prawn Format проанализирует текст, переданный методу pdf.text, и найдет html теги. Затем он будет использовать регулярные выражения для анализа целевого текста и текста ссылки и, наконец, создать ссылку, подобную приведенной выше, с ограничивающей рамкой (первый параметр), которая будет соответствовать тексту, находящемуся в тегах. Я не уверен, как вы могли бы добиться этого без формата креветок. Но именно так вы можете создать ссылку с помощью link_annotation.

11
ответ дан 30 November 2019 в 07:38
поделиться

С Креветки 0.7, формат креветки полностью не поддерживается и не будет работа с версиями Prawn 0,7 +. Чувство свободно вилывать и фиксировать, конечно - домашняя страница prawn-format на github

Другой вариант - использовать встроенную в низкоуровневую поддержку аннотаций: http://prawn.majesticseacreature.com/docs/prawn-core/classes/Prawn/Document/Annotations.html#M000158

Метод:

link _ annotation (rect, options = {})

Удобный метод создания Link аннотации. rect должен быть массивом четыре числа, описывающие границы аннотации. Хэш параметров должен включать либо: Dest (описание целевого пункта назначения, обычно в виде последовательности, которая была записано в Dests документа дерево) или: A (описание действия для выполнить щелчок по ссылке) или: PA (для описания URL-адреса для ссылки).

1
ответ дан 30 November 2019 в 07:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: