تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[كود] اريد كود إرسال البيانات من الفيجوال بيسك إلىPDF
#1
السلام عليكم ورحمه الله وبركاته 
شكرا لكم لهذا المنتدى الرئع الذى استفدت منه كثير 
 
ولكن بدى طلب طريقة تصدير ملفات الفورم الى PDF 
بتنسيق معين 
وجدت شرح على يوتيوب ولكن التصدير كان 
للورد وبه بعض العيوب 
https://www.youtube.com/watch?v=andDjzYHHC4&feature=share

اريد طريقة مشابة ولكن لل PDF 
ويارت يكون شرح مبسط جدا جدا حتى يستفيد الاعضاء 
والزوار 
صورة البرنامج ورابط التحميل 
واذا فى اى تعديل حابين تعدلوه على البرنامج عدلوه كما تشوفه

ملاحظه عند خروج ملف PDF للروشتة يكون نصف ورقة A4  الروتشة مرفقة مع البرنامج
الرد }}}
تم الشكر بواسطة: tarek
#2
أولاً يجب أن تفهم أن الـ Net. لا تحتوي على أي ( محلل أو فك ترميز ) يستطيع قراءة ملفات PDF أو عرضها أو طباعته.

لذلك يجب أن تستخدم تطبيقًا تابعًا لجهة خارجية ، القصد ( مكتبة طرفية ثالثة - ملفات DLL ) أو ( مولد PDF ) أو ( محلل مخصص )  لكي تتمكن من إرسال الصفحات وعرضها أو إرسالها للطباعة.


الأكيد أنك لا تستطيع إنشاء ملف PDF من الصفر بواسطة الـ NET. فقط.  * يجب أن تستخدم ( Thrid party library ) *

أغلب الـ ( Thrid party library ) لعرض وطباعة ملفات الـ PDF فقط , أما الإنشاء من الصفر فهذ يحتاج إلى خبرة , لأنها عبارة عن رسم بالأكواد ورياضيات بحتة وأعمال جرافيكس.

حتى أن أغلب الأمثلة في إنشاء ملف PDF من الصفر , تجد المثال عبارة عن كود بسيط لرسم بعض النصوص في منتصف الصفحة ويقول لك يالله أن أنشاءة لك ملف PDF.
أما أنك تصل إلى درجة أن تنشئ ملف PDF بتصميم مشابة للذي يخرج من ملفات الوورد مثلاُ ، من تنظيم النصوص والجداول وتقسيم الحقول وتوزيع المسافات ومعرفة متى تنتقل للصفحة الأخرى ومتى تنقل النص أو باقي الرسم للصفحة التالية ورأس وتذييل وترقيم ومسافات جانبية وحدود الطباعة , فهذ أمر يحتاج إلى شخص خارق في علوم الجرافيكس والرياضيات.
أبداً أبداً الموضوع ليس سهل نهائياً ختى على اكبر المحترفين.

بدلاً عن ذلك , هناك خيار متاح أماك وسهل جداً , هو إستخدام مايكرو سوفت أوفيس وورد , تصمم النموذج الذي تريد كما تحب , وتملأه بالبيانات عن طريق البرنامج , ثم ترسل أمر للوورد بتحويل الملف إلى PDF , الآن لديك ملف PDF بكامل تنسيقاتة وبكل إحترافية , بعدها يمكنك التصرف بهذا الملف , أم تعرضة على  ( Thrid party library ) أو عن طريق متصفح الإنترنت , 
أو حتى عن طريق ( Adobe  Acrobat Reader )  تقوم بإدراج ( Adobe  Acrobat Reader ) داخل مشروعك , وتستعرض الملفات فيه , ولكن تذكر أنك يجب أن تستخدم MS Word لإنشاء الملفات أولاً.
الرد }}}
تم الشكر بواسطة: sendbad100 , elgokr
#3
اعمل reportviewer ومن خلاله حتلاقي تصدير لوورد واكسيل وpdf
الرد }}}
تم الشكر بواسطة:
#4
اها طيب ما فى طريقة عند الضغط على طباعه تخرج نافذه مباشره pdf بتنسيقات الورد وشكرا لك
الرد }}}
تم الشكر بواسطة:
#5
راجع هذا الموضوع :  [مشروع] الطباعة من خلال الوورد MS Word ، تقارير ، كشوفات ، والكثير
ستجد فية مثال يعرض الوثائق بصيغة PDF




    
النتيجة عند الطباعة  :
    
















    
النتيجة عند الطباعة  
    
الرد }}}
تم الشكر بواسطة: sendbad100 , elgokr , DOX.1 , الحزين اليماني
#6
اتمنى من الاستاذ عبد الله يلخص الموضوع السابق وشرحها في فيديو او اثنين بدلا من السبع الاجزاء السابقة .. اهم شي الفكرة
شي جميل جدا ... نسأل الله لك التوفيق وشكرا
الرد }}}
تم الشكر بواسطة:
#7
هناك مكتبة رائعة تعطيك القدرة على التعامل مع ملفات Pdf 
بكل سهولة و يسر 
و هى مكتبة itextsharp
ان شاء الله بعد الافطار اعمل لك مثال عليها 
الرد }}}
تم الشكر بواسطة:
#8
(05-06-18, 03:53 PM)mrnooo2000 كتب : هناك مكتبة رائعة تعطيك القدرة على التعامل مع ملفات Pdf 
بكل سهولة و يسر 
و هى مكتبة itextsharp
ان شاء الله بعد الافطار اعمل لك مثال عليها 

نتمنى ان يكون شرح مفصل .... جزاك الله خيرا
الرد }}}
تم الشكر بواسطة:
#9
بسم الله نبدأ


أولا عليك تحميل ملفات المكتبة من المرفقات و هما عبارة عن ملفى dll

ثانيا قم باضافة مراجع للملفات فى Referances بالمشروع

ثالثا فى النموذج الخاص بك أضف هذه الادوات:- 
1- مربع نص باسم txtname يحتوى على اسم المريض
2- مربع نص باسم txtage يحتوى على عمر المريض
3- مربع نص باسم txtdrug1 يحتوى على الدواء الاول
4- مربع نص باسم txtdrug2 يحتوى على الدواء الثانى
5- مربع نص باسم txtdrug3 يحتوى على الدواء الثالث
6- مربع نص باسم txtdrug4 يحتوى على الدواء الرابع
7- مربع نص باسم txtdrug5 يحتوى على الدواء الخامس
8- زر 


رابعا ضع صورة الروشتة التى أرسلتها أنت من قبل فى نفس مجلد البرنامج   debug فى المشروع

و نأتى الى الأكواد
==========

مبدأيا و حتى تكون الفكرة واضحة سأقوم بعمل جدول بحجم الجزء الخالى من الروشتة ثم نقوم بإضافة البيانات اليه على شكل صفوف (خلايا)
و ذلك حتى نتمكن من التحكم فى اتجاه النص لكى لا يسبب مشاكل مع النصوص العربية 

أولا هذه دالة تعطى خلية بالموصفات التى أحددها (و تظهر فى النهاية كسطر )
كود :
   Private Function CellData(TheText As String, TheFont As Font, Optional TheColor As BaseColor = Nothing, Optional TheTopDistance As Integer = 0, Optional TheStartDistance As Integer = 0, Optional theAlignment As Integer = 0) As PdfPCell
       Dim CellFont As Font = New Font(TheFont)
       CellFont.Color = If(TheColor Is Nothing, BaseColor.BLACK, TheColor)

       Dim C As PdfPCell = New PdfPCell(New Phrase(0, TheText, CellFont))
       C.Border = BorderStyle.None
       C.PaddingTop = TheTopDistance
       C.HorizontalAlignment = theAlignment    '1 center   2    left     0  right >>>> default
       If theAlignment = 2 Then
           C.PaddingLeft = TheStartDistance
       Else
           C.PaddingRight = TheStartDistance
       End If
       Return C
   End Function

وثانيا هذا الاجراء يقوم بتكوين الملف بالاسم المحدد ثم يضيف الخلايا اليه و بعد ذلك يفتح الملف بعد حفظه 
كود :
   Private Sub WritPrescription(ByVal pdfdocument_path As String)
       Dim Prescription As New Document(PageSize.A5.Rotate, 0, 0, 0, 0)
       Dim writer As PdfWriter = PdfWriter.GetInstance(Prescription, New FileStream(pdfdocument_path, FileMode.Create))
       Prescription.Open()

       'Create a PDF image object from our physical image
       Dim ThisImage = itextsharp.text.Image.GetInstance("n.jpg")
       'Scale the image
       Dim NewW, NewH As Single
       NewW = Prescription.PageSize.Width
       NewH = Prescription.PageSize.Height
       ThisImage.ScaleToFit(NewW, NewH)
       'Add the image to the document under text
       ThisImage.SetAbsolutePosition(0, 2)
       Dim under As PdfContentByte = writer.DirectContentUnder
       under.AddImage(ThisImage)

       'add font to Write arabic letters
       Dim fontpath As String = Environment.GetEnvironmentVariable("SystemRoot") + "\\fonts\\times.ttf"
       Dim BaseFont As BaseFont = BaseFont.CreateFont(fontpath, BaseFont.IDENTITY_H, BaseFont.EMBEDDED)
       Dim arabicfont As Font = New Font(BaseFont, 12, itextsharp.text.Font.BOLD, BaseColor.BLACK)

       Dim tbl As PdfPTable = New PdfPTable(1)
       'resize table to Writing part
       tbl.TotalWidth = 360.0F
       'set writing direction
       tbl.RunDirection = PdfWriter.RUN_DIRECTION_RTL

       'write name
       tbl.AddCell(CellData(txtname.Text, arabicfont, BaseColor.BLACK, 41, 70, 0))
       'write age and date
       tbl.AddCell(CellData(Today.Date & Space(40) & txtage.Text, arabicfont, BaseColor.BLACK, 10, 80, 0))
       'write drugs
       tbl.AddCell(CellData(txtdrug1.Text & " - ", arabicfont, BaseColor.BLUE, 30, 20, 2))
       tbl.AddCell(CellData(txtdrug2.Text & " - ", arabicfont, BaseColor.BLUE, 20, 20, 2))
       tbl.AddCell(CellData(txtdrug3.Text & " - ", arabicfont, BaseColor.BLUE, 20, 20, 2))
       tbl.AddCell(CellData(txtdrug4.Text & " - ", arabicfont, BaseColor.BLUE, 20, 20, 2))
       tbl.AddCell(CellData(txtdrug5.Text & " - ", arabicfont, BaseColor.BLUE, 20, 20, 2))

       ' ádd data table to Prescription
       tbl.WriteSelectedRows(0, -1, Prescription.Left + 182, Prescription.Top, writer.DirectContent)
       Prescription.Close()
       'open Prescription
       Process.Start(pdfdocument_path)
   End Sub

ؤ فى النهاية ضع هذا الكود فى حدث ضغط الزر 

كود :
       WritPrescription("Prescription.pdf")

الكود سهل و واضح و أعتقد لا يحتاج شرح و لقد وضعت وصف لكل جزئية بالكود 
و بالتوفيق للجميع

بالمرفقات ملفات المكتبة و الملف  الناتج و صورة الروشتة التى أرسلتها من قبل


الملفات المرفقة
.rar   pdf.rar (الحجم : 2.62 م ب / التحميلات : 428)
الرد }}}
تم الشكر بواسطة: sendbad100 , sendbad100 , issamsaidd , elgokr , ابو ابراهيم
#10
يا اخوان شكرا كتير الكم بس لو شرح فديو ويرفعو على اليتيوب بيكون احسن لان اليتيوب مش موجد به اى شرح لموضوع pdf
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [سؤال] بخصوص الفلترة كومبو بوكس في الفيجوال ستوديو؟ Mena Sabet 2 100 06-05-24, 02:22 AM
آخر رد: Mena Sabet
  اريد اضافة حفظ PDF فى مسار على الهارد- مثال الاستاذ عبدالله الدوسري new_programer 1 113 28-04-24, 04:52 PM
آخر رد: new_programer
  إرسال رسائل واتس اب gamalsherifx 2 104 28-04-24, 06:28 AM
آخر رد: new_programer
  ممكن طريقه وتصميم مشروع بالفيجوال بيسك خالد كامل1 2 123 28-04-24, 02:56 AM
آخر رد: خالد كامل1
  اختصار كود الجمع داخل شبكة البيانات محمد خيري 2 124 25-04-24, 03:30 PM
آخر رد: محمد خيري
  مشكلة في ربط الفيجوال بيسك 2013 مع الاكسل صالح عبدالله 7 181 19-04-24, 09:13 AM
آخر رد: صالح عبدالله
Big Grin [سؤال] مشروع الفيجوال بيسك ستوديو sad89891 4 1,787 10-04-24, 04:37 AM
آخر رد: emadahmed1995
  هل من الممكن العمل على قاعدة بيانات اكسل على الفيجوال بيسك خالد كامل1 4 178 24-03-24, 02:00 AM
آخر رد: خالد كامل1
  [VB.NET] حل مشكلة الاتصال بقواعد البيانات access loay775 2 212 25-02-24, 06:29 AM
آخر رد: loay775
  سؤال عن عملية حذف سجل من قاعدة البيانات assuhimi 3 288 11-02-24, 08:43 PM
آخر رد: assuhimi

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم