Home Page Creating PDF files with XSL-FO and Delphi
Home
                              XSL-FO Server
                            • Getting started
                            • Versions
                            • How to
                            • XSL-FO Editor
                            • XSL-FO resources
                            • XSL-FO in REALbasic
                            • XSL-FO in Php
                            • XSL-FO in VB 6
                            • XSL-FO in .NET
                            • XSL-FO in Ruby
                            • XSL-FO in Delphi
                            • Usage with APEX
                            • Professional license
                            • XSL-FO in Delphi

                              The following script shows how you can call the FOP server from a Delphi  program:

                              uses  ...... IdHTTP;
                              ...
                              var
                              lHTTP: TIdHTTP;
                              response:TMemoryStream;
                              source: TMemoryStream;
                              xml:AnsiString;
                              begin

                              // input xml data
                              xml:='<?xml version="1.0" encoding="iso-8859-1"?> <departments><department><departmentName>R&amp;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>';


                              lHTTP := TIdHTTP.Create(nil);
                              response:= TMemoryStream.Create;
                              source:= TMemoryStream.Create;

                              // put xml string into a Stream
                              source.WriteBuffer(Pointer(xml)^, Length(xml));

                              // call server
                              lHTTP.Post('http://localhost:8087/J4LFOPServer/servlet?TEMPLATE=departmentEmployees.fo', source,response);

                              // save to PDF file
                              response.SaveToFile('output.pdf');


                              source.free;
                              response.free;
                              lHHTP.free;


                              end;