News and Blog

Convert HTML to PDF Ruby on Rails

February 2nd, 2010 » 5 Comments »

Need to archive an HTML page?  Thinking that PDF might be the best way to go about doing it?  Hate the thought of dealing with PDF libraries and Ruby?  You might be in luck.  There is a web service that does PDFmyURL.  We will be doing some experimentation for a project and if it goes as expected we will release a gem in the near future.  Let us know if you have seen something better.

5 Responses to “Convert HTML to PDF Ruby on Rails”

  1. rubes_mn says:

    I could absolutely use this. Looking at all the
    options out there to convert from html: princeXML,
    HTMLDOC, wkhtmltopdf, none are that desireable
    primarily due to cost and/or deployment issues. I
    prefer a web service and especially since what I’m
    converting has no PII or security concerns.

  2. Josh Chaney says:

    Would love to see this gemified! I have tried Prawn and it’s awful. I would much rather write HTML and convert it. Have you guys tested it with large ( 50+ ) pages? I found that most applications that can convert a website to PDF ( like Paparazzi! ) tend to bomb and spit out blank pages. I know the scenario is unlikely for a typical website, but I ran into this exact problem trying to generate PDFs from large HTML reports.

  3. Kristian Mandrup says:

    One of my first gems was a kind of addon to
    prawn-format which I called prawn-assist.

    http://github.com/kristianmandrup/Prawn-assist

    I am planning to update it one of these days,
    converting it into a gem with a nice DSL.

    It functions by stripping out a some html tags
    which don’t have meaning for pdf generation, then
    converts certain html tags to related prawn-format
    tags and some prawn constructs. Works ok for simple
    html cases. I know there are some css gems out
    there which could be used in combination to apply
    css styling to the pdf…

  4. Kristian Mandrup says:

    I am now working on a rework of prawn-assist called
    prawn-html. Feel free to join in the effort or provide
    feedback, suggestions etc ;)

  5. Mark Duncan says:

    I’ve had a lot of success using Flying Saucer
    (https://xhtmlrenderer.dev.java.net/) with ruby-java bridge (http://rjb.rubyforge.org/). It’s damn close to acid compliant and even includes some css3 stuff for page layout. Rjb doesn’t play nicely with passenger so I had to use backgroundrb on the live servers but compared to the learning curve/limitations of itext/prawn it looks by far the easiest way to go.

Leave a Reply

What People are Saying

"We love working with Integrum — they always get excited about new projects and changes we want to make to the site, and their enthusiasm for web design and development really shows. They’re also great at explaining things in “layman’s terms” for those of us who aren’t so tech-savvy."

— Jackie, www.rattlebox.com

Announcements

So…you’d like to work for Integrum?

With a stable of long term clients and growth on the mobile development side as well, Integrum is looking to bring more talented developers to our team.  We’re currently looking for Rails developers from n00b to the cliched ‘rockstar’ level.

We do real Agile (capital A because we don’t fake it) and SCRUM development, so you’ll have to be comfortable talking with clients on a regular basis.  If you’ve got an interest in iPhone or Android development to go along with the Rails stuff, that’s a nice bonus too.

These are full time positions, on-site at our office in Chandler, Arizona. Benefits, perks, Pac-Man, we’ve got all those. Salary is dependent on experience.

Ready to apply? Here’s our job application — a little test.

Below is what you will find in the README for the job application on github.

Please note that these tests all require some basic Ruby knowledge. If you don’t know ruby, take a few minutes to learn the basics. You will need to have Ruby, rubygems, RSpec installed, and Factory Girl installed.
In order to be considered for a position at Integrum, you must follow these steps.

1.    Fork this repository (if you don’t know how to do that, google is your friend)
2.    In the refactor-this directory you will find some Ruby code that needs to be refactored.

  • A test suite is included with failing specs.
  • Please refactor this code, this is real code we found in a real project that could be much more readable and intuitive.
  • Run spec helper_spec.rb to execute your specs and see if they are passing.
  • Please note: feel free to change the specs, but they should all be passing when you turn in your code.

3.    In the github-challenge directory, please create a Ruby script that accomplishes the following:

  • Connect to the github API
  • Find the rails/rails repository
  • Find the most recent commits
  • Print out HTML that groups the recent commits by author.

4.    Add your resume to the resume directory
5.    Commit and Push your code to your new repository
6.    Send us a pull request, we will review your code and get back to you

For more information, contact Chris Conrey at conrey@integrumtech.com or hr@integrumtech.com.

MountainWest RubyConf 2009

We’re sponsoring this years MountainWest RubyConf, March 13-14. Are you going? You should be there – we will be! For more information visit http://mtnwestrubyconf.org/2009/.

Gangplank Hacknight

What is Hacknight? The best way to find out is show up. It is whatever we make it.

Gangplank Academy

Come to Gangplank, same address as Integrum, each Wednesday at 11:45 a.m. for brown bag lunch and a presentation.

Calling all Rails Nerds!

We want you (to work for us)! Drop us a line at hr@integrumtech.com.


Press Room

Integrum wins Small Business of the Year award

How do you know a company deserves an award? When the staff is so focused on going above and beyond for clients, they miss the call from the city notifying them they’ve won.

Fortunately, the City of Chandler was able to track the staff at Integrum down and award them the 2010 Small Business of the Year award at a banquet held last Wednesday.

The 23rd Annual Awards Dinner took place at the Crowne Plaza San Marcos Resort in downtown Chandler. The event celebrates individual and business excellent in the community. Integrum was chosen based on the company’s contributions to the growth of the local economy, high quality service and innovations in the field of software development. Additionally, Integrum was recognized for the company’s community involvement through its nonprofit, Gangplank.

Jade Meskill and Derek Neighbors were on hand to accept the award.

Where We’re At:

  1. Hacknight Every Wed.
  2. Gangplank Academy Brownbag Every Wed.
  3. Boulder Startup Week May 4th-7th

Updates