JagPDF is a free, open source library for generating PDF documents. C, C++, Python and Java are supported on x86/Linux and x86/Windows.