ASP.NET MVCآموزش ها

آموزش تصویری ساخت PDF فارسی در C#

آموزش تصویری ساخت PDF فارسی در C# | در این آموزش از آموزش های طراحی سایت قصد داریم تا شما را با نحوه ساخت فایل Pdf و دانلود آن در ASP.NET MVC آموزش دهیم. پس اگر شما نیز به دنبال این آموزش می‌گردید با ما همراه باشید.


اگه می‌خوای از ASP.NET MVC به ASP.NET Core 2.2 مهاجرت کنی، آموزش مقدماتی ASP.NET Core رو ببین!


مواردی که در این مطلب می‌آموزید

  • آموزش نصب پکیج iTextSharp در پروژه
  • آموزش ساخت فایل PDF فارسی در C# با استفاده از iTextSharp
  • آموزش ساخت جدول در PDF در C#
  • آموزش ذخیره ی PDF ساخته شده در فولدر دلخواه
  • آموزش ساخت لینک دانلود PDF ساخته شده در ASP.NET MVC
  • آموزش افزودن Font دلخواه به پروژه ASP.NEt MVC
  • آموزش افزودن فونت دلخواه به فایل PDF ساخته شده

آموزش تصویری ساخت PDF فارسی در C#

نکته : تمام پروژه های دانشجویی رشته کامپیوتر با قیمت پایین پذیرفته می‌شود.

اگر نحوه ساخت پروژه را نمی‌دانید به قسمت مراحل ایجاد پروژه ASP.NET MVC در Visual Studio بروید.

همچنین نحوه ی Publish گرفتن پروژه ی ASP.NET MVC و نیز نحوه ی انتقال دیتابیس از لوکال به سرور را در قسمت نحوه انتقال سایت mvc از کامپیوتر به هاست آموزش داده ایم.

آموزش ساخت PDF در C#

1 – در مرحله نخست باید پکیجی را در پروژه نصب نمایید به نام iTextSharp ، برای نصب این پکیج در Solution Explorer روی نام پروژه راست کلیک کرده و روی Manage Nuget Packages کلیک کنید:

2 – حال پنجره ی زیر برای شما باز می‌شود، در قسمتبالا روی Brows کلیک کنید و نام iTextSharp را جستوجو کنید. (باید سیستم به اینترنت وصل باشد)

همانطور که در تصویر بالا مشاهده می‌کنید، ابتدا روی Brows کلیک کردیم، سپس در کادر جستوجو نام iTextSharp را نوشتیم و اولین پکیج نمایش داده شده را نصب کردیم.

3 – حال نصب پکیج با موفقیت به اتمام رسید.

4 – اکنون به قسمتی که قصد دارید فایل PDF بسازید رفته و namespace های زیر را در آن قسمت اضافه کنید:

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

اکنون به سراغ متد یا Action مورد نظر رفته و کدنویسی های خود را انجام می‌دهیم.

(من در این آموزش کد ها را به صورت بخش بخش برای شما قرار می‌دهم و هر بخش را جداگانه توضیح می‌دهم)

مثال : با استفاده از زبان برنامه نویسی C# یک فایل PDF بسازید و در قسمت Header آن یک تصویر قرار داده و در فوتر آن نیز شماره تماس قرار دهید و در وسط این صفحه یک جدول قرار دهید که نام و سن کاربر را از ورودی گرفته و در این جدول نمایش دهد. سپس این فایل را دانلود کند.

آموزش تصویری ساخت PDF فارسی در C#

حل مثال بالا

1 – ابتدا یک فرم می‌سازیم که نام و سن کاربر را از ورودی بگیرد:

@using (Html.BeginForm())
{
<input type=”text” class=”form-control” name=”Username” />
<br />
<input type=”text” class=”form-control” name=”Age” />
<br />
<input type=”submit” value=”ارسال” class=”btn btn-success” />
}

2 – حال به کنترلر رفته و اکشن مربوطه را می‌نویسیم:

public FileResult CreateAndDownloadPDF (string Username , string Age)
{
}

3 – سپس شروع به کد نویسی برای ساخت PDF و می‌کنیم:

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

string filename = DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString(“00”) + DateTime.Now.Day.ToString(“00”)
+ DateTime.Now.Hour.ToString(“00”) + DateTime.Now.Minute.ToString(“00”) + DateTime.Now.Second.ToString(“00”) + DateTime.Now.Millisecond.ToString(“00”) + “-” + Username + “.pdf”;
string path = Path.Combine(Server.MapPath(“~/Content/PDF/”), filename);

//Create our file stream and bind the writer to the document and the stream
PdfWriter writer = PdfWriter.GetInstance(document, new FileStream(path, FileMode.Create));

//Open the document for writing
document.Open();

//Add a new page
document.NewPage();

 

  • ابتدا یک Document ساختیم که سایز A4 دارد و در صفحه از چپ و راست و بالا و پایین دارای Margin برابر با 10 است.
  • سپس یک نام برای فایلی که قرار است Save شود در نظر گرفتیم و یک مسیر برای آن انتخاب کردیم.
  • سپس یک PdfWriter ساختیم که این Document را در مسیر مشخص شده بسازد.
  • سپس آن را باز کردیم تا در آن اعمال خود را انجام دهیم.
  • سپس یک صفحه ی جدید به آن افزودیم.

آموزش تصویری ساخت PDF فارسی در C#

ساخت محتوای PDF در C#

حال فونت Tahoma را از این لینک، دانلود کنید.

سپس آن را از zip خارج کرده و فایل TTF را به پوشه ی fonts اضافه کنید:

حال به ادامه ی کدنویسی برگردید و کد زیر را اضافه کنید:

//Reference a Unicode font to be sure that the symbols are present.
BaseFont bfArialUniCode = BaseFont.CreateFont(Server.MapPath(“~/fonts/tahoma.ttf”), BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
//Create a font from the base font
Font font = new Font(bfArialUniCode, 10, 1, BaseColor.BLACK);

حالا فونت مورد نیاز برای PDF فارسی را درست کردید. دیگر به مرحله ی ساخت جدول رسیدیم. پس کد زیر را بنویسید :

//Use a table so that we can set the text direction
PdfPTable table = new PdfPTable(1);
//Ensure that wrapping is on, otherwise Right to Left text will not display
table.DefaultCell.NoWrap = false;

حالا برای اینکه بتوانیم در PDF از نوشته های فارسی استفاده کنیم کد زیر را بنویسید:

//Create a regex expression to detect hebrew or arabic code points
const string regex_match_arabic_hebrew = @”[\u0600-\u06FF,\u0590-\u05FF]+”;
if (Regex.IsMatch(“م الموافق”, regex_match_arabic_hebrew, RegexOptions.IgnoreCase))
{
table.RunDirection = PdfWriter.RUN_DIRECTION_RTL;
}

هدر (تصویر)

حالا با موفقیت همه مراحل را انجام دادیم. رسیدیم به قرار دادن تصویر در هدر فایل PDF، برای این کار کد زیر را بنویسید:

iTextSharp.text.Image myImage = iTextSharp.text.Image.GetInstance(Server.MapPath(“آدرس تصویر”));
PdfPCell cellImg = new PdfPCell(myImage);
cellImg.Border = 0;
cellImg.FixedHeight = 80;
cellImg.VerticalAlignment = Element.ALIGN_CENTER;
cellImg.HorizontalAlignment = Element.ALIGN_CENTER;
cellImg.PaddingBottom = 5;
table.AddCell(cellImg);

کد های بالا کاملا واضح است که هر کدام چه عملی را انجام می‌دهد. PdfPCell یک سلول برای جدول می‌سازد و سپس کار های مورد نیاز را روی آن انجام داده و در نهایت آن را به جدول می‌افزاییم.

بدنه اصلی

حالا کد های مورد نظر برای بدنه اصلی PDF را می‌نویسیم:

PdfPCell Username = new PdfPCell(new Phrase(” نام : ” + Username , font));
Username.Border = 1;
Username.PaddingBottom = 5;
Username.PaddingTop = 5;
Username.BackgroundColor = new iTextSharp.text.BaseColor(System.Drawing.Color.White);
Username.NoWrap = false;
Username.HorizontalAlignment = Element.ALIGN_CENTER;
Username.VerticalAlignment = Element.ALIGN_CENTER;
table.AddCell(Username);

PdfPCell Age = new PdfPCell(new Phrase(” سن : ” + Age , font));
Age.Border = 1;
Age.PaddingBottom = 5;
Age.PaddingTop = 5;
Age.BackgroundColor = new iTextSharp.text.BaseColor(System.Drawing.Color.White);
Age.NoWrap = false;
Age.HorizontalAlignment = Element.ALIGN_CENTER;
Age.VerticalAlignment = Element.ALIGN_CENTER;
table.AddCell(Age);

فوتر

حالا برای فوتر کد زیر را می‌نویسیم:

 

PdfPCell Footer = new PdfPCell(new Phrase(” این متن فوتر است ”  , font));
Footer.Border = 0;
Footer.PaddingBottom = 5;
Footer.PaddingTop = 20;
Footer.BackgroundColor = new iTextSharp.text.BaseColor(System.Drawing.Color.White);
Footer.NoWrap = false;
Footer.HorizontalAlignment = Element.ALIGN_CENTER;
Footer.VerticalAlignment = Element.ALIGN_CENTER;
table.AddCell(Footer);

حال نوبت به کد های زیر رسیده است که جدول ساخته شده را به فایلی که ساختیم اضافه کنیم:

//Add the table to the document
document.Add(table);
//Close the document
document.Close();

 

دانلود فایل PDF ساخته شده

برای دانلود هر نوع فایلی می‌توایند از این کد استفاده نمایید:

byte[] fileBytes = System.IO.File.ReadAllBytes(path);
return File(fileBytes, System.Net.Mime.MediaTypeNames.Application.Pdf, filename);

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

امیدوارم که این مقاله برای شما عزیزان مفید بوده باشد.

برای سفارش آنلاین خدمات ما، همین حالا، هر ساعت از شبانه روز با ما تماس بگیرید:

7840 188 0903

, , , , , , , , , , , , , , , , , , , , , , , ,
نوشتهٔ پیشین
طراحی سایت ارزان
نوشتهٔ بعدی
انجام پروژه دانشجویی کامپیوتر ارزان

2 دیدگاه. ارسال دیدگاه جدید

  • مهدی
    1399-01-27 16:02

    من طبق اموزش stackoverflow رفتم جلو پی دی اف ساخت ولی حروف فارسی رو توش با علامت های دیگه نشون میداد ، مرسی واقعا

    پاسخ
  • محمود
    1399-01-27 16:03

    خیلی خوب و عالی

    پاسخ

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

این فیلد را پر کنید
این فیلد را پر کنید
لطفاً یک نشانی ایمیل معتبر بنویسید.
برای ادامه، شما باید با قوانین موافقت کنید

*

code

فهرست