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

در این مقاله میخواهیم در 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 در این پروژه ذخیره خواهد شد

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