By Vasudev Ram
This program, MongoDBToPDF.py, is a demo of how to publish MongoDB (Wikipedia) data to PDF, using my xtopdf toolkit for PDF creation from other data formats.
To run this program, you need to have Python, Reportlab, xtopdf and MongoDB installed on your system.
Here is the MongoDBToPDF program:
# MongoDBToPDF.py # Program to publish MongoDB data to PDF using xtopdf. # Author: Vasudev Ram - http://www.dancingbison.com # Copyright 2013 Vasudev Ram from PDFWriter import PDFWriter import pymongo from pymongo import MongoClient # Create a PDFWriter object and set some of its fields. pw = PDFWriter("MongoDB_data.pdf") pw.setFont("Courier", 12) pw.setHeader("MongoDB data to PDF") pw.setFooter("Generated by xtopdf") # Connect to MongoDB database. client = pymongo.MongoClient("localhost", 27017) db = client.test # Create a collection. persons = db.persons # Add some data to it. db.persons.save({"Name": "Tom", "Age": 10}) db.persons.save({"Name": "Dick", "Age": 20}) db.persons.save({"Name": "Harry", "Age": 30}) # Loop over the collection and print the items to the screen. for item in db.persons.find(): print item["Name"], item["Age"] # Create an index on the Name field. db.persons.create_index("Name") # Loop over the sorted items and print them to PDF. for item in db.persons.find().sort("Name", pymongo.ASCENDING): pw.writeLine(item["Name"] + " | " + str(item["Age"])) pw.close() # EOF
Save the above program as MongoDBToPDF.py .
Start the MongoDB server (daemon / service) if it is not already running, with:
mongod
You can now run the program with:
python MongoDBToPDF.pyThe output will be in the file MongoDB_data.pdf, which you can view in any suitable PDF viewer, such as Adobe Reader or Foxit PDF Reader.
The above program does the following, broadly speaking:
- creates a PDFWriter instance
- connects to a MongoDB database
- creates a collection and populates it with some person data for the demo
- creates an index on the Name field
- sorts the data on the Name field and prints the data to PDF
According to the Wikipedia article linked above, Craigslist, SAP, Forbes, The New York Times, SourceForge, The Guardian, CERN, Foursquare and eBay are some organizations that use MongoDB.
Read all xtopdf posts on jugad2.
Read all Python posts on jugad2.
- Vasudev Ram - Dancing Bison Enterprises
Contact me
No comments:
Post a Comment