|
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 |