v25.11

إضافة جديدة: محول PDF

  • Class PdfConverter: يحتوي على جميع وظائف الإضافات: DocConverter، XlsConverter، HtmlConverter، JpegConverter، PdfAConverter، PngConverter، TiffConverter.
  • Class DocConverter: ستحذف قريبًا، استخدم PdfConverter.
  • Class XlsConverter: ستحذف قريبًا، استخدم PdfConverter.
  • Class HtmlConverter: ستحذف قريبًا، استخدم PdfConverter.
  • Class JpegConverter: ستحذف قريبًا، استخدم PdfConverter.
  • Class PdfAConverter: ستحذف قريبًا، استخدم PdfConverter.
  • Class PngConverter: ستحذف قريبًا، استخدم PdfConverter.
  • Class TiffConverter: ستحذف قريبًا، استخدم PdfConverter.
  • Class PdfAConvertOptions: أعيدت تسميته إلى Class PdfToPdfAOptions.
  • انظر The New Plugin Architecture.

مثال على الاستخدام:

يوضح المثال كيفية تحويل مستند PDF إلى تنسيق Doc.

// إنشاء كائن PdfToDocOptions لتحديد التعليمات
var options = new PdfToDocOptions();
// إضافة مسار ملف الإدخال
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// تعيين مسار ملف الإخراج
options.AddOutput(new FileDataSource("path_to_result_file.doc"));
// تنفيذ العملية
PdfConverter.Convert(options);

مثال على الاستخدام:

يوضح المثال كيفية تحويل PDF إلى مستند XLSX.

// إنشاء كائن PdfToXlsOptions لتحديد التعليمات
var options = new PdfToXlsOptions();
// إضافة مسار ملف الإدخال
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// تعيين مسار ملف الإخراج
options.AddOutput(new FileDataSource("path_to_result_xlsx_file.xlsx"));
// تنفيذ العملية
PdfConverter.Convert(options);

مثال على الاستخدام:

يوضح المثال كيفية تحويل PDF إلى مستند HTML.

// إنشاء كائن PdfToHtmlOptions لتعيين نوع البيانات الناتجة كملف يحتوي على موارد مدمجة
var options = new PdfToHtmlOptions(PdfToHtmlOptions.SaveDataType.FileWithEmbeddedResources);
// إضافة مسار ملف الإدخال
options.AddInput(new FileDataSource("path_to_input.pdf"));
// تعيين مسار ملف الإخراج
options.AddOutput(new FileDataSource("path_to_output.html"));
// تنفيذ العملية
PdfConverter.Convert(options);

مثال على الاستخدام:

يوضح المثال كيفية تحويل HTML إلى مستند PDF.

// إنشاء HtmlToPdfOptions
var options = new HtmlToPdfOptions();
// إضافة مسار ملف الإدخال
options.AddInput(new FileDataSource("path_to_input.html"));
// تعيين مسار ملف الإخراج
options.AddOutput(new FileDataSource("path_to_output.pdf"));
// تنفيذ العملية
PdfConverter.Convert(options);

مثال على الاستخدام:

يوضح المثال كيفية تحويل مستند PDF إلى تنسيق JPEG.

// إنشاء كائن PdfToJpegOptions لتحديد التعليمات
var options = new PdfToJpegOptions();
// إضافة مسار ملف الإدخال
options.AddInput(new FileDataSource("path_to_input.pdf"));
// تعيين مسار الدليل الناتج
options.AddOutput(new DirectoryDataSource("path_to_output_directory"));
// تنفيذ العملية
PdfConverter.Convert(options);

مثال على الاستخدام:

يوضح المثال كيفية تحويل مستند PDF إلى تنسيق PNG.

// إنشاء كائن PdfToPngOptions لتحديد التعليمات
var options = new PdfToPngOptions();
// إضافة مسار ملف الإدخال
options.AddInput(new FileDataSource("path_to_input.pdf"));
// تعيين مسار الدليل الناتج
options.AddOutput(new DirectoryDataSource("path_to_output_directory"));
// تنفيذ العملية
PdfConverter.Convert(options);

مثال على الاستخدام:

يوضح المثال كيفية تحويل مستند PDF إلى تنسيق TIFF.

// إنشاء كائن PdfToTiffOptions لتحديد التعليمات
var options = new PdfToTiffOptions();
// إضافة مسار ملف الإدخال
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// تعيين مسار الدليل الناتج
options.AddOutput(new DirectoryDataSource("path_to_output_directory"));
// تنفيذ العملية
PdfConverter.Convert(options);

مثال على الاستخدام:

يوضح المثال كيفية تحويل مستند PDF إلى تنسيق PDF/A (PDF/A-3b في هذه الحالة):

// إنشاء فئة الخيارات لإعداد عملية التحويل
var options = new PdfToPdfAOptions
{
    PdfAVersion = PdfAStandardVersion.PDF_A_3B
};

// إضافة ملف المصدر
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf")); // استبدل بمسار ملفك الفعلي

// إضافة المسار لحفظ الملف المحول
options.AddOutput(new FileDataSource("path_to_the_converted_file.pdf"));

// تشغيل التحويل
PdfConverter.Convert(options);

مثال على الاستخدام:

يوضح المثال كيفية التحقق من توافق مستند PDF مع تنسيق PDF/A (PDF/A-1a في هذه الحالة):

// إنشاء فئة الخيارات لإعداد عملية التحقق
var options = new PdfAValidateOptions
{
    PdfAVersion = PdfAStandardVersion.PDF_A_1A
};

// إضافة واحد أو أكثر من الملفات للتحقق
options.AddInput(new FileDataSource("path_to_your_first_pdf_file.pdf")); // استبدل بمسار ملفك الفعلي
options.AddInput(new FileDataSource("path_to_your_second_pdf_file.pdf"));
// إضافة المزيد من الملفات حسب الحاجة

// تشغيل التحقق والحصول على النتائج
var resultContainer = PdfConverter.Validate(options);

// تحقق من خاصية resultContainer.ResultCollection للحصول على نتائج التحقق لكل ملف:
for (var i = 0; i < resultContainer.ResultCollection.Count; i++)
{
    var result = resultContainer.ResultCollection[i];
    var validationResult = (PdfAValidationResult) result.Data;
    var isValid = validationResult.IsValid; // نتيجة التحقق للوثيقة رقم i
}

إضافة جديدة: أمان PDF

  • Class PdfSecurity: يحتوي على جميع وظائف الإضافات: Security، Signature، Timestamp.
  • Class Security: ستحذف قريبًا، استخدم PdfSecurity.
  • Class Signature: ستحذف قريبًا، استخدم PdfSecurity.
  • Class Timestamp: ستحذف قريبًا، استخدم PdfSecurity.
  • Class DecryptionOptions: أعيدت تسميته إلى Class DecryptOptions.
  • Class EncryptionOptions: أعيدت تسميته إلى Class EncryptOptions.
  • Class SignOptions: الآن تحتوي على خصائص لفئة Class Timestamp.
  • انظر The New Plugin Architecture.

مثال على الاستخدام:

يوضح المثال كيفية تشفير مستند PDF.

// إنشاء كائن EncryptOptions لتحديد التعليمات
var options = new EncryptOptions("123456", "qwerty");
// إضافة مسار ملف الإدخال
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// تعيين مسار ملف الإخراج
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// تنفيذ العملية
PdfSecurity.Encrypt(options);

مثال على الاستخدام:

يوضح المثال كيفية فك تشفير مستند PDF.

// إنشاء كائن DecryptOptions لتحديد التعليمات
var options = new DecryptOptions("123456");
// إضافة مسار ملف الإدخال
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// تعيين مسار ملف الإخراج
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// تنفيذ العملية
PdfSecurity.Decrypt(options);

مثال على الاستخدام:

يوضح المثال كيفية توقيع مستند PDF.

// إنشاء كائن SignOptions لتحديد التعليمات
var options = new SignOptions("path_to_your_pfx_file.pfx", "password_of_your_pfx_file");
// إضافة مسار ملف الإدخال
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// تعيين مسار ملف الإخراج
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// تنفيذ العملية
PdfSecurity.Sign(options);

مثال على الاستخدام:

يوضح المثال كيفية توقيع مستند PDF مع توقيت.

// إنشاء كائن SignOptions لتحديد التعليمات
var options = new SignOptions("path_to_your_pfx_file.pfx", "password_for_your_pfx_file");
options.TimestampOptions = new TimestampOptions("server_url");
// إضافة مسار ملف الإدخال
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// تعيين مسار ملف الإخراج
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// تنفيذ العملية
PdfSecurity.Sign(options);

إضافة PdfChatGpt مدمجة في PdfManager

  • Class PdfChatGpt: ستحذف قريبًا، استخدم PdfManager.
  • Class PdfChatGptRequestOptions: أعيدت تسميته إلى Class ChatGptRequestOptions.

خيارات جديدة متاحة للعمل مع ChatGpt

  • Class ChatCompletion: يسمح بالتحقق من نتائج الطلب.
  • Class Choice: يسمح بالتحقق من نتائج الطلب.
  • Class Usage: يسمح بالتحقق من نتائج الطلب.
  • Class ChatGptConsts: يسمح باستخدام إعدادات إضافية مثل ModelName، API URL وغير ذلك.

مثال على الاستخدام:

يوضح المثال كيفية استخدام ChatGpt من خلال إضافة رسائل إلى الطلب.

var options = new ChatGptRequestOptions();
// تعيين مسار ملف الإخراج
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf")); 
options.ApiKey = "Your API key."; // تحتاج إلى تقديم المفتاح للوصول إلى واجهة برمجة التطبيقات.
options.MaxTokens = 1000; // الحد الأقصى لعدد الرموز لإنتاجها في إكمال الدردشة.

// إضافة رسائل الطلب.
options.Messages.Add(new Message
{
    Content = "أنت مساعد مفيد.",
    Role = Role.System
});
options.Messages.Add(new Message
{
    Content = "ما هو أكبر قطر بيتزا تم صنعه على الإطلاق؟",
    Role = Role.User
});

// معالجة الطلب.
var result = await PdfManager.CreatePdfByChatGptRequestAsync(options);

var fileResultPath = result.ResultCollection[0].Data;
var chatCompletionObject = result.ResultCollection[1].Data as ChatCompletion; // كائن إكمال الدردشة لواجهة برمجة تطبيقات ChatGPT.

تحسينات

  • PDF إلى صورة - تحسين أداء التحويل
  • PDF إلى TIFF - تحسين سرعة التحويل
  • PDF إلى Doc - تحسين الأداء

إصلاح الأخطاء

  • إصلاح تحويل HTML إلى PDF - مشكلات التنسيق في الملف الناتج
  • إصلاح مشكلة الأداء في تحويل PDF إلى TIFF
  • إصلاح تحويل HTML إلى PDF - ملف CSS كموارد خارجية لا ينطبق على ملف PDF الناتج
12‏/11‏/2025
 عربي