Vsaka knjižnica PDF vsebuje primer »hello world« in HotPDF-jev je vreden podrobnejše obravnave. Že najmanjši program, ki naredi karkoli, vas namreč prisili v dve odločitvi, ki ju boste ponovili v vsakem naslednjem dokumentu: katero pisavo nastaviti in kje na strani naj se besedilo izpiše. Če pravilno nastavite ti dve zadevi, je preostanek vmesnika API le variacija na to temo. Tukaj je celotna koda, konzolni program, ki ustvari eno stran z pozdravom bralcu v skoraj ducatu jezikih:
program HelloWorld;
{$APPTYPE CONSOLE}
uses
Winapi.Windows, // for DEFAULT_CHARSET; on pre-XE2 Delphi use plain Windows
HPDFDoc; // HotPDF main unit
procedure CreateHelloWorld(const FileName: string);
var
Pdf: THotPDF;
begin
Pdf := THotPDF.Create(nil);
try
Pdf.FileName := FileName;
Pdf.Compression := cmFlateDecode; // shrink the content streams
Pdf.FontEmbedding := True; // embed the face so it renders anywhere
Pdf.BeginDoc;
// One face covering many scripts. The 4th argument is the Windows charset;
// DEFAULT_CHARSET lets the system pick glyphs per string.
Pdf.CurrentPage.SetFont('Arial Unicode MS', [], 14, DEFAULT_CHARSET);
// TextOut measures from the BOTTOM-LEFT corner, in points, Y growing upward.
Pdf.CurrentPage.TextOut(72, 760, 0, 'Hello, Delphi PDF world!'); // English
Pdf.CurrentPage.TextOut(72, 730, 0, 'Hola, mundo Delphi PDF!'); // Spanish
Pdf.CurrentPage.TextOut(72, 700, 0, 'Hallo, Delphi PDF Welt!'); // German
Pdf.CurrentPage.TextOut(72, 670, 0, 'Bonjour, monde PDF Delphi!'); // French
Pdf.CurrentPage.TextOut(72, 640, 0, 'Ciao, mondo Delphi PDF!'); // Italian
Pdf.CurrentPage.TextOut(72, 610, 0, 'Olá, mundo Delphi PDF!'); // Portuguese
Pdf.CurrentPage.TextOut(72, 580, 0, 'Здравствуйте, Delphi PDF мир!'); // Russian
Pdf.CurrentPage.TextOut(72, 550, 0, 'こんにちは、Delphi PDFの世界!'); // Japanese
Pdf.CurrentPage.TextOut(72, 520, 0, 'Merhaba, Delphi PDF dünyası!'); // Turkish
Pdf.CurrentPage.TextOut(72, 490, 0, '你好,Delphi PDF世界'); // Chinese
Pdf.CurrentPage.TextOut(72, 460, 0, '여보세요, Delphi PDF 세계!'); // Korean
Pdf.EndDoc;
finally
Pdf.Free;
end;
end;
begin
CreateHelloWorld('HelloWorld.pdf');
Writeln('Wrote HelloWorld.pdf');
end.

To je celoten primer. Povezava THotPDF.Create(nil) z try/finally ... Free je običajen vzorec lastništva v Delphi in PDF tega ne spreminja. Pozornost si zasluži predvsem ogrodje iz štirih korakov: nastavitev lastnosti, BeginDoc, risanje in EndDoc. Vrstni red ni zamenljiv.
Nastavite lastnosti dokumenta pred klicem BeginDoc
BeginDoc je trenutek, ko HotPDF potrdi strukturo dokumenta, zato je treba vse, kar vpliva na celotno datoteko, nastaviti pred tem. Lastnost Compression := cmFlateDecode vklopi stiskanje FlateDecode za toke vsebine, kar predstavlja razliko med kompaktno datoteko in nepotrebno preveliko datoteko. Lastnost FontEmbedding := True zapakira pisavo, s katero rišete, v datoteko, tako da je dokument videti enako na računalniku, ki nima nameščene pisave Arial Unicode MS, kot na vaši napravi. Če katerokoli od teh lastnosti določite po klicu BeginDoc, to tiho ne bo imelo učinka na že začeti dokument, brez kakršnegakoli opozorila o napaki.
SetFont, nato TextOut in pazite na izhodišče
Dve stvari pri klicih za risanje presenetita vsakogar na njegovi prvi strani. Prva je vrstni red: SetFont se mora izvesti pred vsakim klicem TextOut, ki je odvisen od njega, in ga je treba ponoviti po vsakem klicu AddPage, saj trenutna pisava ne preživi preloma strani. Druga stvar je koordinatni sistem. Klic TextOut meri od spodnjega levega kota strani in ne od zgornjega levega, pri čemer se Y povečuje navzgor, v točkah (1/72 palca). Zato se vrstice tukaj pomikajo navzdol od 760, pri čemer je vsaka 30 točk pod prejšnjo. Vsakdo, ki prihaja iz sveta zaslonske grafike, predpostavlja nasprotno in izpiše prvo vrstico naravnost čez spodnji rob.
Ena pisava, več pisnih sistemov
Razlog, da lahko en sam klic SetFont podpira latinico, cirilico, japonščino in kitajščino na isti strani, je sama pisava: Arial Unicode MS združuje glife za skoraj vsak pisni sistem v eni datoteki. Četrti argument za SetFont je nabor znakov Windows in prenos vrednosti DEFAULT_CHARSET omogoča sistemu, da izbere glife za vsak niz posebej, namesto da bi vse vezal na eno zastarelo kodno tabelo. Ta priročnost pa prinaša dve opozorili. Pisava mora biti prisotna na računalniku, ki gradi PDF, saj HotPDF vgradi tisto pisavo, ki jo operacijski sistem poveže s tem imenom; če pisave Arial Unicode MS ni, Windows tiho uporabi nadomestek, vaše besedilo CJK pa se lahko izpiše kot prazni kvadratki. Prav tako ne podpira vseh pisav enako: za pisanje od desne proti levi, kot sta arabščina in hebrejščina, ali za karkoli, kar zahteva kompleksno oblikovanje besedila, morate uporabiti namensko pisavo, naloženo z RegisterUnicodeTTF, in klicati funkcije za besedilo od desne proti levi, kar je tema zase.
Zaženite program in v delovnem imeniku boste prejeli datoteko HelloWorld.pdf: ena stran, nekaj vrstic večjezičnega besedila, stisnjeno in z vgrajeno pisavo. Očitni naslednji koraki so določanje velikosti, sloga in rotacije tega besedila ter načrtna postavitev več blokov besedila, kar obravnava vzorec TextOut. Ko želite namesto samega besedila risati črte, okvirje in slike, isti objekt strani vsebuje tudi te klice.
Klici TextOut, SetFont in klici dokumenta, prikazani tukaj, so del komponente HotPDF Component za Delphi in C++Builder.