The following script shows how you can call the FOP server from a Ruby program:
require 'net/http'
# connection data to server
http = Net::HTTP.new('localhost', 8087)
# URL and XSL-FO file name
path = '/J4LFOPServer/servlet?TEMPLATE=departmentEmployees.fo'
headers = {'Content-Type' => 'text/xml'}
# input xml data
xml="<?xml version=\"1.0\" encoding=\"iso-8859-1\"?> <departments><department><departmentName>R&D</departmentName> <person> <name>John Schmidt</name> "
xml=xml +"<address>Red street 3</address> <status>A</status> </person> <person> <name>Paul Bones</name> <address>White street 5</address> <status>A</status> "
xml=xml +"</person> <person> <name>Mark Mayer</name> <address>Blue street 5</address> <status>A</status> </person> <person> <name>Janet Black</name> "
xml=xml +"<address>Black street 8</address> <status>I</status> </person></department><department> <departmentName>Sales</departmentName> <person> "
xml=xml +"<name>Juan Gomez</name> <address>Green street 3</address> <status>A</status> </person> <person> <name>Juliet Bones</name> <address>White street 5</address> "
xml=xml +" <status>A</status> </person></department></departments>"
# call xsl-fo server now
resp,pdfdata = http.post(path, xml, headers)
if (resp.code == '200')
# save pdf data
pdffile = File.new("output.pdf", 'wb')
pdffile.puts pdfdata
pdffile.close
end
|