CREATE OR REPLACE procedure test20 is -- Image l_blob blob; l_image blob; begin plpdf.init('L'); -- initialize: page orientation: landscape, unit (default): mm, default page format (default): A4 plpdf.NewPage; -- begin a new page, without parameters means: page orientation: default (portrait) -- select image from a table select image_file into l_image from IMAGE_BLOB where id = 1 for update; plpdf.PutImage('ora.jpg',l_image,20,20,0,0'); -- put image: name: ora.jpg, x position: 20, y position: 20, size: original plpdf.PutImage('ora.jpg',l_image,20,50,160,80); -- put image: name: ora.jpg, x position: 20, y position: 20, size: width: 160, height: 80 plpdf.SendDoc(l_blob); -- create content -- print /* owa_util.mime_header('application/pdf'); 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; /