Archive

Archive for the ‘project’ Category

Convert your wordpress blog to a PDF book

March 5, 2011 6 comments

Problem

You have a wordpress blog (.com or .org), and you would like to convert the whole blog to a PDF book. That is, convert every post to PDF and then join the pieces. The final result should be a single PDF, like a book.

Related work

An easy, simple, and free solution is offered by LJBook. Just upload your exported blog, and they generate a single PDF out of it.
However, I had a problem with it. My blog contains lots of source codes and unfortunately those blocks are not treated correctly by LJBook. So, I had to find another solution.

My solution

Here is a sample PDF and my whole blog (up to March 6, 2011). With my method, you can generate such an output.

The current version of the script (written in Python) is available here.

Steps to follow:

  • Download the script above and put it in a directory. In this directory, create a subdirectory called “pieces“. The script will download the HTML files here, and the PDF outputs are also stored in this subdirectory.
  • Customize the beginning of the script: blog name, username, password, etc.
  • The HTML to PDF conversion is done with WKhtmlToPDF. Here you will find more info about this tool and how to get it. Download it and store the binary here: /opt/wkhtmltopdf/wkhtmltopdf-i386.
  • Optional: disable the side bar on your wordpress blog. I don’t think you want to see the side bar on each page in the PDF book :) Refer to this post to figure out how to hide the side bar.
  • Now everything is set, you can launch the script. If everything is fine then the script will download each public post on your blog and convert them to PDF. Warning! When you launch the script, it will delete all *.html and *.pdf files in the directory “pieces“!
  • Once you have all the PDFs, enter the directory “pieces” and join the PDFs: “pdftk *.pdf cat output book.pdf“. If you don’t have pdftk, install it (sudo apt-get install pdftk).
  • When ready, don’t forget to set back the side bar on your blog.
  • You might want to edit the final PDF. It is almost sure that it will contain some empty pages; you can remove them with a PDF editor.

Archives List Generator for wordpress.com

February 23, 2011 2 comments

Problem

I wanted to have an “Archives” page that lists the titles of my posts. This way, I could find the post I’m looking for much easier. Unfortunately I didn’t find this functionality on wordpress.com. I was searching for a solution and I found WordPress ListMaker v2. However, the author provides an EXE only and his program requires your username. This is something I would never give out… On the other hand, I use Linux, so I prefer open source solutions.

So I’ve decided to write a Python script that produces an HTML output, similar to WordPress ListMaker v2.

Demo

You can see my Archives list here. It was generated with my script.

Download

Visit https://github.com/jabbalaci/Archives-List-Generator. Source code is here.

Solution

In a previous post I showed how to get the list of your blog posts. This script is an extended version, it simply produces a formatted HTML output.

Usage:

Modify the beginning of the script: precise the address of your blog, your username, password, etc. Then just simply execute the script. You can redirect the output to a file, then paste the contents of the file to your wordpress.com blog.

[ @reddit ]

Categories: project, python, wordpress Tags: ,
Follow

Get every new post delivered to your Inbox.

Join 73 other followers