CREATE OR REPLACE procedure test13 is -- Get text width l_blob blob; l_length number; l_text varchar2(255); begin plpdf.init; -- initialize, without parameters means: page orientation: portrait, unit: mm, default page format: A4 plpdf.NewPage; -- begin a new page, without parameters means: page orientation: default (portrait) plpdf.SetPrintFont('Arial',null,12); -- set font attributes: family: Arial, style: regular, font size: 12 l_text := 'Hello World!'; l_length := plpdf.GetTextWidth(l_text); -- get text width plpdf.PrintCell(50,10, l_text || ' - text length: ' || to_char(l_length)); -- print text: cell size:50*10 plpdf.SendDoc(l_blob); -- create content -- print -- plpdf_util.print_blob(l_blob); -- or store insert into STORE_BLOB (blob_file, created_date) values (l_blob, sysdate); commit; end; /