2015-02-24 3 views
0

У меня есть динамический отчет в формате PDF, который дает ежемесячный отчет нашей базы данных. Я использую Prawn для создания отчета в формате PDF.Prawn - Уменьшить содержимое, чтобы оно помещалось на одной странице

Ежемесячный отчет может содержать максимум 90 строк (максимум 3 в день). Также могут быть дни без записи. Таким образом, количество строк в ежемесячном отчете очень динамично.

Клиент нуждается в отчете в одной странице PDF. Они не заботятся, если размер шрифта становится очень маленьким или высота строки очень мала. Но содержимое должно соответствовать одной странице.

Они показали примеры PDF, которые создаются с использованием их предыдущего приложения. В них создается впечатление, что они создают таблицу с фиксированным размером шрифта и высотой строки и т. Д., И они каким-то образом масштабируются, так что PDF имеет некоторые пробелы в правой части страницы, но он вписывается в одну страницу.

Что-то вроде этого: Something like this

Есть ли способ для достижения этой цели в Prawn?

ответ

1

Необходимая компоновка страницы может быть легко достигнута с помощью PD4ML's API-интерфейса fitPageVertically() API, но подход PD4ML значительно отличается от креветок.

С PD4ML вам необходимо сгенерировать HTML-документ с данными/таблицей отчета (не так сложно сделать), а затем передать его PD4ML для преобразования в PDF.

PD4ML в сценарии Ruby можно запустить как автономное приложение конвертера.