تولید فایلPDF با استفاده از #C

چهارشنبه 21 بهمن 1394

در این مقاله با استفاده از زبان برنامه نویسی #C و در چند گام ساده ، یاد می گیریم که چه طور فایل های PDF ایجاد کنیم ، برای آن ها نام انتخاب کنیم و تغییرات موردنظرمان را در آن ها اعمال کنیم.

تولید فایلPDF  با استفاده از #C

برای تولید فایل های PDF، باید چند مرحله ی ساده را طی کنیم.

مرحله ی 1 : در ابتدا باید iTextSharp را از طریق NuGet packages نصب کنیم. نحوه ی این کار در شکل زیر آمده است :

و یا می توانیم این برنامه را با استفاده از package manager console و از طریق زیر ، نصب کنیم :

Install-Package iTextSharp

مرحله ی 2 : در این مرحله باید این دو namespace را در بالای صفحه ی cs. خودتان اضافه کنید.

using iTextSharp.text;  
using iTextSharp.text.pdf; 

مرحله ی 3 : یک متد برای تولید فایل هایPDF  ایجاد کنید و منطق موردنیاز برای این کار را در آن پیاده سازی کنید.

    protected void GeneratePDF(object sender, System.EventArgs e)  
    {  
        using(System.IO.MemoryStream memoryStream = new System.IO.MemoryStream())   
        {  
            Document document = new Document(PageSize.A4, 10, 10, 10, 10);  
      
            PdfWriter writer = PdfWriter.GetInstance(document, memoryStream);  
            document.Open();  
      
            Chunk chunk = new Chunk("This is from chunk. ");  
            document.Add(chunk);  
      
            Phrase phrase = new Phrase("This is from Phrase.");  
            document.Add(phrase);  
      
            Paragraph para = new Paragraph("This is from paragraph.");  
            document.Add(para);  
      
            string text = @ "you are successfully created PDF file.";  
            Paragraph paragraph = new Paragraph();  
            paragraph.SpacingBefore = 10;  
            paragraph.SpacingAfter = 10;  
            paragraph.Alignment = Element.ALIGN_LEFT;  
            paragraph.Font = FontFactory.GetFont(FontFactory.HELVETICA, 12f, BaseColor.GREEN);  
            paragraph.Add(text);  
            document.Add(paragraph);  
      
            document.Close();  
            byte[] bytes = memoryStream.ToArray();  
            memoryStream.Close();  
            Response.Clear();  
            Response.ContentType = "application/pdf";  
      
            string pdfName = "User";  
            Response.AddHeader("Content-Disposition", "attachment; filename=" + pdfName + ".pdf");  
            Response.ContentType = "application/pdf";  
            Response.Buffer = true;  
            Response.Cache.SetCacheability(System.Web.HttpCacheability.NoCache);  
            Response.BinaryWrite(bytes);  
            Response.End();  
            Response.Close();  
        }  
    }  

در کد بالا ، ما از Document parameterized constructor استفاده می کنیم (که یک سازنده است.) به همراه پارامترهای زیر :

 pageSize: سایز صفحه

marginLeft : حاشیه ی موجود در سمت چپ

marginRight : حاشیه ی موجود در سمت راست

marginTop : حاشیه ی موجود در بالای صفحه

marginBottom : حاشیه ی موجود در پایین صفحه

Document document = newDocument(PageSize.A4, 10, 10, 10, 10); 

ما همچنین می توانیم به سند بالا ، متن نیز اضافه کنیم .این کار با استفاده از chunk ، phrase و paragraph صورت می گیرد.

Chunk : این ویژگی برای نمایش کوچک ترین قسمت های متن که دارای اهمیت زیادی هستند، به کار می رود.

Phrase : این ویژگی ، برای نمایش آرایه ای از Chunk ها و یا برای نمایش حجم زیادی از قسمت های مهم در یک متن به کار می رود. اما وقتی از این ویژگی استفاده می کنیم ، در صورتی که طول محتویات متن بیشتر از طول سطر بشود، باقی محتویات به سطر جدید، انتقال داده می شوند.

Paragraph : این ویژگی برای نمایش بزرگترین قسمت های مهم یک متن به کار می رود. همچنین این ویژگی برای نوشتن محتویات، به سطر جدید می رود.

Paragraph شامل خصوصیات خاص خودش مانند حاشیه و توازن است و خصوصیات دیگری نیز بر حسب نیاز ما می توانند به آن اضافه شوند. . ما می توانیم به شکل زیر ، خصوصیات دلخواهمان را به Paragraph اضافه کنیم :

string text = @"you are successfully created PDF file";  
Paragraph paragraph = newParagraph();  
paragraph.SpacingBefore = 10;  
paragraph.SpacingAfter = 10;  
paragraph.Alignment = Element.ALIGN_LEFT;  
paragraph.Font = FontFactory.GetFont(FontFactory.HELVETICA, 12f, BaseColor.GREEN);  
paragraph.Add(text); 

در کد بالا ، ما خصوصیاتی مثل یک Space  قبل از پارگراف ، یک Space بعد از پاراگراف ، تنظیم توازن پاراگراف و همچنین فونت را به پاراگراف موردنظرمان اضافه کردیم.

و برای اضافه کردن Paragraph به داخل متن موردنظرمان ، ما کدی مانند زیر می نویسیم :

document.Add(paragraph);  

ما همچنین می توانیم نام دلخواهمان را هم به فایل pdf بدهیم . برای این کار به روش زیر عمل می کنیم :

string pdfName = "User";  

Response.AddHeader("Content-Disposition", "attachment; filename=" + pdfName + ".pdf");  

با استفاده از این روش ساده ما می توانیم فایل های PDF را با استفاده از C# تولید کنیم.

آموزش سی شارپ

فایل های ضمیمه

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

نویسنده 3355 مقاله در برنامه نویسان
  • C#.net
  • 5k بازدید
  • 10 تشکر

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

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