Печать отчетов и счетов с помощью Ruby? - PullRequest
4 голосов
/ 24 марта 2009

Я только изучаю Ruby, и мне интересно, как генерировать отчеты и счета-фактуры (с логотипом, полем адреса, нижним колонтитулом, переменным количеством пунктов счета-фактуры (иногда приводящих к более чем одной странице), перенос суммы, подлежащей оплате с одного переходите к следующему, свободно плавающему тексту из 2 столбцов (выровненный влево и вправо) под полученной информацией о наличных деньгах).

В настоящее время я получаю холст для печати и рисования из OperatingSystem (в соответствии со спецификациями принтера) и использую некоторые API-функции рисования, перемещения, строки, текста и форм подачи и выполняю некоторые тяжелые вычисления для textblock- Перемещение (немного похоже на TeX).

Как это будет сделано в Ruby?

Создание .odt и выбросить его в OpenOffice или .tex и выбросить его в LaTeX?

Или есть какие-нибудь бесплатные библиотеки, они все для меня делают, так что мне остается только кормить соответствующие части и позволить Ruby выполнять форматирование текста?

EDIT:

Если говорить более конкретно: я хочу разместить логотип корпорации на первой странице (в формате DIN-A4, но также может быть буквой) в определенной позиции, а также в нижнем колонтитуле на каждой странице и в поле адреса на первая страница. все остальные должны быть свободно плавающими текстовыми блоками с выравниванием по левому и правому краям, жирными словами в середине текста.

что-то вроде

pdf.column.blocktext("Hello Mr. P\nwe have [b]good news[/b] for you. bla bla bla and so on. Please keep this text together (no page break)...");
pdf.column.floatingblock("This is another block, that should be printed, and can be broken over more than one column...");

, который должен отображать текст фирменным шрифтом на бумаге, выравнивать и аккуратно переносить на следующий столбец / страницу, если он достигает нижней части страницы.

Если подумать, это именно то, для чего нужен LaTeX.

Ответы [ 3 ]

3 голосов
/ 24 марта 2009

Вы также можете проверить HtmlDoc для создания PDF-файлов, он просто берет HTML и генерирует PDF-файл из него. Этот подход хорош тем, что позволяет очень легко повторно использовать частичную часть для счета-фактуры на экране и в печатном виде.

http://blog.adsdevshop.com/2007/11/20/easy-pdf-generation-with-ruby-rails-and-htmldoc/

3 голосов
/ 24 марта 2009

Я предлагаю вам рассмотреть возможность создания PDF. В Rails это довольно просто с библиотекой Prawn.

Существует также свежий новый Railcast об этом .

Официальный сайт .

1 голос
/ 26 марта 2009

Библиотека Ruport (Ruby Reports) позволяет довольно легко разбрасывать таблицы отчетов в нескольких форматах, включая PDF. Также имеется хук ActiveRecord acts_as_reportable, который предоставляет вашим моделям интерфейс отчетности.

...