|
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; // Set output stream HPDF.Compression := cmFlateDecode; // Set flate compression
HPDF.BeginDoc; // Start PDF generation HPDF.CurrentPage.TextOut(10, 10, 0, 'Hello World!'); // 페이지에 텍스트 쓰기 HPDF.EndDoc; // 메모리에서 PDF 마무리
MemStream.Position := 0; // 파일 스트림으로 복사하기 전에 처음으로 되감기
OutputStream := TFileStream.Create( 'Memory.pdf', fmCreate ) ; // Create output filestream try OutputStream.CopyFrom( MemStream, MemStream.Size ); // 메모리에서 생성된 PDF 복사 finally OutputStream.Free; // 출력 파일 스트림 닫기 end; finally MemStream.Free; // 메모리 스트림 해제 end; finally HPDF.Free; end; end. |