CREATE OR REPLACE procedure test34 is -- PageNumber -- Logical Page | Command | PageNo -- 1 - 1/2 -- 2 end 2/2 -- 3 - - -- 4 - - -- 5 start 1/4 -- 6 - 2/4 -- 7 - 3/3 -- 8 - 4/4 -- 9 start 1/2 -- 10 - 2/2 --------------- l_blob blob; begin plpdf.init; -- initialize, without parameters means: page orientation: portrait, unit: mm, default page format: A4 Plpdf.nopAlias; -- set alias for "number of pages" (default) Plpdf.SetHeaderProcName('xheader',10); -- set header creator procedure Plpdf.SetFooterProcName('xxfooter',10); -- set footer creator procedure Plpdf.NewPage; -- 1 Plpdf.SetPrintFont('Arial',NULL,12); -- set font attributes: family: Arial, style: regular, font size: 12 Plpdf.PrintCell(50,10,'Hello World! 1'); -- print text: cell size:50*10 Plpdf.NewPage; -- 2 plpdf.SetPageNoEnd; -- 2 Plpdf.PrintCell(50,10,'Hello World! 2'); -- print text: cell size:50*10 Plpdf.NewPage; -- 3 Plpdf.PrintCell(50,10,'Hello World! 3'); -- print text: cell size:50*10 Plpdf.NewPage; -- 4 Plpdf.PrintCell(50,10,'Hello World! 4'); -- print text: cell size:50*10 Plpdf.NewPage; -- 5 plpdf.SetPageNoStart; -- 5 Plpdf.PrintCell(50,10,'Hello World! 5'); -- print text: cell size:50*10 Plpdf.NewPage; -- 6 Plpdf.PrintCell(50,10,'Hello World! 6'); -- print text: cell size:50*10 Plpdf.NewPage; -- 7 Plpdf.PrintCell(50,10,'Hello World! 7'); -- print text: cell size:50*10 Plpdf.NewPage; -- 8 Plpdf.PrintCell(50,10,'Hello World! 8'); -- print text: cell size:50*10 Plpdf.NewPage; -- 9 plpdf.SetPageNoStart; -- 9 Plpdf.PrintCell(50,10,'Hello World! 9'); -- print text: cell size:50*10 Plpdf.NewPage; -- 10 Plpdf.PrintCell(50,10,'Hello World! 10'); -- print text: cell size:50*10 plpdf.SendDoc(l_blob); -- create content -- print /* owa_util.mime_header('application/pdf',false); htp.p('Content-Length: ' || dbms_lob.getlength(l_blob)); owa_util.http_header_close; wpg_docload.download_file(l_blob); */ -- or store insert into STORE_BLOB (blob_file, created_date) values (l_blob, sysdate); commit; end; /