program GeneratingInMemory;

{$APPTYPE CONSOLE}

uses

SysUtils, Graphics, Classes, HPDFDoc;

 

var

HPDF: THotPDF;

MemStream: TMemoryStream;

OutputStream: TFileStream;

begin

HPDF:= THotPDF.Create(nil);

try

MemStream := TMemoryStream.Create; // Create memory stream

try

HPDF.OutputStream := MemStream; // Aseta tulostusvirta

HPDF.Compression := cmFlateDecode; // Aseta flate-pakkaus

 

HPDF.BeginDoc; // Start PDF generation

HPDF.CurrentPage.TextOut(10, 10, 0, 'Hello World!'); // Kirjoita tekstiä sivulle

HPDF.EndDoc; // Viimeistele PDF muistissa

 

MemStream.Position := 0; // Kelaa alkuun ennen kopioimista tiedostovirtaan

 

OutputStream := TFileStream.Create( 'Memory.pdf', fmCreate ) ; // Luo tulostetiedostovirta

try

OutputStream.CopyFrom( MemStream, MemStream.Size ); // Kopioi luotu PDF-tiedosto muistista

finally

OutputStream.Free; // Close output filestream

end;

finally

MemStream.Free; // Vapauta muistivirta

end;

finally

HPDF.Free;

end;

end