An open API service indexing awesome lists of open source software.

https://github.com/westonganger/prawn_invoice

Dead simple Prawn based PDF invoice generator with support for custom invoice templates
https://github.com/westonganger/prawn_invoice

invoice invoice-builder invoice-generator prawn prawn-pdf rails ruby

Last synced: about 2 months ago
JSON representation

Dead simple Prawn based PDF invoice generator with support for custom invoice templates

Awesome Lists containing this project

README

          

# Prawn Invoice

Gem Version
Build Status
RubyGems Downloads
Buy Me a Coffee

Dead simple Prawn based PDF invoice generator with support for custom invoice templates

- Dead simple setup and configuration
- Custom Templates
- Optional Rails Integration

# TBD

- Implement the `:default` invoice template
- Document & Finalize template schema implementation

# Usage

```ruby
@data = {}

File.write("path/to/invoice.pdf", wb) do |f|
f.write PrawnInvoice.to_pdf(data: @data)
end

PrawnInvoice.to_pdf_file(filename: "path/to/invoice.pdf", data: @data)
```

Or use in your Rails controllers

```ruby
class InvoiceController < ApplicationController
def index
@data = {}

render pdf: PrawnInvoice.to_pdf(data: @data)
end
```

# Custom Templates

Custom invoice templates classes can be implemented as required.

Use the `:default` template class as an example:

https://github.com/westonganger/prawn_resume/blob/master/lib/prawn_resume/templates/default.rb

Once implemented use it like so:

```ruby
PrawnInvoice.to_pdf(data: @data, template: :default)

# OR

PrawnInvoice.to_pdf(data: @data, template: PrawnInvoice::Templates::Default)
```

# Credits

Created & Maintained by [Weston Ganger](https://westonganger.com) - [@westonganger](https://github.com/westonganger)

For any consulting or contract work please contact me via my company website: [Solid Foundation Web Development](https://solidfoundationwebdev.com)

[![Solid Foundation Web Development Logo](https://solidfoundationwebdev.com/logo-sm.png)](https://solidfoundationwebdev.com)