Asp.net ile tarayıcı üzerinde pdf görüntüleme(Pdf'yi indirmeden)

0

Merhaba;

İtextxsharp kütüğhanesini kullanarak aşağıdaki gibi butona basınca ck editorden pdf dosyama veri çekiyorum fakat dosyayı indiriyor. Benim amacım ise indirmeden yeni sekmede pdf'yi görüntülemek. Bu kütüphaneyi kurmadan önce tarayıcıda görüntülebilmeyi desekliyor sanıyordum. Fakat desteklemiyor.Bunu nasıl sağlayabilirim?

    protected void pdf_Click(object sender, EventArgs e)
    {
        iTextSharp.text.Document doc = new iTextSharp.text.Document(iTextSharp.text.PageSize.A4);
        MemoryStream output = new MemoryStream();
        iTextSharp.text.pdf.PdfWriter.GetInstance(doc, output);
        doc.Open();
        HtmlDocument htmlDoc = new HtmlDocument();
        htmlDoc.LoadHtml(CKEditorControl1.Text);
        string htmlsiz = htmlDoc.DocumentNode.InnerText;
        doc.Add(new iTextSharp.text.Paragraph(htmlsiz));
        doc.Close();
        Response.Clear();
        Response.AddHeader("content-disposition", "attachment;filename=Export.pdf");
        Response.ContentType = "application/pdf";
        Response.BinaryWrite(output.ToArray());
        Response.End();
    }

@alattin abi :)

notify notify (538)
6 yıl önce sordu

    Toplam 2 Cevap


    0

    PDF.Js adında bi javascript kütüphanesi var: https://mozilla.github.io/pdf.js/

    Bununla PDF dosyasını indirmeden web sayfanda görüntüleyebilirsin.

    indirdiğin zip dosyasındaki dosyaları ViewerJS klasörü adı ile web sitenin rootuna kaydet. Daha sonra pdf dosyasını görüntülemek istediğin yerde şu kodu kullan

     <iframe src="/ViewerJS/#../belge.pdf" width='900' height='350' allowfullscreen webkitallowfullscreen></iframe>

     

    alattin alattin (16999)
    6 yıl önce cevaplandı

    • @alattin abi peki ben bunu üsteki gibi ck editore nasıl bağlayabilirim. notify 6 yıl önce
    • editörden gelen veriyi pdf olarak diske yaz sonra yukarıdaki js kütüphanesine bağla. sen en kolay bu şekilde yapabilirsin @notify alattin 6 yıl önce
    • tamam @alattin abi öyle yapayım :) sağol notify 6 yıl önce

    1

    Tamamen tesadüf bir şekilde bulduğum bir yolu paylaşayım :)

    Yukarıdaki kodlarla uğraşırken şöyle birşey denedim ve hakikaten'de pdf'yi indirmeden aynı kodlar ile sadece bikaç değişiklik yaparak tarayıcıda göstermeyi başarım :) Şöyle ki;

        protected void pdf_Click(object sender, EventArgs e)
        {
            iTextSharp.text.Document doc = new iTextSharp.text.Document(iTextSharp.text.PageSize.A4);
            MemoryStream output = new MemoryStream();
            iTextSharp.text.pdf.PdfWriter.GetInstance(doc, output);
            doc.Open();
            HtmlDocument htmlDoc = new HtmlDocument();
            htmlDoc.LoadHtml(CKEditorControl1.Text);
            string htmlsiz = htmlDoc.DocumentNode.InnerText;
            doc.Add(new iTextSharp.text.Paragraph(htmlsiz));
            doc.Close();
            Response.Clear();
            Response.AddHeader("content-disposition", "inline; filename=" + SozlesmeNo".pdf");
            Response.ContentType = "application/pdf";
            Response.BinaryWrite(output.ToArray());
            Response.End();
        }

    Yani burada yaptığımız sadece yukarıdaki şu alanı;

    Response.AddHeader("content-disposition", "attachment;filename=Export.pdf");

    Buna çevirmek;

    Response.AddHeader("content-disposition", "inline; filename=" + SozlesmeNo".pdf");

    notify notify (538)
    6 yıl önce cevaplandı

      üyelik gerektirir

      Cevap yazabilmek için üye girişi yapmalısınız.

      Eğer uzmanim.net üyesiyseniz giriş yapabilirsiniz: üye girişi yap
      uzmanim.net'e üye olmak çok kolaydır: hemen kayıt ol