إنشاء مستندات PDF باستخدام C#

PDF هو تنسيق مستند مستقل عن النظام الأساسي يحافظ على تنسيق المحتوى وتخطيطه بشكل متسق عبر أنظمة التشغيل أو الأجهزة المختلفة. هذا هو السبب في أن العديد من المؤسسات تستخدم تنسيق PDF لإنشاء الفواتير والإيصالات والتقارير ومستندات الأعمال الأخرى بشكل ديناميكي. Aspose.PDF for .NET هي مكتبة PDF تساعدك على تنفيذ أتمتة PDF في تطبيقات .NET. يسمح لك بإنشاء ملفات PDF وتحريرها وتحليلها وتحويلها برمجيًا باستخدام C# أو VB.NET. في هذه المقالة ، سأغطي ميزات إنشاء ملفات PDF وسأوضح لك كيفية إنشاء ملفات PDF من البداية باستخدام C#.

سأبدأ بإنشاء مستند PDF بسيط ثم تابع لإضافة عناصر أخرى إلى المستند. فيما يلي قائمة الميزات التي سأعرضها في هذه المقالة.

مكتبة C# PDF - التثبيت

يمكنك تثبيت Aspose.PDF for .NET باستخدام NuGet Package Manager أو Package Manager Console باستخدام الأمر التالي. بدلاً من ذلك ، يمكن تنزيله من قسم التنزيلات.

Install-Package Aspose.Pdf

قم بإنشاء ملف PDF باستخدام C#

يتيح أولاً إنشاء مستند PDF يحتوي على جزء نصي. فيما يلي خطوات إنشاء مستند PDF بسيط من البداية.

يوضح نموذج التعليمات البرمجية التالي كيفية إنشاء ملف PDF باستخدام C#.

// قم بتحميل مستند 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 باستخدام C#

تطبيق تنسيق النص في PDF باستخدام C#

دعنا الآن نتحقق من كيفية إضافة نص إلى مستند PDF واستخدام خيارات تنسيق مختلفة. فيما يلي خطوات إجراء هذه العملية.

  • استخدم فئة Document لإنشاء مستند PDF جديد أو تحميل مستند موجود.
  • قم بالوصول إلى الصفحة التي تريد وضع النص عليها.
  • أنشئ كائنًا من TextFragment واضبط النص وخيارات التنسيق الأخرى مثل الموضع والخط واللون والحجم ، إلخ.
  • استخدم فئة TextBuilder لإضافة كائن TextFragment إلى الصفحة.
  • استخدم طريقة Document.Save() لإنشاء مستند PDF.

يوضح نموذج التعليمات البرمجية التالي كيفية إضافة نص منسق في ملف PDF باستخدام C#.

// قم بتحميل مستند 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 بنص منسق باستخدام C#

إنشاء ملف PDF متعدد الأعمدة باستخدام C#

غالبًا ما نرى أن النص في الصحف والمقالات البحثية وأنواع المستندات الأخرى مقسم إلى عمودين أو أكثر. من أجل تحقيق تقسيم النص هذا ، يسمح Aspose.PDF for .NET بإنشاء ملف 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);
// أضف السطر إلى مجموعة paraphraphs من كائن القسم
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 متعدد الأعمدة باستخدام C#

إدراج صورة في ملف PDF باستخدام C#

توضح الخطوات التالية كيفية إدراج الصور في مستندات PDF.

  • أنشئ مستند PDF جديدًا أو افتح مستندًا موجودًا باستخدام فئة المستند.
  • احصل على الصفحة التي تريد إدراج صورة فيها.
  • أضف الصورة إلى صور الصفحة.
  • استخدم عوامل التشغيل GSave و ConcatenateMatrix و Do لوضع الصورة على الصفحة.
  • احفظ مستند PDF باستخدام طريقة Document.Save().

يوضح نموذج التعليمات البرمجية التالي كيفية إدراج صورة في PDF باستخدام C#.

// قم بتحميل مستند 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());
// إنشاء كائنات مستطيل ومصفوفة
Aspose.Pdf.Rectangle rectangle = new Aspose.Pdf.Rectangle(lowerLeftX, lowerLeftY, upperRightX, upperRightY);
//مصفوفة المصفوفة = مصفوفة جديدة (مزدوجة جديدة [] {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];
// باستخدام عامل التشغيل: يقوم هذا العامل برسم الصورة
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 باستخدام C#

إنشاء جدول في ملف PDF باستخدام C#

يستخدم الجدول لتنظيم البيانات في شكل صفوف وأعمدة ولتقديم نظرة عامة سريعة على المعلومات. لإنشاء جدول في مستند PDF ، اتبع الخطوات التالية.

  • قم بإنشاء كائن من فئة مستند لإنشاء ملف PDF جديد أو تحميل ملف موجود.
  • قم بالوصول إلى الصفحة التي تريد إنشاء جدول فيها.
  • قم بإنشاء مثيل لفئة Table.
  • عيّن حدود الجدول وحد الخلايا باستخدام فئة BorderInfo.
  • قم بإنشاء وإضافة صف جديد إلى مجموعة Table.Rows.
  • أضف خلايا إلى المجموعة Row.Cells.
  • أضف الجدول إلى الصفحة باستخدام طريقة Page.Paragraphs.Add().
  • احفظ مستند PDF باستخدام طريقة Document.Save().

يوضح نموذج التعليمات البرمجية التالي كيفية إنشاء جدول في PDF باستخدام C#.

// قم بتحميل مستند 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 باستخدام C#

أضف تعليقًا توضيحيًا في ملف PDF باستخدام C#

التعليقات التوضيحية هي كائنات رسومية تُستخدم لتوفير معلومات إضافية حول المحتوى في مستندات PDF. يدعم تنسيق PDF العديد من التعليقات التوضيحية بما في ذلك النص والتمييز والسطر والملاحظات وما إلى ذلك. فيما يلي الخطوات لإضافة تعليق توضيحي في مستند PDF.

  • قم بإنشاء مستند PDF جديد أو تحميل مستند موجود.
  • اختر الصفحة التي تريد إضافة تعليق توضيحي إليها.
  • أنشئ تعليقًا توضيحيًا جديدًا مثل TextAnnotation ، LineAnnotation ، HighlightAnnotation ، إلخ.
  • قم بتعيين خصائص التعليق التوضيحي.
  • أضف تعليقًا توضيحيًا إلى مجموعة Page. تعليقات توضيحية.
  • قم بإنشاء ملف 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 باستخدام Link Annotation. فيما يلي خطوات إجراء هذه العملية.

  • قم بإنشاء كائن مستند جديد.
  • قم بالوصول إلى الصفحة التي تريد إضافة الارتباط التشعبي إليها.
  • قم بإنشاء مثيل لفئة LinkAnnotation.
  • قم بتعيين خصائص كائن LinkAnnotation بما في ذلك عنوان URI للإجراء.
  • أضف الارتباط إلى المجموعة Page.Annotations.
  • استخدم فئة FreeTextAnnotation لتعيين نص الارتباط التشعبي.
  • أضف كائن FreeTextAnnotation إلى مجموعة Page.Annotations.
  • إنشاء مستند PDF باستخدام طريقة Document.Save().

يوضح نموذج التعليمات البرمجية التالي كيفية إضافة ارتباط تشعبي إلى مستند 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 باستخدام C#

إنشاء إشارات مرجعية في ملف 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 باستخدام C#

استنتاج

في هذه المقالة ، أوضحت لك كيفية إنشاء ملفات PDF من البداية باستخدام C#. يوضح الدليل التدريجي وعينات التعليمات البرمجية كيفية إضافة نص وصورة وجدول وتعليقات توضيحية وارتباط تشعبي وإشارات مرجعية في ملفات PDF برمجيًا. يمكنك استكشاف الميزات الأخرى لمكتبة Aspose’s .NET PDF باستخدام التوثيق.

أنظر أيضا