ایجاد اسناد PDF با استفاده از سی شارپ

PDF یک قالب سند مستقل از پلتفرم است که قالب بندی و طرح بندی محتوای خود را در سیستم عامل ها یا ماشین های مختلف ثابت نگه می دارد. به همین دلیل است که سازمان‌های مختلف از فرمت PDF برای تولید فاکتورها، رسیدها، گزارش‌ها و سایر اسناد تجاری به صورت پویا استفاده می‌کنند. Aspose.PDF for .NET یک کتابخانه PDF است که به شما کمک می کند اتوماسیون PDF را در برنامه های NET پیاده سازی کنید. این به شما اجازه می دهد تا با استفاده از C# یا VB.NET فایل های PDF را به صورت برنامه ای ایجاد، ویرایش، تجزیه و تبدیل کنید. در این مقاله، من ویژگی های تولید PDF را پوشش می دهم و به شما نشان می دهم که چگونه با استفاده از سی شارپ، فایل های PDF را از ابتدا ایجاد کنید.

من با ایجاد یک سند PDF ساده شروع می کنم و سپس به اضافه کردن عناصر دیگر به سند ادامه می دهم. در زیر لیستی از ویژگی هایی است که می خواهم در این مقاله نشان دهم.

کتابخانه PDF سی شارپ - نصب

می توانید Aspose.PDF را برای دات نت با استفاده از NuGet Package Manager یا Package Manager Console با استفاده از دستور زیر نصب کنید. همچنین، می‌توانید آن را از بخش دانلودها دانلود کنید.

Install-Package Aspose.Pdf

ایجاد یک فایل PDF با استفاده از سی شارپ

اجازه می دهد ابتدا یک سند PDF حاوی یک قطعه متن ایجاد کنیم. مراحل زیر برای ایجاد یک سند PDF ساده از ابتدا آورده شده است.

  • یک نمونه از کلاس Document ایجاد کنید.
  • یک Page جدید به مجموعه Pages سند اضافه کنید.
  • یک TextFragment جدید به پاراگراف های PDF اضافه کنید.
  • فایل PDF را با استفاده از روش Document.Save() ایجاد کنید.

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

// سند PDF را بارگیری کنید 
Document document = new Document();

// اضافه کردن صفحه
Aspose.Pdf.Page page = document.Pages.Add();

// اضافه کردن متن به صفحه جدید
page.Paragraphs.Add(new Aspose.Pdf.Text.TextFragment("Hello World! This is a new PDF generated by Aspose.PDF for .NET."));

// سند PDF را ذخیره کنید
document.Save("Generated-PDF.pdf");
ایجاد pdf با استفاده از سی شارپ

اعمال قالب بندی متن در PDF با استفاده از سی شارپ

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

  • از کلاس Document برای ایجاد یک سند PDF جدید یا بارگیری یک سند موجود استفاده کنید.
  • به Page که می‌خواهید متن را در آن قرار دهید، دسترسی پیدا کنید.
  • یک شی از TextFragment ایجاد کنید و متن و سایر گزینه های قالب بندی مانند موقعیت، فونت، رنگ، اندازه و غیره را تنظیم کنید.
  • از کلاس TextBuilder برای اضافه کردن شی TextFragment به صفحه استفاده کنید.
  • برای ایجاد سند PDF از روش Document.Save() استفاده کنید.

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

// سند PDF را بارگیری کنید 
Document document = new Document();
// اضافه کردن صفحه
Aspose.Pdf.Page page = document.Pages.Add();

// قطعه متن ایجاد کنید
TextFragment textFragment = new TextFragment("Text 1: We have now applied text formatting. This is PDF generated by Aspose.PDF for .NET");
textFragment.Position = new Position(100, 700);
TextFragment textFragment1 = new TextFragment("Text 2: We have now applied text formatting. This is PDF generated by Aspose.PDF for .NET");
textFragment1.Position = new Position(100, 600);

// ویژگی های متن را تنظیم کنید
textFragment.TextState.FontSize = 12;
textFragment.TextState.Font = FontRepository.FindFont("TimesNewRoman");
textFragment.TextState.BackgroundColor = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.LightGray);
textFragment.TextState.ForegroundColor = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.Red);

textFragment1.TextState.DrawTextRectangleBorder = true;
textFragment1.TextState.Underline = true;
textFragment1.TextState.StrikeOut = true;
// با فضای رنگی الگو، رنگ جدیدی ایجاد کنید
textFragment1.TextState.ForegroundColor = new Aspose.Pdf.Color()
{
	PatternColorSpace = new Aspose.Pdf.Drawing.GradientAxialShading(Color.Red, Color.Blue)
};
// ایجاد شی TextBuilder
TextBuilder textBuilder = new TextBuilder(page);

// قطعات متن را به صفحه PDF اضافه کنید
textBuilder.AppendText(textFragment);
textBuilder.AppendText(textFragment1);

// سند PDF را ذخیره کنید
document.Save("Generated-PDF.pdf");
ایجاد pdf با متن فرمت شده با استفاده از سی شارپ

ایجاد PDF چند ستونی با استفاده از سی شارپ

اغلب می بینیم که متن در روزنامه ها، مقالات پژوهشی و انواع دیگر اسناد به دو یا چند ستون تقسیم می شود. به منظور دستیابی به این تقسیم بندی متن، Aspose.PDF برای دات نت اجازه می دهد تا یک PDF چند ستونی ایجاد کنید. در زیر مراحل ایجاد یک PDF چند ستونی آورده شده است.

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

// سند PDF را بارگیری کنید 
Document document = new Document();
// اطلاعات حاشیه سمت چپ فایل PDF را مشخص کنید
document.PageInfo.Margin.Left = 40;
// اطلاعات حاشیه سمت راست فایل PDF را مشخص کنید
document.PageInfo.Margin.Right = 40;
Aspose.Pdf.Page page = document.Pages.Add();

// یک خط اضافه کنید
Aspose.Pdf.Drawing.Graph graph1 = new Aspose.Pdf.Drawing.Graph(500, 2);
// خط را به مجموعه عبارات شی بخش اضافه کنید
page.Paragraphs.Add(graph1);

// مختصات خط را مشخص کنید
float[] posArr = new float[] { 1, 2, 500, 2 };
Aspose.Pdf.Drawing.Line l1 = new Aspose.Pdf.Drawing.Line(posArr);
graph1.Shapes.Add(l1);

// یک عنوان اضافه کنید
// متغیرهای رشته ای را با متن حاوی تگ های html ایجاد کنید
string s = "<font face=\"Times New Roman\" size=4>" +
"<strong> How to Steer Clear of money scams</<strong> "
+ "</font>";

// پاراگراف های متنی حاوی متن HTML ایجاد کنید
HtmlFragment heading_text = new HtmlFragment(s);
page.Paragraphs.Add(heading_text);

Aspose.Pdf.FloatingBox box = new Aspose.Pdf.FloatingBox();
// چهار ستون در بخش اضافه کنید
box.ColumnInfo.ColumnCount = 2;
// فاصله بین ستون ها را تنظیم کنید
box.ColumnInfo.ColumnSpacing = "5";
// عرض ستون را تنظیم کنید
box.ColumnInfo.ColumnWidths = "250 250"; 

// متن ایجاد کنید 
TextFragment text2 = new TextFragment(@"Sed augue tortor, sodales id, luctus et, pulvinar ut, eros. Suspendisse vel dolor. Sed quam. Curabitur ut massa vitae eros euismod aliquam. Pellentesque sit amet elit. Vestibulum interdum pellentesque augue. Cras mollis arcu sit amet purus. Donec augue. Nam mollis tortor a elit. Nulla viverra nisl vel mauris. Vivamus sapien. nascetur ridiculus mus. Nam justo lorem, aliquam luctus, sodales et, semper sed, enim Nam justo lorem, aliquam luctus, sodales et,nAenean posuere ante ut neque. Morbi sollicitudin congue felis. Praesent turpis diam, iaculis sed, pharetra non, mollis ac, mauris. Phasellus nisi ipsum, pretium vitae, tempor sed, molestie eu, dui. Duis lacus purus, tristique ut, iaculis cursus, tincidunt vitae, risus. Sed commodo. *** sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nam justo lorem, aliquam luctus, sodales et, semper sed, enim Nam justo lorem, aliquam luctus, sodales et, semper sed, enim Nam justo lorem, aliquam luctus, sodales et, semper sed, enim nAenean posuere ante ut neque. Morbi sollicitudin congue felis. Praesent turpis diam, iaculis sed, pharetra non, mollis ac, mauris. Phasellus nisi ipsum, pretium vitae, tempor sed, molestie eu, dui. Duis lacus purus, tristique ut, iaculis cursus, tincidunt vitae, risus. Sed commodo. *** sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Sed urna. . Duis convallis ultrices nisi. Maecenas non ligula. Nunc nibh est, tincidunt in, placerat sit amet, vestibulum a, nulla. Praesent porttitor turpis eleifend ante. Morbi sodales.nAenean posuere ante ut neque. Morbi sollicitudin congue felis. Praesent turpis diam, iaculis sed, pharetra non, mollis ac, mauris. Phasellus nisi ipsum, pretium vitae, tempor sed, molestie eu, dui. Duis lacus purus, tristique ut, iaculis cursus, tincidunt vitae, risus. Sed commodo. *** sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Sed urna. . Duis convallis ultrices nisi. Maecenas non ligula. Nunc nibh est, tincidunt in, placerat sit amet, vestibulum a, nulla. Praesent porttitor turpis eleifend ante. Morbi sodales. Sed augue tortor, sodales id, luctus et, pulvinar ut, eros. Suspendisse vel dolor. Sed quam. Curabitur ut massa vitae eros euismod aliquam. Pellentesque sit amet elit. Vestibulum interdum pellentesque augue. Cras mollis arcu sit amet purus. Donec augue. Nam mollis tortor a elit. Nulla viverra nisl vel mauris. Vivamus sapien. nascetur ridiculus mus. Nam justo lorem, aliquam luctus, sodales et, semper sed, enim Nam justo lorem, aliquam luctus, sodales et,nAenean posuere ante ut neque. Morbi sollicitudin congue felis. Praesent turpis diam, iaculis sed, pharetra non, mollis ac, mauris. Phasellus nisi ipsum, pretium vitae, tempor sed, molestie eu, dui. Duis lacus purus, tristique ut, iaculis cursus, tincidunt vitae, risus. Sed commodo. *** sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nam justo lorem, aliquam luctus, sodales et, semper sed, enim Nam justo lorem, aliquam luctus, sodales et, semper sed, enim Nam justo lorem, aliquam luctus, sodales et, semper sed, enim nAenean posuere ante ut neque. Morbi sollicitudin congue felis. Praesent turpis diam, iaculis sed, pharetra non, mollis ac, mauris. Phasellus nisi ipsum, pretium vitae, tempor sed, molestie eu, dui. Duis lacus purus, tristique ut, iaculis cursus, tincidunt vitae, risus. Sed commodo. *** sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Sed urna. . Duis convallis ultrices nisi. Maecenas non ligula. Nunc nibh est, tincidunt in, placerat sit amet, vestibulum a, nulla. Praesent porttitor turpis eleifend ante. Morbi sodales.nAenean posuere ante ut neque. Morbi sollicitudin congue felis. Praesent turpis diam, iaculis sed, pharetra non, mollis ac, mauris. Phasellus nisi ipsum, pretium vitae, tempor sed, molestie eu, dui. Duis lacus purus, tristique ut, iaculis cursus, tincidunt vitae, risus. Sed commodo. *** sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Sed urna. . Duis convallis ultrices nisi. Maecenas non ligula. Nunc nibh est, tincidunt in, placerat sit amet, vestibulum a, nulla. Praesent porttitor turpis eleifend ante. Morbi sodales. Sed augue tortor, sodales id, luctus et, pulvinar ut, eros. Suspendisse vel dolor. Sed quam. Curabitur ut massa vitae eros euismod aliquam. Pellentesque sit amet elit. Vestibulum interdum pellentesque augue. Cras mollis arcu sit amet purus. Donec augue. Nam mollis tortor a elit. Nulla viverra nisl vel mauris. Vivamus sapien. nascetur ridiculus mus. Nam justo lorem, aliquam luctus, sodales et, semper sed, enim Nam justo lorem, aliquam luctus, sodales et,nAenean posuere ante ut neque. Morbi sollicitudin congue felis. Praesent turpis diam, iaculis sed, pharetra non, mollis ac, mauris. Phasellus nisi ipsum, pretium vitae, tempor sed, molestie eu, dui. Duis lacus purus, tristique ut, iaculis cursus, tincidunt vitae, risus. Sed commodo. *** sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nam justo lorem, aliquam luctus, sodales et, semper sed, enim Nam justo lorem, aliquam luctus, sodales et, semper sed, enim Nam justo lorem, aliquam luctus, sodales et, semper sed, enim nAenean posuere ante ut neque. Morbi sollicitudin congue felis. Praesent turpis diam, iaculis sed, pharetra non, mollis ac, mauris. Phasellus nisi ipsum, pretium vitae, tempor sed, molestie eu, dui. Duis lacus purus, tristique ut, iaculis cursus, tincidunt vitae, risus. Sed commodo. *** sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Sed urna. . Duis convallis ultrices nisi. Maecenas non ligula. Nunc nibh est, tincidunt in, placerat sit amet, vestibulum a, nulla. Praesent porttitor turpis eleifend ante. Morbi sodales.nAenean posuere ante ut neque. Morbi sollicitudin congue felis. Praesent turpis diam, iaculis sed, pharetra non, mollis ac, mauris. Phasellus nisi ipsum, pretium vitae, tempor sed, molestie eu, dui. Duis lacus purus, tristique ut, iaculis cursus, tincidunt vitae, risus. Sed commodo. *** sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Sed urna. . Duis convallis ultrices nisi. Maecenas non ligula. Nunc nibh est, tincidunt in, placerat sit amet, vestibulum a, nulla. Praesent porttitor turpis eleifend ante. Morbi sodales. Sed augue tortor, sodales id, luctus et, pulvinar ut, eros. Suspendisse vel dolor. Sed quam. Curabitur ut massa vitae eros euismod aliquam. Pellentesque sit amet elit. Vestibulum interdum pellentesque augue. Cras mollis arcu sit amet purus. Donec augue. Nam mollis tortor a elit. Nulla viverra nisl vel mauris. Vivamus sapien. nascetur ridiculus mus. Nam justo lorem, aliquam luctus, sodales et, semper sed, enim Nam justo lorem, aliquam luctus, sodales et,nAenean posuere ante ut neque. Morbi sollicitudin congue felis. Praesent turpis diam, iaculis sed, pharetra non, mollis ac, mauris. Phasellus nisi ipsum, pretium vitae, tempor sed, molestie eu, dui. Duis lacus purus, tristique ut, iaculis cursus, tincidunt vitae, risus. Sed commodo. *** sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nam justo lorem, aliquam luctus, sodales et, semper sed, enim Nam justo lorem, aliquam luctus, sodales et, semper sed, enim Nam justo lorem, aliquam luctus, sodales et, semper sed, enim nAenean posuere ante ut neque. Morbi sollicitudin congue felis. Praesent turpis diam, iaculis sed, pharetra non, mollis ac, mauris. Phasellus nisi ipsum, pretium vitae, tempor sed, molestie eu, dui. Duis lacus purus, tristique ut, iaculis cursus, tincidunt vitae, risus. Sed commodo. *** sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Sed urna. . Duis convallis ultrices nisi. Maecenas non ligula. Nunc nibh est, tincidunt in, placerat sit amet, vestibulum a, nulla. Praesent porttitor turpis eleifend ante. Morbi sodales.nAenean posuere ante ut neque. Morbi sollicitudin congue felis. Praesent turpis diam, iaculis sed, pharetra non, mollis ac, mauris. Phasellus nisi ipsum, pretium vitae, tempor sed, molestie eu, dui. Duis lacus purus, tristique ut, iaculis cursus, tincidunt vitae, risus. Sed commodo. *** sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Sed urna. . Duis convallis ultrices nisi. Maecenas non ligula. Nunc nibh est, tincidunt in, placerat sit amet, vestibulum a, nulla. Praesent porttitor turpis eleifend ante. Morbi sodales.");

// متن را به سند اضافه کنید
box.Paragraphs.Add(text2);
page.Paragraphs.Add(box);

// سند PDF را ذخیره کنید
document.Save("Generated-PDF.pdf");
ایجاد pdf چند ستونی با استفاده از سی شارپ

درج تصویر در PDF با استفاده از سی شارپ

مراحل زیر نحوه درج تصاویر در اسناد PDF را نشان می دهد.

  • با استفاده از کلاس Document یک سند PDF جدید ایجاد کنید یا یک سند موجود را باز کنید.
  • صفحه ای را که می خواهید تصویر در آن درج کنید دریافت کنید.
  • تصویر را به تصاویر صفحه اضافه کنید.
  • از عملگرهای GSave، ConcatenateMatrix و Do برای قرار دادن تصویر در صفحه استفاده کنید.
  • سند PDF را با استفاده از روش Document.Save() ذخیره کنید.

نمونه کد زیر نحوه درج یک تصویر در PDF با استفاده از سی شارپ را نشان می دهد.

// سند PDF را بارگیری کنید 
Document document = new Document();
// اضافه کردن صفحه
Aspose.Pdf.Page page = document.Pages.Add();

// مختصات را تنظیم کنید
int lowerLeftX = 100;
int lowerLeftY = 100;
int upperRightX = 250;
int upperRightY = 250; 

// بارگذاری تصویر در جریان
FileStream imageStream = new FileStream("aspose_pdf.png", FileMode.Open);
// تصویر را به مجموعه تصاویر منابع صفحه اضافه کنید
page.Resources.Images.Add(imageStream);
// استفاده از عملگر GSave: این عملگر وضعیت گرافیکی فعلی را ذخیره می کند
page.Contents.Add(new Aspose.Pdf.Operators.GSave());
// اشیاء Rectangle و Matrix ایجاد کنید
Aspose.Pdf.Rectangle rectangle = new Aspose.Pdf.Rectangle(lowerLeftX, lowerLeftY, upperRightX, upperRightY);
//Matrix matrix = new Matrix(new double[] { rectangle.URX - rectangle.LLX, 0, 0, rectangle.URY - rectangle.LLY, rectangle.LLX, rectangle.LLY });
Matrix matrix = new Matrix(new double[] { 200, 0, 0, 200, 200, 600 });
// با استفاده از عملگر ConcatenateMatrix (ماتریس پیوست): نحوه قرار دادن تصویر را مشخص می کند
page.Contents.Add(new Aspose.Pdf.Operators.ConcatenateMatrix(matrix));
XImage ximage = page.Resources.Images[page.Resources.Images.Count];
// استفاده از عملگر Do: این عملگر تصویر را ترسیم می کند
page.Contents.Add(new Aspose.Pdf.Operators.Do(ximage.Name));
// استفاده از عملگر GRestore: این عملگر حالت گرافیکی را بازیابی می کند
page.Contents.Add(new Aspose.Pdf.Operators.GRestore());

// سند PDF را ذخیره کنید
document.Save("Generated-PDF.pdf");
درج تصویر در PDF با استفاده از سی شارپ

ایجاد جدول در یک فایل PDF با استفاده از سی شارپ

جدول برای سازماندهی داده ها در قالب ردیف و ستون و ارائه یک نمای کلی سریع از اطلاعات استفاده می شود. برای ایجاد جدول در سند PDF مراحل زیر را دنبال کنید.

  • یک شی از کلاس Document ایجاد کنید تا یک PDF جدید ایجاد کنید یا یک فایل موجود را بارگیری کنید.
  • به صفحه ای که می خواهید در آن جدول ایجاد کنید، دسترسی پیدا کنید.
  • یک نمونه از کلاس Table ایجاد کنید.
  • با استفاده از کلاس BorderInfo مرز جدول و مرز سلول ها را تنظیم کنید.
  • یک Row جدید به مجموعه Table.Rows ایجاد و اضافه کنید.
  • سلول ها را به مجموعه Row.Cells اضافه کنید.
  • جدول را با استفاده از روش Page.Paragraphs.Add() به صفحه اضافه کنید.
  • سند PDF را با استفاده از روش Document.Save() ذخیره کنید.

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

// سند PDF را بارگیری کنید 
Document document = new Document();
// اضافه کردن صفحه
Aspose.Pdf.Page page = document.Pages.Add();

// نمونه جدیدی از جدول را راه اندازی می کند
Aspose.Pdf.Table table = new Aspose.Pdf.Table();
// رنگ حاشیه جدول را به صورت LightGray تنظیم کنید
table.Border = new Aspose.Pdf.BorderInfo(Aspose.Pdf.BorderSide.All, .5f, Aspose.Pdf.Color.FromRgb(System.Drawing.Color.LightGray));
// مرز سلول های جدول را تنظیم کنید
table.DefaultCellBorder = new Aspose.Pdf.BorderInfo(Aspose.Pdf.BorderSide.All, .5f, Aspose.Pdf.Color.FromRgb(System.Drawing.Color.LightGray));
// یک حلقه برای اضافه کردن 10 ردیف ایجاد کنید
for (int row_count = 1; row_count < 10; row_count++)
{
	// سطر را به جدول اضافه کنید
	Aspose.Pdf.Row row = table.Rows.Add();
	// سلول های جدول را اضافه کنید
	row.Cells.Add("Column (" + row_count + ", 1)");
	row.Cells.Add("Column (" + row_count + ", 2)");
	row.Cells.Add("Column (" + row_count + ", 3)");
}

// جدول را به صفحه اضافه کنید
page.Paragraphs.Add(table);

// سند PDF را ذخیره کنید
document.Save("Generated-PDF.pdf");
ایجاد جدول در pdf با استفاده از سی شارپ

اضافه کردن حاشیه نویسی در PDF با استفاده از C#

حاشیه نویسی ها اشیاء گرافیکی هستند که برای ارائه اطلاعات اضافی در مورد محتوای اسناد PDF استفاده می شوند. فرمت PDF از حاشیه نویسی های مختلف از جمله متن، هایلایت، خط، یادداشت ها و غیره پشتیبانی می کند. مراحل زیر برای افزودن حاشیه نویسی در یک سند PDF است.

  • یک سند PDF جدید ایجاد کنید یا یک سند موجود را بارگیری کنید.
  • صفحه ای را که می خواهید حاشیه نویسی به آن اضافه کنید انتخاب کنید.
  • یک حاشیه نویسی جدید مانند TextAnnotation، LineAnnotation، HighlightAnnotation و غیره ایجاد کنید.
  • ویژگی های حاشیه نویسی را تنظیم کنید.
  • حاشیه نویسی را به مجموعه Page.Annotations اضافه کنید.
  • PDF را با استفاده از روش Document.Save() تولید کنید.

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

// سند PDF را بارگیری کنید 
Document document = new Document();
// اضافه کردن صفحه
Aspose.Pdf.Page page = document.Pages.Add();

// حاشیه نویسی ایجاد کنید
TextAnnotation textAnnotation = new TextAnnotation(page, new Aspose.Pdf.Rectangle(200, 400, 400, 600));
textAnnotation.Title = "Sample Annotation Title";
textAnnotation.Subject = "Sample Subject";
textAnnotation.State = AnnotationState.Accepted;
textAnnotation.Contents = "Sample contents for the annotation";
textAnnotation.Open = true;
textAnnotation.Icon = TextIcon.Key;

Border border = new Border(textAnnotation);
border.Width = 5;
border.Dash = new Dash(1, 1);
textAnnotation.Border = border;
textAnnotation.Rect = new Aspose.Pdf.Rectangle(200, 400, 400, 600);

// حاشیه نویسی را در مجموعه حاشیه نویسی صفحه اضافه کنید
page.Annotations.Add(textAnnotation);

// سند PDF را ذخیره کنید
document.Save("Generated-PDF.pdf");
اضافه کردن حاشیه نویسی در PDF با استفاده از C#

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

  • یک شیء Document جدید ایجاد کنید.
  • به صفحه ای که می خواهید هایپرلینک را در آن اضافه کنید، دسترسی پیدا کنید.
  • یک نمونه از کلاس LinkAnnotation ایجاد کنید.
  • ویژگی های شی LinkAnnotation از جمله Action URI را تنظیم کنید.
  • پیوند را به مجموعه Page.Annotations اضافه کنید.
  • از کلاس FreeTextAnnotation برای تنظیم متن هایپرلینک استفاده کنید.
  • شی FreeTextAnnotation را به مجموعه Page.Annotations اضافه کنید.
  • با استفاده از روش Document.Save() سند PDF ایجاد کنید.

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

// سند PDF را بارگیری کنید 
Document document = new Document();
// اضافه کردن صفحه
Aspose.Pdf.Page page = document.Pages.Add();

// شیء حاشیه نویسی پیوند ایجاد کنید
LinkAnnotation link = new LinkAnnotation(page, new Aspose.Pdf.Rectangle(100, 800, 250, 750));
// شیء مرزی برای LinkAnnotation ایجاد کنید
Border border = new Border(link);
// مقدار عرض حاشیه را 0 تنظیم کنید
border.Width = 1;
// مرز را برای LinkAnnotation تنظیم کنید
link.Border = border; 

// نوع پیوند را به عنوان URI راه دور مشخص کنید
link.Action = new GoToURIAction("www.aspose.com");
// اضافه کردن حاشیه نویسی لینک به مجموعه حاشیه نویسی صفحه اول فایل PDF
page.Annotations.Add(link);

// حاشیه نویسی متن رایگان برای متن پیوند ایجاد کنید
FreeTextAnnotation textAnnotation = new FreeTextAnnotation(document.Pages[1], new Aspose.Pdf.Rectangle(100, 800, 250, 750), new DefaultAppearance(Aspose.Pdf.Text.FontRepository.FindFont("TimesNewRoman"), 10, System.Drawing.Color.Blue));
// رشته ای که به عنوان متن آزاد اضافه می شود
textAnnotation.Contents = "Link to Aspose website";
// مرز را برای حاشیه نویسی متن آزاد تنظیم کنید
textAnnotation.Border = border;
// حاشیه نویسی FreeText را به مجموعه حاشیه نویسی صفحه اول سند اضافه کنید
page.Annotations.Add(textAnnotation);

// سند PDF را ذخیره کنید
document.Save("Generated-PDF.pdf");
اضافه کردن هایپرلینک به PDF با استفاده از سی شارپ

ایجاد نشانک در PDF با استفاده از C#

نشانک ها برای پیمایش به یک بخش یا صفحه خاص در اسناد PDF استفاده می شوند. Aspose.PDF for .NET به شما امکان می دهد بوکمارک ها را اضافه یا دستکاری کنید. مراحل زیر برای ایجاد و افزودن یک نشانک در یک سند PDF است.

  • یک سند PDF ایجاد کنید یا یک سند موجود را باز کنید.
  • با استفاده از کلاس OutlineItemCollection یک شی نشانک جدید ایجاد کنید.
  • نشانک‌ها را به مجموعه Document.Outlines اضافه کنید.
  • سند PDF را با استفاده از روش Document.Save() ایجاد کنید.

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

// سند PDF را بارگیری کنید 
Document document = new Document();
// اضافه کردن صفحه
Aspose.Pdf.Page page = document.Pages.Add();

// یک شی نشانک والد ایجاد کنید
OutlineItemCollection pdfOutline = new OutlineItemCollection(document.Outlines);
pdfOutline.Title = "Parent Outline";
pdfOutline.Italic = true;
pdfOutline.Bold = true;

// یک شی نشانک کودک ایجاد کنید
OutlineItemCollection pdfChildOutline = new OutlineItemCollection(document.Outlines);
pdfChildOutline.Title = "Child Outline";
pdfChildOutline.Italic = true;
pdfChildOutline.Bold = true;

// اضافه کردن نشانک فرزند به مجموعه نشانک والد
pdfOutline.Add(pdfChildOutline);
// نشانک والد را در مجموعه طرح کلی سند اضافه کنید.
document.Outlines.Add(pdfOutline);

// سند PDF را ذخیره کنید
document.Save("Generated-PDF.pdf");
ایجاد نشانک در PDF با استفاده از سی شارپ

نتیجه

در این مقاله نحوه ایجاد فایل های پی دی اف از ابتدا با استفاده از سی شارپ را به شما نشان دادم. راهنمای گام به گام و نمونه کد نشان می دهد که چگونه می توان متن، تصویر، جدول، حاشیه نویسی، لینک و نشانک ها را به صورت برنامه ریزی شده در فایل های PDF اضافه کرد. می توانید سایر ویژگی های کتابخانه PDF دات نت Aspose را با استفاده از مستندات کاوش کنید.

همچنین ببینید