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 PdfManagerالوراثة
الأعضاء الموروثة
- object.GetType(),
- object.MemberwiseClone(),
- object.ToString(),
- object.Equals(object?),
- object.Equals(object?, object?),
- object.ReferenceEquals(object?, object?),
- object.GetHashCode()
الطرق
AddTable(TableOptions)
إضافة جدول إلى مستند PDF.
public static ResultContainer AddTable(TableOptions options)الوسائط
optionsTableOptions: كائن خيارات يحتوي على التعليمات اللازمة للعملية.
القيمة المرجعة
ResultContainer : كائن يحتوي على نتيجة العملية.
أمثلة
يوضح المثال كيفية إضافة جدول إلى ملف PDF.
// Configure table options
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");
// Add input file path
options.AddInput(new FileData("path_to_input.pdf"));
// Set output file path
options.AddOutput(new FileData("path_to_output.pdf"));
// Perform the process
PdfManager.AddTable(options);يوضح المثال كيفية إضافة جدول إلى ملف PDF قبل الصفحة الثانية.
// Configure table options
var options = new TableOptions();
options.InsertPageBefore(2) // Add table before page 2
.AddTable()
.AddRow()
.AddCell().AddParagraph("Name")
.AddCell().AddParagraph("Age");
// Add input file path
options.AddInput(new FileData("path_to_input.pdf"));
// Set output file path
options.AddOutput(new FileData("path_to_output.pdf"));
// Perform the process
PdfManager.AddTable(options);الاستثناءات
إذا لم يتم تعيين الخيارات.
AddTableOfContents(TocOptions)
إضافة فهرس (TOC) إلى مستند PDF.
public static ResultContainer AddTableOfContents(TocOptions options)الوسائط
optionsTocOptions: كائن خيارات يحتوي على التعليمات اللازمة للعملية.
القيمة المرجعة
ResultContainer : كائن يحتوي على نتيجة العملية.
أمثلة
يوضح المثال كيفية إضافة فهرس إلى ملف PDF.
// Create TocOptions object to set instructions
var options = new TocOptions();
// Set the Title
options.Title = "My Table of Contents";
// Design Headings
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));
// Add input file path
options.AddInput(new FileData("path_to_your_pdf_file.pdf"));
// Set output file path
options.AddOutput(new FileData("path_to_result_pdf_file.pdf"));
// Perform the process
PdfManager.AddTableOfContents(options);يوضح المثال كيفية إضافة فهرس إلى ملف PDF مع إنشاء إشارات مرجعية.
// Create TocOptions object to set instructions
var options = new TocOptions();
// Set the Title
options.Title = "My Table of Contents";
// Generate links in bookmarks
options.GenerateBookmarks = true;
// Design Headings
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));
// Add input file path
options.AddInput(new FileData("path_to_your_pdf_file.pdf"));
// Set output file path
options.AddOutput(new FileData("path_to_result_pdf_file.pdf"));
// Perform the process
PdfManager.AddTableOfContents(options);يوضح المثال كيفية إضافة فهرس إلى ملف PDF وحفظه كـ stream.
// Create TocOptions object to set instructions
var options = new TocOptions();
// Set the Title
options.Title = "My Table of Contents";
// Design Headings
options.Headings.Add(new TocHeading("Introduction", 2, false, 1));
// Add input file path
options.AddInput(new FileData("path_to_your_pdf_file.pdf"));
// Set output stream
var outputStream = new MemoryStream();
options.AddOutput(new StreamData(outputStream));
options.CloseOutputStreams = false;
// Perform the process
PdfManager.AddTableOfContents(options);يوضح المثال كيفية إضافة فهرس إلى ملف PDF مع تخصيص عنوان الفهرس.
// Create TocOptions object to set instructions
var heading = new TocHeading();
heading.Text = "Intro";
heading.PageNumber = 5;
heading.GenerateNumbering = true;
heading.Level = 2;
var tocOptions = new TocOptions();
tocOptions.Headings.Add(heading);
// Add input and output files
tocOptions.AddInput(new FileData("path_to_your_pdf_file.pdf"));
tocOptions.AddOutput(new FileData("path_to_result_pdf_file.pdf"));
// Generate the TOC with customized options
PdfManager.AddTableOfContents(tocOptions);الاستثناءات
إذا لم يتم تعيين الخيارات.
Compress(CompressOptions)
ضغط مستند PDF. محاولة تقليل حجم المستند.
public static ResultContainer Compress(CompressOptions options)الوسائط
optionsCompressOptions: كائن خيارات يحتوي على التعليمات اللازمة للعملية.
القيمة المرجعة
ResultContainer : كائن يحتوي على نتيجة العملية.
أمثلة
يوضح المثال كيفية ضغط مستند PDF.
// Create CompressOptions object to set instructions
var options = new CompressOptions();
// Add input file path
options.AddInput(new FileData("path_to_your_pdf_file.pdf"));
// Set output file path
options.AddOutput(new FileData("path_to_result_pdf_file.pdf"));
// Perform the process
PdfManager.Compress(options);الاستثناءات
إذا لم يتم تعيين الخيارات.
CreatePdfByChatGptRequestAsync(ChatGptRequestOptions)
إنشاء مستند PDF بناءً على رد ChatGpt.
يُستخدم لإرسال طلبات إلى ChatGPT مباشرة أو عن طريق إضافة مصادر ملفات PDF وحفظ الرد في مصدر الإخراج.
public static Task<resultcontainer> CreatePdfByChatGptRequestAsync(ChatGptRequestOptions options)الوسائط
optionsChatGptRequestOptions: كائن خيارات يحتوي على التعليمات اللازمة للعملية.
القيمة المرجعة
كائن يحتوي على نتيجة العملية.
أمثلة
يوضح المثال كيفية استخدام ChatGpt بإضافة رسائل إلى الطلب.
var options = new ChatGptRequestOptions();
// Set output file path
options.AddOutput(new FileData("path_to_result_pdf_file.pdf"));
options.ApiKey = "Your API key."; // You need to provide the key to access the API.
options.MaxTokens = 1000; // The maximum number of tokens to generate in the chat completion.
// Add the request messages.
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
});
// Process the request.
var result = await PdfManager.CreatePdfByChatGptRequestAsync(options);
var fileResultPath = result.ResultCollection[0].Data;
var chatCompletionObject = result.ResultCollection[1].Data as ChatCompletion; // The ChatGPT API chat completion object.يوضح المثال كيفية استخدام ChatGpt بإضافة رسالة واحدة إلى الطلب.
var options = new ChatGptRequestOptions();
options.AddOutput(new FileData("path_to_result_pdf_file.pdf")); // Add the output file path.
options.ApiKey = "Your API key."; // You need to provide the key to access the API.
options.MaxTokens = 1000; // The maximum number of tokens to generate in the chat completion.
// Add the request message.
// In this case, the system message with Content = "You are a helpful assistant." is added by default.
// The role of the query message is "user" by default.
options.Query = "What is the lowest temperature recorded on the Earth?";
// Process the request.
var result = await PdfManager.CreatePdfByChatGptRequestAsync(options);
var fileResultPath = result.ResultCollection[0].Data;
var chatCompletionObject = result.ResultCollection[1].Data as ChatCompletion; // The ChatGPT API chat completion object.يوضح المثال كيفية استخدام الدردشة بإضافة ملف(ات) كمصدر(ات) للرسائل.
var options = new ChatGptRequestOptions();
// Set output file path
options.AddOutput(new FileData("path_to_result_pdf_file.pdf"));
// Add the PDF text source.
// In case of multiple sources, the text from each document will be added to the request message collection
// as a separate message with the role "user".
options.AddInput(new FileData("TextSource.pdf"));
options.ApiKey = "Your API key."; // You need to provide the key to access the API.
options.MaxTokens = 1000; // The maximum number of tokens to generate in the chat completion.
// Add the request message.
// In this case, the system message with Content = "You are a helpful assistant." is added by default.
// The role of the query message is "user" by default.
options.Query = "How many letters in the provided text?";
// Process the request.
var result = await PdfManager.CreatePdfByChatGptRequestAsync(options);
var fileResultPath = result.ResultCollection[0].Data;
var chatCompletionObject = result.ResultCollection[1].Data as ChatCompletion; // The ChatGPT API chat completion object.الاستثناءات
ArgumentException : إذا لم يتم تعيين الخيارات.
Merge(MergeOptions)
دمج مستندات PDF.
public static ResultContainer Merge(MergeOptions options)الوسائط
optionsMergeOptions: كائن خيارات يحتوي على التعليمات اللازمة للعملية.
القيمة المرجعة
ResultContainer : كائن يحتوي على نتيجة العملية.
أمثلة
يوضح المثال كيفية دمج ملفي PDF.
// Create MergeOptions object to set instructions
var options = new MergeOptions();
// Add input file paths
options.AddInput(new FileData("path_to_your_pdf_file_1.pdf"));
options.AddInput(new FileData("path_to_your_pdf_file_2.pdf"));
// Set output file path
options.AddOutput(new FileData("path_to_result_pdf_file.pdf"));
// Perform the process
PdfManager.Merge(options);الاستثناءات
إذا لم يتم تعيين الخيارات.
Optimize(OptimizeOptions)
تحسين مستند PDF.
تسلسل المستند بحيث:
- يتم فتح الصفحة الأولى بأسرع ما يمكن؛
- يتم عرض الصفحة التالية أو الانتقال إلى الرابط التالي بأسرع ما يمكن؛
- يتم عرض الصفحة تدريجيًا مع وصول البيانات ببطء (عرض أهم البيانات أولاً)؛
- يمكن للمستخدم التفاعل، مثل الضغط على رابط، قبل استلام الصفحة بالكامل وعرضها.
public static ResultContainer Optimize(OptimizeOptions options)الوسائط
optionsOptimizeOptions: كائن خيارات يحتوي على التعليمات اللازمة للعملية.
القيمة المرجعة
ResultContainer : كائن يحتوي على نتيجة العملية.
أمثلة
يوضح المثال كيفية تحسين مستند PDF.
// Create OptimizeOptions object to set instructions
var options = new OptimizeOptions();
// Add input file path
options.AddInput(new FileData("path_to_your_pdf_file.pdf"));
// Set output file path
options.AddOutput(new FileData("path_to_result_pdf_file.pdf"));
// Perform the process
PdfManager.Optimize(options);الاستثناءات
إذا لم يتم تعيين الخيارات.
Resize(ResizeOptions)
تغيير حجم صفحات مستند PDF.
public static ResultContainer Resize(ResizeOptions options)الوسائط
optionsResizeOptions: كائن خيارات يحتوي على التعليمات اللازمة للعملية.
القيمة المرجعة
ResultContainer : كائن يحتوي على نتيجة العملية.
أمثلة
يوضح المثال كيفية تغيير حجم مستند PDF.
// Create ResizeOptions object to set instructions
var options = new ResizeOptions();
// Set new PageSize
options.PageSize = PageSize.A3;
// Add input file path
options.AddInput(new FileData("path_to_your_pdf_file.pdf"));
// Set output file path
options.AddOutput(new FileData("path_to_result_pdf_file.pdf"));
// Perform the process
PdfManager.Resize(options);الاستثناءات
إذا لم يتم تعيين الخيارات.
Rotate(RotateOptions)
تدوير صفحات مستند PDF.
public static ResultContainer Rotate(RotateOptions options)الوسائط
optionsRotateOptions: كائن خيارات يحتوي على التعليمات اللازمة للعملية.
القيمة المرجعة
ResultContainer : كائن يحتوي على نتيجة العملية.
أمثلة
يوضح المثال كيفية تدوير مستند PDF.
// Create RotateOptions object to set instructions
var options = new RotateOptions();
// Set new Rotation
options.Rotation = Rotation.On90;
// Add input file path
options.AddInput(new FileData("path_to_your_pdf_file.pdf"));
// Set output file path
options.AddOutput(new FileData("path_to_result_pdf_file.pdf"));
// Perform the process
PdfManager.Rotate(options);الاستثناءات
إذا لم يتم تعيين الخيارات.
Split(SplitOptions)
تقسيم مستند PDF إلى صفحات.
public static ResultContainer Split(SplitOptions options)الوسائط
optionsSplitOptions: كائن خيارات يحتوي على التعليمات اللازمة للعملية.
القيمة المرجعة
ResultContainer : كائن يحتوي على نتيجة العملية.
أمثلة
يوضح المثال كيفية تقسيم مستند PDF.
// Create SplitOptions object to set instructions
var options = new SplitOptions();
// Add input file path
options.AddInput(new FileData("path_to_your_pdf_file.pdf"));
// Set output file paths
options.AddOutput(new FileData("path_to_result_pdf_file_1.pdf"));
options.AddOutput(new FileData("path_to_result_pdf_file_2.pdf"));
// Perform the process
PdfManager.Split(options);الاستثناءات
إذا لم يتم تعيين الخيارات.
Namespace: Documentize
Assembly: Documentize.dll