السلام عليكم ورحمة الله وبركاته
هناك طريقتين لتعامل مع ملفات ال pdf
الاولي : استدعاء الملف داخل شاشة بoracle forms
الثانية : استدعاء الملف ليفتح خارج الشاشة الخاصة بoracle forms
ام عن الطريقة الثانية وهي عن طريق الامر التالي
APPID:=DDE.APP_BEGIN('C:\Program Files (x86)\Adobe\Acrobat Reader DC\Reader\AcroRd32.EXE '||:global.v_filename,DDE.APP_MODE_MAXIMIZED);
ملاحظة
:global.v_filename مسار الملف الذي سيتم استدعائة
مسار ملف الاكروبات الخاص بنسخة ال pdf
'C:\Program Files (x86)\Adobe\Acrobat Reader DC\Reader\AcroRd32.EXE
اما عن الطريقة الاولي وهي فتح محتوي الملف ال pdf في نفس الشاشة الخاصة بال form
فتكون كتالي
1 انشاء كائن من نوع ole
2 يتم استخدام الكود التالي لاستدعاء الملف وعرضة
declare
picitem ole2.obj_type;
dirname varchar2(255);
v_filename varchar2(255); -- اسم الملف الذي سيتم اختيارة
ole_item ITEM;
begin
tool_env.getvar('DEMO60', dirname);
dirname := dirname || '\img';
v_filename := get_file_name(dirname,NULL,
'All Files (*.*)|*.*|' ||
'JPEG Files (*.jpg)|*.jpg|' ||
'Bitmap Files (*.PDF)|*.PDF|' ||
'TIFF Files (*.tif)|*.tif|' ||
'CompuServe Files (*.gif)|*.gif|' ||
'PC Paintbrush Files (*.pcx)|*.pcx|' );
if v_filename is not null then
ole_item := FIND_ITEM('OLE1');
IF NOT ID_NULL(ole_item) THEN
Forms_OLE.Initialize_Container(ole_item, v_filename);
END IF;
IF Forms_OLE.Server_Active(ole_item) = FALSE THEN
Forms_OLE.Activate_Server(ole_item);
END IF;
--
--Forms_OLE.Exec_Verb(ole_item,'Edit');
--
end if;
ارجو ان يكون هذا هو المطلوب