Wednesday, October 7, 2009

PDFXMLRPC is programmable

By Vasudev Ram

After posting the original announcement about PDFXMLRPC, I also posted details about it on the reportlab-users mailing list. A user there replied suggesting that I post the same details (which I'd posted on the mailing list), on my blog, since it described PDFXMLRPC better than my original blog post (the main difference being that I emphasized the programmability in the list post). So here it is, below:



I'm happy to announce the release of v1.0 of PDFXMLRPC, a client-server application that lets users create PDF content from text, over the Internet or their intranet, using Reportlab, xtopdf, XML-RPC and Python.

Usage example for PDFXMLRPC:

You can run the server on one computer which is connected to the Internet.

You can run the client on another computer which is connected to the Internet.

When you run the client, it sends text content to the server. The server then converts this text to PDF, and sends that PDF content back to the client over the Internet. The client then writes that PDF content to a local PDF file, which the user can then open / print / etc. (But also see the part about callability (i.e., programmability) of both the client and server below.)

The announcement of PDFXMLRPC is here on my blog:

http://jugad2.blogspot.com/2009/10/client-server-pdf-creation-with-xtopdf.html

That blog post has a link to a zip file that you can download, which contains the PDFXMLRPC package.

The zip file contains the following files:

- PDFXMLRPCServer.py - the server
- PDFXMLRPCClient.py - the client
- README.txt - documentation of the prerequisites needed (*), the URLs to get them from, the steps to install PDFXMLRPC, and steps to run the server and the client.
- License.txt - the license file (PDFXMLRPC is released under the BSD License)

(*) The prerequisites are:

- xtopdf v1.0, Reportlab v1.x and Python 2.x or higher for the server

- Python 2.x or higher for the client

(XML-RPC is required for both the client and the server, but since it is included in the standard Python library, I don't treat it as a separate prerequisite).

Although both the server and the client programs contain main() functions, and therefore both can be run as standalone programs, they are also both callable. There is one "top-level" class in each of the server and the client - PDFXMLRPCServer and PDFXMLRPCClient respectively.

The main() functions in the server and client, act as examples of how to call those classes.

Since the classes are callable, you can incorporate the functionality of the server and the client, into your own larger programs, to get the functionality of client/server PDF creation over the Net, in your own applications.

I welcome any feedback on this software. You can contact me via my contact page: http://www.dancingbison.com/contact.html .

Finally, thanks a lot to the Reportlab team and all the users who've helped improve Reportlab, for their work. And thanks a lot to the Python team and users as well.

Thanks,
Vasudev





Vasudev Ram - Dancing Bison Enterprises

Add to FacebookAdd to DiggAdd to Del.icio.usAdd to StumbleuponAdd to RedditAdd to BlinklistAdd to TwitterAdd to TechnoratiAdd to Yahoo BuzzAdd to Newsvine

No comments: