تبدیل فایل متنی به PDF در زمان آپلود در Asp.Net

یکشنبه 26 بهمن 1393

در این مقاله میخواهیم در Asp.Net یک فایل متنی را در هنگام آپلود به PDF تبدیل کنیم

تبدیل فایل متنی به PDF  در زمان آپلود در Asp.Net

برای انجام اینکار از یک کتابخانه به نام iTextSharp برای تبدیل به PDF استفاده میکنیم برای نصب این کتابخانه روی پروژه از منوی Tools گزینه Nuget Package Manger  وسپس Manage Nuget Packages For Solution را انتخاب کنید سپس از سمت چپ تب Online  را انتخاب کنید ودر سمت راست بالا نام itTextSharp را تایپ کنید تا جستجو کند سپ از لیست پیداه شد روی Install کلیک کنید تا کتابخانه مورد نظر به پروژه اضافه شود:

 

سپس به صفحه خود یک کنترل Upload و یک دکمه اضافه کنید:

<!DOCTYPE html>  
  
<html xmlns="http://www.w3.org/1999/xhtml">  
<head runat="server">  
    <title></title>  
</head>  
<body>  
    <form id="form1" runat="server">  
        <div>  
            <asp:Label ID="lbl" runat="server" Text="Select a file to upload:"></asp:Label>  
            <asp:FileUpload runat="server" ID="fu" /><br />  
            <asp:Button runat="server" ID="btnUpload" Text="Upload" OnClick="btnUpload_Click" />  
        </div>  
    </form>  
</body>  
</html>  

و در صفحه aspx.cs کد زیر را تایپ کنید:

protected void btnUpload_Click(object sender, EventArgs e)  
        {  
            // Check that upload control had file  
            if(fu.HasFile)  
            {  
                // Get the Posted File  
                HttpPostedFile pf = fu.PostedFile;  
                Int32 fileLen;  
                // Get the Posted file Content Length  
                fileLen = fu.PostedFile.ContentLength;  
                // Create a byte array with content length  
                Byte[] Input = new Byte[fileLen];  
                // Create stream   
                System.IO.Stream myStream;  
                 // get the stream of uploaded file  
                myStream = fu.FileContent;  
                // Read from the stream  
                myStream.Read(Input, 0, fileLen);  
                // Create a Document  
                Document doc = new Document();  
                // create PDF File and create a writer on it  
                PdfWriter writer = PdfWriter.GetInstance(doc, new FileStream(string.Concat(Server.MapPath("~/Pdf/PdfSample"), ".pdf"), FileMode.Create));  
                // open the document  
                doc.Open();  
                // Add the text file contents   
                doc.Add(new Paragraph(System.Text.Encoding.Default.GetString(Input)));  
                // Close the document  
                doc.Close();  
            }  
        }  

روی نام پروژه خود کلیک راست کنید و یک پوشه به پروژه خود به نام PDF اضافه کنید که پس از آپلود فایل PDF در این پروژه ذخیره خواهد شد

حالا میتونید برنامه را اجرا کنید:

برنامه نویسان

نویسنده 3355 مقاله در برنامه نویسان

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید