Class PdfManager
يمثل مكوّن Documentize.PdfManager. يُستخدم لدمج، وتقسيم، وتحسين، وتدوير، وتغيير حجم، وضغط ملفات PDF بالإضافة إلى إضافة جدول، وإضافة فهرس (TOC) إلى ملفات PDF. يمكن دمج عدة ملفات PDF في ملف PDF واحد. يمكن تقسيم ملفات PDF إلى صفحات منفصلة. يمكن تحسين، وتدوير، وتغيير حجم، وضغط ملفات PDF. يمكن تدوير وتغيير حجم صفحات ملف PDF. يمكن إضافة جدول إلى ملف PDF. يمكن إضافة فهرس إلى ملف PDF.
يمثل مكوّن Documentize.PdfManager. يُستخدم لدمج، وتقسيم، وتحسين، وتدوير، وتغيير حجم، وضغط ملفات PDF بالإضافة إلى إضافة جدول، وإضافة فهرس (TOC) إلى ملفات PDF. يمكن دمج عدة ملفات PDF في ملف PDF واحد. يمكن تقسيم ملفات PDF إلى صفحات منفصلة. يمكن تحسين، وتدوير، وتغيير حجم، وضغط ملفات PDF. يمكن تدوير وتغيير حجم صفحات ملف PDF. يمكن إضافة جدول إلى ملف PDF. يمكن إضافة فهرس إلى ملف PDF.
public static class PdfManagerInheritance
Inherited Members
- object.GetType(),
- object.MemberwiseClone(),
- object.ToString(),
- object.Equals(object?),
- object.Equals(object?, object?),
- object.ReferenceEquals(object?, object?),
- object.GetHashCode()
Methods
AddTable(TableOptions)
إضافة جدول إلى ملف PDF.
public static ResultContainer AddTable(TableOptions options)Parameters
optionsTableOptions: كائن خيارات يحتوي على التعليمات اللازمة للعملية.
Returns
ResultContainer : كائن يحتوي على نتيجة العملية.
Examples
يوضح المثال كيفية إضافة جدول إلى ملف PDF.
// تهيئة خيارات الجدول
var options = new TableOptions();
options.InsertPageBefore(1)
.AddTable()
.AddRow()
.AddCell().AddParagraph("Name")
.AddCell().AddParagraph("Age")
.AddRow()
.AddCell().AddParagraph("Bob")
.AddCell().AddParagraph("12")
.AddRow()
.AddCell().AddParagraph("Sam")
.AddCell().AddParagraph("20")
.AddRow()
.AddCell().AddParagraph("Sandy")
.AddCell().AddParagraph("26")
.AddRow()
.AddCell().AddParagraph("Tom")
.AddCell().AddParagraph("12")
.AddRow()
.AddCell().AddParagraph("Jim")
.AddCell().AddParagraph("27");
// إضافة مسار ملف الإدخال
options.AddInput(new FileData("path_to_input.pdf"));
// تحديد مسار ملف الإخراج
options.AddOutput(new FileData("path_to_output.pdf"));
// تنفيذ العملية
PdfManager.AddTable(options);يوضح المثال كيفية إضافة جدول إلى ملف PDF قبل الصفحة رقم 2.
// تهيئة خيارات الجدول
var options = new TableOptions();
options.InsertPageBefore(2) // إضافة جدول قبل الصفحة 2
.AddTable()
.AddRow()
.AddCell().AddParagraph("Name")
.AddCell().AddParagraph("Age");
// إضافة مسار ملف الإدخال
options.AddInput(new FileData("path_to_input.pdf"));
// تحديد مسار ملف الإخراج
options.AddOutput(new FileData("path_to_output.pdf"));
// تنفيذ العملية
PdfManager.AddTable(options);Exceptions
ArgumentException إذا لم يتم ضبط الخيارات.
AddTableOfContents(TocOptions)
إضافة فهرس (TOC) إلى ملف PDF.
public static ResultContainer AddTableOfContents(TocOptions options)Parameters
optionsTocOptions: كائن خيارات يحتوي على التعليمات اللازمة للعملية.
Returns
ResultContainer : كائن يحتوي على نتيجة العملية.
Examples
يوضح المثال كيفية إضافة فهرس إلى ملف PDF.
// إنشاء كائن TocOptions لتحديد التعليمات
var options = new TocOptions();
// تعيين العنوان
options.Title = "My Table of Contents";
// تحديد العناوين
options.Headings.Add(new TocHeading("Introduction", 2));
options.Headings.Add(new TocHeading("Chapter I", 3));
options.Headings.Add(new TocHeading("Chapter II", 4));
options.Headings.Add(new TocHeading("Chapter III", 5));
// إضافة مسار ملف الإدخال
options.AddInput(new FileData("path_to_your_pdf_file.pdf"));
// تحديد مسار ملف الإخراج
options.AddOutput(new FileData("path_to_result_pdf_file.pdf"));
// تنفيذ العملية
PdfManager.AddTableOfContents(options);يوضح المثال كيفية إضافة فهرس إلى ملف PDF مع توليد إشارات مرجعية (bookmarks).
// إنشاء كائن TocOptions لتحديد التعليمات
var options = new TocOptions();
// تعيين العنوان
options.Title = "My Table of Contents";
// توليد روابط في الإشارات المرجعية
options.GenerateBookmarks = true;
// تحديد العناوين
options.Headings.Add(new TocHeading("Introduction", 2, false, 1));
options.Headings.Add(new TocHeading("Chapter I", 3, true, 1));
options.Headings.Add(new TocHeading("Chapter II", 4, true, 1));
options.Headings.Add(new TocHeading("Example A", 4, true, 2));
options.Headings.Add(new TocHeading("Example B", 4, true, 2));
options.Headings.Add(new TocHeading("Example C", 4, true, 2));
options.Headings.Add(new TocHeading("Example D", 4, true, 2));
options.Headings.Add(new TocHeading("Chapter III", 5, true, 1));
// إضافة مسار ملف الإدخال
options.AddInput(new FileData("path_to_your_pdf_file.pdf"));
// تحديد مسار ملف الإخراج
options.AddOutput(new FileData("path_to_result_pdf_file.pdf"));
// تنفيذ العملية
PdfManager.AddTableOfContents(options);يوضح المثال كيفية إضافة فهرس إلى ملف PDF وحفظه كتيار (stream).
// إنشاء كائن TocOptions لتحديد التعليمات
var options = new TocOptions();
// تعيين العنوان
options.Title = "My Table of Contents";
// تحديد العناوين
options.Headings.Add(new TocHeading("Introduction", 2, false, 1));
// إضافة مسار ملف الإدخال
options.AddInput(new FileData("path_to_your_pdf_file.pdf"));
// تحديد تيار الإخراج
var outputStream = new MemoryStream();
options.AddOutput(new StreamData(outputStream));
options.CloseOutputStreams = false;
// تنفيذ العملية
PdfManager.AddTableOfContents(options);يوضح المثال كيفية إضافة فهرس إلى ملف PDF مع تخصيص عنوان الفهرس.
// إنشاء كائن TocOptions لتحديد التعليمات
var heading = new TocHeading();
heading.Text = "Intro";
heading.PageNumber = 5;
heading.GenerateNumbering = true;
heading.Level = 2;
var tocOptions = new TocOptions();
tocOptions.Headings.Add(heading);
// إضافة ملفات الإدخال والإخراج
tocOptions.AddInput(new FileData("path_to_your_pdf_file.pdf"));
tocOptions.AddOutput(new FileData("path_to_result_pdf_file.pdf"));
// توليد الفهرس باستخدام الخيارات المخصصة
PdfManager.AddTableOfContents(tocOptions);Exceptions
ArgumentException إذا لم يتم ضبط الخيارات.
Compress(CompressOptions)
ضغط ملف PDF. محاولة تقليل حجم الوثيقة.
public static ResultContainer Compress(CompressOptions options)Parameters
optionsCompressOptions: كائن خيارات يحتوي على التعليمات اللازمة للعملية.
Returns
ResultContainer : كائن يحتوي على نتيجة العملية.
Examples
يوضح المثال كيفية ضغط ملف PDF.
// إنشاء كائن CompressOptions لتحديد التعليمات
var options = new CompressOptions();
// إضافة مسار ملف الإدخال
options.AddInput(new FileData("path_to_your_pdf_file.pdf"));
// تحديد مسار ملف الإخراج
options.AddOutput(new FileData("path_to_result_pdf_file.pdf"));
// تنفيذ العملية
PdfManager.Compress(options);Exceptions
ArgumentException إذا لم يتم ضبط الخيارات.
CreatePdfByChatGptRequestAsync(ChatGptRequestOptions)
إنشاء مستند PDF من رد ChatGpt. يُستخدم لإرسال طلبات إلى ChatGPT مباشرة أو بإضافة مصادر ملفات PDF وحفظ الرد في مصدر الإخراج.
public static Task<resultcontainer> CreatePdfByChatGptRequestAsync(ChatGptRequestOptions options)Parameters
optionsChatGptRequestOptions: كائن خيارات يحتوي على التعليمات اللازمة للعملية.
Returns
كائن يحتوي على نتيجة العملية.
Examples
يوضح المثال كيفية استخدام ChatGpt بإضافة رسائل إلى الطلب.
var options = new ChatGptRequestOptions();
// تعيين مسار ملف الإخراج
options.AddOutput(new FileData("path_to_result_pdf_file.pdf"));
options.ApiKey = "Your API key."; // تحتاج إلى توفير المفتاح للوصول إلى API.
options.MaxTokens = 1000; // الحد الأقصى لعدد الرموز التي سيتم توليدها في إكمال الدردشة.
// إضافة رسائل الطلب.
options.Messages.Add(new Message
{
Content = "You are a helpful assistant.",
Role = Role.System
});
options.Messages.Add(new Message
{
Content = "What is the biggest pizza diameter ever made?",
Role = Role.User
});
// تنفيذ الطلب.
var result = await PdfManager.CreatePdfByChatGptRequestAsync(options);
var fileResultPath = result.ResultCollection[0].Data;
var chatCompletionObject = result.ResultCollection[1].Data as ChatCompletion; // كائن إكمال الدردشة من API الخاص بـ ChatGPT.يوضح المثال كيفية استخدام ChatGpt بإضافة رسالة واحدة إلى الطلب.
var options = new ChatGptRequestOptions();
options.AddOutput(new FileData("path_to_result_pdf_file.pdf")); // إضافة مسار ملف الإخراج.
options.ApiKey = "Your API key."; // تحتاج إلى توفير المفتاح للوصول إلى API.
options.MaxTokens = 1000; // الحد الأقصى لعدد الرموز التي سيتم توليدها في إكمال الدردشة.
// إضافة رسالة الطلب.
// في هذه الحالة، يتم إضافة رسالة النظام بالمحتوى "You are a helpful assistant." افتراضيًا.
// يكون دور رسالة الاستعلام "user" افتراضيًا.
options.Query = "What is the lowest temperature recorded on the Earth?";
// تنفيذ الطلب.
var result = await PdfManager.CreatePdfByChatGptRequestAsync(options);
var fileResultPath = result.ResultCollection[0].Data;
var chatCompletionObject = result.ResultCollection[1].Data as ChatCompletion; // كائن إكمال الدردشة من API الخاص بـ ChatGPT.يوضح المثال كيفية استخدام الدردشة بإضافة ملف(ات) كمصدر(ات) للرسائل.
var options = new ChatGptRequestOptions();
// تعيين مسار ملف الإخراج
options.AddOutput(new FileData("path_to_result_pdf_file.pdf"));
// إضافة مصدر نص PDF.
// في حالة وجود مصادر متعددة، سيُضاف النص من كل وثيقة إلى مجموعة رسائل الطلب
// كرسالة منفصلة بدور "user".
options.AddInput(new FileData("TextSource.pdf"));
options.ApiKey = "Your API key."; // تحتاج إلى توفير المفتاح للوصول إلى API.
options.MaxTokens = 1000; // الحد الأقصى لعدد الرموز التي سيتم توليدها في إكمال الدردشة.
// إضافة رسالة الطلب.
// في هذه الحالة، يتم إضافة رسالة النظام بالمحتوى "You are a helpful assistant." افتراضيًا.
// يكون دور رسالة الاستعلام "user" افتراضيًا.
options.Query = "How many letters in the provided text?";
// تنفيذ الطلب.
var result = await PdfManager.CreatePdfByChatGptRequestAsync(options);
var fileResultPath = result.ResultCollection[0].Data;
var chatCompletionObject = result.ResultCollection[1].Data as ChatCompletion; // كائن إكمال الدردشة من API الخاص بـ ChatGPT.Exceptions
ArgumentException : إذا لم يتم ضبط الخيارات.
Merge(MergeOptions)
دمج مستندات PDF.
public static ResultContainer Merge(MergeOptions options)Parameters
optionsMergeOptions: كائن خيارات يحتوي على التعليمات اللازمة للعملية.
Returns
ResultContainer : كائن يحتوي على نتيجة العملية.
Examples
يوضح المثال كيفية دمج ملفين PDF.
// إنشاء كائن MergeOptions لتحديد التعليمات
var options = new MergeOptions();
// إضافة مسارات ملفات الإدخال
options.AddInput(new FileData("path_to_your_pdf_file_1.pdf"));
options.AddInput(new FileData("path_to_your_pdf_file_2.pdf"));
// تحديد مسار ملف الإخراج
options.AddOutput(new FileData("path_to_result_pdf_file.pdf"));
// تنفيذ العملية
PdfManager.Merge(options);Exceptions
ArgumentException إذا لم يتم ضبط الخيارات.
Optimize(OptimizeOptions)
تحسين ملف PDF. تسلسل الوثيقة لتمكين:
- فتح الصفحة الأولى بأسرع ما يمكن؛
- عرض الصفحة التالية أو الانتقال عبر رابط إلى الصفحة التالية بأسرع ما يمكن؛
- عرض الصفحة بشكل تدريجي مع وصول البيانات عبر قناة بطيئة (عرض أهم البيانات أولاً)؛
- السماح بالتفاعل مع المستخدم، مثل اتباع رابط، قبل استلام وعرض الصفحة بالكامل.
public static ResultContainer Optimize(OptimizeOptions options)Parameters
optionsOptimizeOptions: كائن خيارات يحتوي على التعليمات اللازمة للعملية.
Returns
ResultContainer : كائن يحتوي على نتيجة العملية.
Examples
يوضح المثال كيفية تحسين ملف PDF.
// إنشاء كائن OptimizeOptions لتحديد التعليمات
var options = new OptimizeOptions();
// إضافة مسار ملف الإدخال
options.AddInput(new FileData("path_to_your_pdf_file.pdf"));
// تحديد مسار ملف الإخراج
options.AddOutput(new FileData("path_to_result_pdf_file.pdf"));
// تنفيذ العملية
PdfManager.Optimize(options);Exceptions
ArgumentException إذا لم يتم ضبط الخيارات.
Resize(ResizeOptions)
تغيير حجم صفحات ملف PDF.
public static ResultContainer Resize(ResizeOptions options)Parameters
optionsResizeOptions: كائن خيارات يحتوي على التعليمات اللازمة للعملية.
Returns
ResultContainer : كائن يحتوي على نتيجة العملية.
Examples
يوضح المثال كيفية تغيير حجم ملف PDF.
// إنشاء كائن ResizeOptions لتحديد التعليمات
var options = new ResizeOptions();
// تعيين حجم الصفحة الجديد
options.PageSize = PageSize.A3;
// إضافة مسار ملف الإدخال
options.AddInput(new FileData("path_to_your_pdf_file.pdf"));
// تحديد مسار ملف الإخراج
options.AddOutput(new FileData("path_to_result_pdf_file.pdf"));
// تنفيذ العملية
PdfManager.Resize(options);Exceptions
ArgumentException إذا لم يتم ضبط الخيارات.
Rotate(RotateOptions)
تدوير صفحات ملف PDF.
public static ResultContainer Rotate(RotateOptions options)Parameters
optionsRotateOptions: كائن خيارات يحتوي على التعليمات اللازمة للعملية.
Returns
ResultContainer : كائن يحتوي على نتيجة العملية.
Examples
يوضح المثال كيفية تدوير ملف PDF.
// إنشاء كائن RotateOptions لتحديد التعليمات
var options = new RotateOptions();
// تعيين درجة التدوير الجديدة
options.Rotation = Rotation.On90;
// إضافة مسار ملف الإدخال
options.AddInput(new FileData("path_to_your_pdf_file.pdf"));
// تحديد مسار ملف الإخراج
options.AddOutput(new FileData("path_to_result_pdf_file.pdf"));
// تنفيذ العملية
PdfManager.Rotate(options);Exceptions
ArgumentException إذا لم يتم ضبط الخيارات.
Split(SplitOptions)
تقسيم ملف PDF حسب الصفحات.
public static ResultContainer Split(SplitOptions options)Parameters
optionsSplitOptions: كائن خيارات يحتوي على التعليمات اللازمة للعملية.
Returns
ResultContainer : كائن يحتوي على نتيجة العملية.
Examples
يوضح المثال كيفية تقسيم ملف PDF.
// إنشاء كائن SplitOptions لتحديد التعليمات
var options = new SplitOptions();
// إضافة مسار ملف الإدخال
options.AddInput(new FileData("path_to_your_pdf_file.pdf"));
// تحديد مسارات ملفات الإخراج
options.AddOutput(new FileData("path_to_result_pdf_file_1.pdf"));
options.AddOutput(new FileData("path_to_result_pdf_file_2.pdf"));
// تنفيذ العملية
PdfManager.Split(options);Exceptions
ArgumentException إذا لم يتم ضبط الخيارات.
Namespace: Documentize Assembly: Documentize.dll