الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

عرض ملف PDF بواسطة زر

بدأه remyjust في 29 يناير 2013 · 7 رد · 2,162 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ...

   انا لدي مشكلة واحتاج لكود يعرض لي ملف PDF بواسطة الضغط على زر...

  مع العلم اني استخدم فيجوال استديو 2003 باستخدام vb.net

  وقاعدة البيانات هي SQL 2000

   انا درت كود لتخزين الملف في مسار معين .. وعند العرض بالضغط على زر لا يعرض ..

  ارجو المساعدة وبارك الله فيكم مقدماً

وبحثت عن سر السعادة جاهداً....فوجدت هذا السر في تقواك

فليرضي عني الناس أو فليسخطوا...أنا لم أعد أسعى لغير رضاك

أدعوك يا ربي لتغفر حوبتي ....وتعينني , وتمدني بهداك

فاقبل دعائي واستجب لرجاوتي....ما خاب يوماً من دعا ورجاك

#2

اريد نفس طريقة او قريبة منها .. طريقة عرض مجلة لها عند الضغط على اسم العدد تعرض على هيئة PDf

http://pdf.lahamag.com/issue.php?y=2013&m=01

وبحثت عن سر السعادة جاهداً....فوجدت هذا السر في تقواك

فليرضي عني الناس أو فليسخطوا...أنا لم أعد أسعى لغير رضاك

أدعوك يا ربي لتغفر حوبتي ....وتعينني , وتمدني بهداك

فاقبل دعائي واستجب لرجاوتي....ما خاب يوماً من دعا ورجاك

#3

بنفس طريقة موقع فبراير

http://febpress.ly/pdf.asp

وبحثت عن سر السعادة جاهداً....فوجدت هذا السر في تقواك

فليرضي عني الناس أو فليسخطوا...أنا لم أعد أسعى لغير رضاك

أدعوك يا ربي لتغفر حوبتي ....وتعينني , وتمدني بهداك

فاقبل دعائي واستجب لرجاوتي....ما خاب يوماً من دعا ورجاك

#4

look to this code

						<a target="_blank" href="pdf/full.pdf">
							<img src="images/ico_pdf_big.gif" border="0" height="25" width="24"></a>
#5

السلام عليكم ...

  ياريت يكون الكود باستخدام vb.net

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

واريد عند الضغط على كلمة عرض في الداتا قريد يعرض لي العقد على صورة Pdf كما هو مخزن ع الجهاز

 

 والسلام عليكم

وبحثت عن سر السعادة جاهداً....فوجدت هذا السر في تقواك

فليرضي عني الناس أو فليسخطوا...أنا لم أعد أسعى لغير رضاك

أدعوك يا ربي لتغفر حوبتي ....وتعينني , وتمدني بهداك

فاقبل دعائي واستجب لرجاوتي....ما خاب يوماً من دعا ورجاك

#6

اتمني ان هذا المرفق يفي بالغرض

الصفحة الاساسية

اول كلمة عرض في الجريد هو   LinkButton به امرين

الاول CommandArgument قيمة مسار الملف في القرص الصلب

الثاني هو CommandName اي امر سينفذ في الكود

  <asp:TemplateField>
                <ItemTemplate>
                    <asp:LinkButton ID="LinkButton1" runat="server" Text='عرض'
                            CommandArgument='<%# DataBinder.Eval(Container.DataItem, "sFilePath") %>' 
                            CommandName="ShowPdf"  />
                </ItemTemplate>
            </asp:TemplateField>

ثانيا كود الجريد

    Protected Sub GridView1_RowCommand(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCommandEventArgs) Handles GridView1.RowCommand
        If e.CommandName.ToString().Trim() = "ShowPdf" Then
            Session("sFilePath") = e.CommandArgument.ToString()
            Dim scriptString1 As String = "<SCRIPT language=""javascript"">open('webPopup.aspx','_blank','top=0,left=0,width=1000px,status=yes,resizable=yes,scrollbars=yes,fullscreen=yes');</script>"

            ClientScript.RegisterStartupScript(Me.GetType(), "Startup", scriptString1)
        End If
    End Sub

اولا يقوم بحص CommandName المرسل من النقر

  If e.CommandName.ToString().Trim() = "ShowPdf" Then

ثانيا يقوم بارسال مسار الملف الي الذاكرة

 Session("sFilePath") = e.CommandArgument.ToString()

 

ثالثا يقوم بفتح صفحة اسمها webPopup.aspx في وضع popup page طريق javascript

 

صفحة عرص الملف اسمها webPopup.aspx

 

لا يوجد تصميم فقط كود

كوي يعمل في اول تحميل الصفحة

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        ReadPdfFile(Session("sFilePath"))
    End Sub
    Sub ReadPdfFile(ByVal path As String)
        Dim client As New WebClient()
        Dim buffer As Byte() = client.DownloadData(path)

        If buffer IsNot Nothing Then
            Response.Clear()
            Response.ContentType = "application/pdf"
            Response.AddHeader("Content-Disposition", "inline; filename=" & path)
            Response.AddHeader("content-length", buffer.Length.ToString())
            Response.BinaryWrite(buffer)
            Response.End()
        End If
    End Sub

يقراء الملف من الخادم ويرسله الي العميل ويفتحة

 

المثال مرفق

اي خدمه

WebShowPdf.rar

تم تعديل هذه المشاركة بواسطة KARIMSOFT في 30 يناير 2013 في 17:55

1
#7
KARIMSOFT كتب:

اتمني ان هذا المرفق يفي بالغرض

الصفحة الاساسية

اول كلمة عرض في الجريد هو   LinkButton به امرين

الاول CommandArgument قيمة مسار الملف في القرص الصلب

الثاني هو CommandName اي امر سينفذ في الكود

  <asp:TemplateField>
                <ItemTemplate>
                    <asp:LinkButton ID="LinkButton1" runat="server" Text='عرض'
                            CommandArgument='<%# DataBinder.Eval(Container.DataItem, "sFilePath") %>' 
                            CommandName="ShowPdf"  />
                </ItemTemplate>
            </asp:TemplateField>

ثانيا كود الجريد

    Protected Sub GridView1_RowCommand(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCommandEventArgs) Handles GridView1.RowCommand
        If e.CommandName.ToString().Trim() = "ShowPdf" Then
            Session("sFilePath") = e.CommandArgument.ToString()
            Dim scriptString1 As String = "<SCRIPT language=""javascript"">open('webPopup.aspx','_blank','top=0,left=0,width=1000px,status=yes,resizable=yes,scrollbars=yes,fullscreen=yes');</script>"

            ClientScript.RegisterStartupScript(Me.GetType(), "Startup", scriptString1)
        End If
    End Sub

اولا يقوم بحص CommandName المرسل من النقر

  If e.CommandName.ToString().Trim() = "ShowPdf" Then

ثانيا يقوم بارسال مسار الملف الي الذاكرة

 Session("sFilePath") = e.CommandArgument.ToString()

 

ثالثا يقوم بفتح صفحة اسمها webPopup.aspx في وضع popup page طريق javascript

 

صفحة عرص الملف اسمها webPopup.aspx

 

لا يوجد تصميم فقط كود

كوي يعمل في اول تحميل الصفحة

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        ReadPdfFile(Session("sFilePath"))
    End Sub
    Sub ReadPdfFile(ByVal path As String)
        Dim client As New WebClient()
        Dim buffer As Byte() = client.DownloadData(path)

        If buffer IsNot Nothing Then
            Response.Clear()
            Response.ContentType = "application/pdf"
            Response.AddHeader("Content-Disposition", "inline; filename=" & path)
            Response.AddHeader("content-length", buffer.Length.ToString())
            Response.BinaryWrite(buffer)
            Response.End()
        End If
    End Sub

يقراء الملف من الخادم ويرسله الي العميل ويفتحة

 

المثال مرفق

اي خدمه

مشكووور اخي (KarimSoft) على هذا الشرح الرائع,,,, سؤالي هو : هل من الممكن تحويل "رابط" (عرض) الى "زر" , وسؤالي اذا سمحت هل من الممكن عرض ملفات اخرى غير ال pdf?? شكرا مرة ثانية

trips.gif

 

 

 

728-90.gif

#8

اهم ام يوجد في الاداة CommandArgument و CommandName ليس كل الادوات بها هذا الامرين ولكن اعتد ان الزر يوجد بهي

جربي تغير هذا الاختير الي المطلوب لم اجرب

 Response.ContentType = "application/pdf"

الي

 Response.ContentType = "application/doc"

مواضيع مشابهة