تعلم كيفية إنشاء ملفات PDF من خلال الفجوال بيسك 6

استعرض الموضوع السابق استعرض الموضوع التالي اذهب الى الأسفل

تعلم كيفية إنشاء ملفات PDF من خلال الفجوال بيسك 6

مُساهمة من طرف أحمد مناع في الأحد سبتمبر 22, 2013 10:21 am

بسم الله الرحمن الرحيم

أهلا وسهلا بكم إخوانى الكرام و مرحبا بكم فى درس جديد من دروس منتدى مصر التقنى ....درس اليوم عن كيفية إنشاء ملفات PDF من خلال الفجوال بيسك 6

_ فى البداية قم بتحميل الكلاس الموجود فى المرفقات ....ومن ثم قم بإدراجة فى مشروعك

أولا_ إنشاء ملف pdf بسيط ....ويتم ذلك باستخدام الشفرات البسيطة التالية  :

1_ إنشاء مثيل جديد من المكتبة objPDF وذلك عن طريق الشفرة التالية .

الرمز:
Dim objPDF As New mjwPDF
2_ وضع عنوان للصفحة و ذلك عن طريق الشفرة التالية .

الرمز:
objPDF.PDFTitle = "Test PDF Document"
3_وضع أسم للملف pdf ومسار الحفظ وذلك على النحو التالى .

الرمز:
objPDF.PDFFileName = App.Path & "\test.pdf"
4_بعد ذلك نقوم بتحديد مسار مجلد الخطوط الذى سيتم أستخدامه فى انشاء الملف و ذلك على النحو التالى :

الرمز:
objPDF.PDFLoadAfm = App.Path & "\Fonts"
5_ نقوم بانشاء الملف على النحو التالى :

الرمز:
objPDF.PDFBeginDoc
 
objPDF.PDFSetFont FONT_ARIAL, 15, FONT_BOLD
 objPDF.PDFSetTextColor = vbBlue
 objPDF.PDFTextOut "Egypt Technical Forum .....Project Create a

book in pdf format"
 
objPDF.PDFTextOut
_فى الكود أعلاه بدأنا كتابة مستند pdf من خلال الاسلوب PDFBeginDoc وهذا الاسلوب يجب تمرير تمرير المعطيات التالية :

أ_ تحديد الخط بأستخدام الاسلوب PDFSetFont و الذى يحتاج بدورة الى نوع الخط

FONT_ARIAL و حجم الخط 15 و استايل الخط FONT_BOLD

ب_تحديد اللون المستخدم فى كتابة نص المستند من خلال الاسلوب PDFSetTextColo
ج_ تحديد النص المراد كتابته فى مستند pdf و ذلك من خلال الاسلوب PDFTextOut

_ أخير نقوم بإنهاء المستند و ذلك من خلال الامر PDFTextOut

و النتيجة ستكون على النحو التالى


ثانيا : إضافة خصائص متقدمة

الاكواد السابقة تقوم بانشاء ملف pdf بسيط ....مع ذلك يمكنك إضافة خصائص متقدمة للمستند و ذلك على النحو التالى :

1_ إضافة خصائص للملف ....وذلك على النحو التالى .

الرمز:
objPDF.PDFSetLayoutMode = LAYOUT_DEFAULT
    objPDF.PDFFormatPage = FORMAT_A4
    objPDF.PDFOrientation = ORIENT_PORTRAIT
    objPDF.PDFSetUnit = UNIT_PT
    objPDF.PDFUseOutlines = True
    objPDF.PDFView = True
وتكتب التعليمات السابقة قبل البدء فى تحرير المستند أى قبل استخدام الاسلوب objPDF.PDFBeginDoc .....وهى على النحو التالى :

أ_ الخاصية SetLayoutMode ...وهى خاصية تستخدم لتحديد طريقة عرض صفحات ملف pdf وتأخذ القيم التالية :

_LAYOUT_SINGLE .................لاظهار صفحة واحدة فقط داخل الملف pdf
_LAYOUT_CONTINOUS ........وهى لاظهار الصفحات بدون فواصل فى الملف
_LAYOUT_TWO ..................وتستخدم لعرض صفحتين جنبا الى جنب
_LAYOUT_DEFAULT ............وهى تستخدم لاظهار الصفحات حسب طريقة العرض الافتراضية لبرنامج قراءة ملفات

ب_ الخاصية PDFFormatPage ....وهى خاصية تستخدم لتحديد حجم صفحات ملف pdf وتأخذ القيم التالية :



  FORMAT_A4

  FORMAT_A3

  FORMAT_A5

  FORMAT_LETTER

  FORMAT_LEGAL 

ج_ الخاصية FOrientation ....وتستخدم تلك الخاصية لتحديد كيفية طباعة الملف وتأخذ قيمتين هما

_ ORIENT_PAYSAGE ....للطباعة الافقية
_ORIENT_PORTRAIT ....للطباعة العمودية

د_ الخاصية PDFUseOutlines ....و تستخدم لاتاحة رؤية الاشارات المرجعية فى ملف pdf
ه_ الخاصية PDFView        ..... و تستخدم لفتح ملف pdf بعد ما يتم إنشائه مباشرة

2_ إضافة خصائص عند كتابة الملف pdf

_ إضافة عنوان رئيسى للصفحات وذلك بأستخدام الشفرة التالية :

الرمز:
objPDF.PDFSetFont FONT_ARIAL, 15, FONT_BOLD
        objPDF.PDFSetDrawColor = vbRed
        objPDF.PDFSetTextColor = vbWhite
        objPDF.PDFSetAlignement = ALIGN_CENTER
        objPDF.PDFSetBorder = BORDER_ALL
        objPDF.PDFSetFill = True
        objPDF.PDFCell "http://egy-tech.forumegypt.net", 15, 15, objPDF.PDFGetPageWidth - 30, 40

_ فى السطر الاول قمنا بتحديد نوع وحجم وشكل الخط الذى سيتم استخدامة فى كتابة العنوان الرئيسى
_فى السطر الثانى لعمل خلفية باللون الاحمر للعنوان الرئيسى
_ فى السطر الثالث حددنا لون النص الذى سيتم كتابه فى العنوان الرئيسى
_ فى السطر الرابع قمنا بتحديد موقع نص العنوان الرئيسى فى الصفحة و فى مثالنا جعلنا يكون فى المنتصف
_فى السطر الخامس قمنا بتحديد نوع الاطار حول النص

_أما السطر الاخير فقمنا بكتابة النص المراد اظهار على الصفحات عنوان رئيسى وذلك من خلال الاسلوب PDFCell ويأخذ المعلمات التالية ...الاولى هو النص المراد إظهارة و الثانية هى 15 نقطة لرسم الخلية من ناحية السيار , و الثالثة 15 نقطة لرسم الخلية نزولا من أعلى الصفحة أما الرابعة فنحن نريد أن تكون الخلية بامتداد الصفحة لذلك أستخدمنا  PDFGetPageWidth للحصول على العرض الكامل للصفحة ثم طرح القيمة 30 و هى التى تمثل حدود اليسار 15 و حدود اليمين 15 نقطة ايضا ...أما المعلمة الاخيرة وهى 40 نقطة و هذا عرض الخلية التى سيتم كتابة النص فيه

و النتيجة كما فى الشكل التالى :


_ إنشاء صفحات متعددة

فى غاية يمكنك انشاء صفحات متعدده ...فإن كنا فى أول مثالثا قمنا بإنشاء صفحة من خلال بعض التعليمات البرمجية التى تم كتباتها بين الاسلوبين PDFBeginDoc و الاسلوب PDFEndDoc .....يمكننا أستخدام أستخدام الاسلوب  PDFNewPage لانشاء صفحة جديدة و ذلك على النحو التالى :

الرمز:
objPDF.PDFBeginDoc
      
        objPDF.PDFSetFont FONT_ARIAL, 15, FONT_BOLD
        objPDF.PDFSetTextColor = vbBlue
        objPDF.PDFTextOut "Egypt Technical Forum ..... profitable to create an e-book project"
        
        objPDF.PDFEndPage
        
        objPDF.PDFNewPage
        
       objPDF.PDFSetFont FONT_ARIAL, 15, FONT_BOLD
        objPDF.PDFSetTextColor = vbRed
        objPDF.PDFTextOut "Egypt Technical Forum ..... profitable to create an e-book project"
        
    objPDF.PDFEndDoc

وكما ترون فى الشفرة أعلاه ....قمنا اولا بانهاء الصفحة الاولى باستخدام الاسلوب PDFEndPage ثم بعد ذلك قمنا بإنشاء صفحة جديدة باستخدام الاسلوب PDFNewPage ثم قمنا بالشروع فى انشاء و تنسيق الصفحة فعلنا لون الخط فى الصفحة الثانية باللون الاحمر


_ إضافة إشارات مرجعية .

والهدف منها هو الوصول الى مكان معين فى الصفحة عند النقر على تلك العلامة فمثلا سنقوم بإنشاء 4 إشارات مرجعية فى الصفحة الاولى و ذلك على النحو التالى :

الرمز:
objPDF.PDFSetBookmark "A. Page 1", 0, 0
        objPDF.PDFSetBookmark "A1. Page 1 Halfway down", 1, 300
        objPDF.PDFSetBookmark "A2. End of Page 1", 1, 500
        objPDF.PDFSetBookmark "A2-Sub1.", 2, 800

الاستدعاء الأول إلى PDFSetBookmark يخلق إشارة مرجعية المسمى "A. Page 1". المعلمة المقبل هو عمق هذه المرجعية. ملاحظة: بدء عمق الخاص في 0. المعلمة الأخيرة هو موقف Y إلى حيث الإشارة المرجعية سينتقل الصفحة. فخلق  إشارة مرجعية بعنوان "A. Page 1" الذي يشير إلى أعلى الصفحة 1.

السطر الثانى يخلق إشارة مرجعية بعنوان "A1. Page 1 Halfway down". أنه يحتوي على عمق 1 (لذلك سوف يكون فرعى تحت أول المرجعية لدينا)، وسوف تمرير أسفل الصفحة 300 نقطة.وهكذا بالنسبة باقى الاسطر و إذا قمت بتشغيل البرنامج وسوف تشاهد جميع الإشارات المرجعية خلق مثل هذه الشاشة يظهر.



_ إضافة صورة فى الصفحة .....ويتم ذلك باستخدام الكود التالى :

الرمز:
objPDF.PDFImage App.Path & "\logo.jpg", _
            15, 15, 50, 50, "http://egy-tech.forumegypt.net"
وكما ترى قمنا باستخدام الاسلوب PDFImage لوضع صورة فى الصفحة مع تحديد أسم ومسار الصورة و تحديد موضع الصورة بالنسبة للصفحة ....كما يمكنك اضافة وصلة ويب عند النقر على الصورة يتم فتح رابط الويب


ويوجد مثال بالمرفقات بالاضافة الى الكلاس mjwPDF.cls
المرفقات
Advanced-PDF-Tutorial.zip لا تتوفر على صلاحيات كافية لتحميل هذه المرفقات.(147 Ko) عدد مرات التنزيل 39

ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم

إن فقدت مكان بذورك التي بذرتها يوما ما سيخبرك المطر أين زرعتها ..لذا إبذر الخير فوق أي أرض وتحت أي سماء ومع أي أحد.. فأنت لا تعلم أين تجده ومتى تجده؟! إزرع جميلا ولو في غير موضعه .... فلا يضيع جميلا أينما زرعا .. فما أجمل العطاء... فقد تجد جزاءه في الدنيا أو يكون لك ذخرا في الآخرة

أحمد مناع
.
.

تاريخ التسجيل : 15/02/2011
المساهمات : 809
النقاط : 1478
التقيم : 69
الدولة : مصر
الجنس : ذكر

http://egy-tech.forumegypt.net

الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: تعلم كيفية إنشاء ملفات PDF من خلال الفجوال بيسك 6

مُساهمة من طرف saadalhadi في الأحد سبتمبر 22, 2013 11:39 am

طيب معليش يااستاذ احمد بس انا لو عايز اعمل تصدير من تسكت الي ملف البي دي اف الحسي ده كيف حاعمل الكلام ده وهل هو ممكن وله لا لانو حسي الكلام ده كلام static وليس dynamic

saadalhadi
...
...

تاريخ التسجيل : 14/05/2013
المساهمات : 32
النقاط : 44
التقيم : 0
الدولة : السودان
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: تعلم كيفية إنشاء ملفات PDF من خلال الفجوال بيسك 6

مُساهمة من طرف أبوسجود في الإثنين سبتمبر 23, 2013 11:02 am


المشكلة ان مجلد الخطوط المرفق مع المشروع ليس به خط يدعم اللغة العربية ....فهل من حل ؟

أبوسجود
.....
.....

تاريخ التسجيل : 18/02/2011
المساهمات : 87
النقاط : 162
التقيم : 7
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: تعلم كيفية إنشاء ملفات PDF من خلال الفجوال بيسك 6

مُساهمة من طرف cutegiant في السبت أبريل 19, 2014 2:05 am

اخي العزيز
لو سمحت اريد عمل ملف PDF عن طريق datareport  ارجو الشرح او اعطاء مثالا لو تكرمت ولك جزيل الشكر والعرفان

cutegiant
.
.

تاريخ التسجيل : 18/04/2014
المساهمات : 3
النقاط : 3
التقيم : 0
الدولة : مصر
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

استعرض الموضوع السابق استعرض الموضوع التالي الرجوع الى أعلى الصفحة


 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى