v26.8

تم إعادة تصميم فئة SignOptions

  • الآن أصبح استخدامه أسهل.
  • وراثة من فئة OptionsWithInputAndOutput.
  • تم تغيير الخاصيتين Inputs و Outputs إلى Input و Output. الآن هناك مدخل ومخرج واحد فقط.
  • إذا كان الناتج ملفًا، فسيتم إغلاق التيار (Stream) الخاص به تلقائيًا، أما إذا كان Stream فسيظل مفتوحًا للاستخدام لاحقًا.
  • تم حذف الطريقتين AddInput و AddOutput.
  • أضيفت عدة مُنشئات أكثر ملاءمة:
    • SignOptions(IData inputData, IData outputData, IData pfxData, string password)
    • SignOptions(string inputFile, string outputFile, string pfxFile, string pfxPassword)
    • SignOptions(Stream inputStream, Stream outputStream, Stream pfxStream, string pfxPassword)
  • أضيفت خصائص قابلة للتعديل:
    • Stream Pfx
    • string PfxPassword
    • IData Input
    • IData Output

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

مثال على العمل مع SignOptions.

using var pfxStream = File.OpenRead(@"path_to_your_pfx_file.pfx");
var options = new SignOptions(pfxStream, "password_of_your_pfx_file");
// Set input and output file paths
options.Input = new FileData("path_to_your_pdf_file.pdf");
options.Output = new FileData("path_to_result_pdf_file.pdf");

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

يوضح المثال كيفية توقيع ملف PDF بأقصر أسلوب ممكن.

PdfSecurity.Sign(new SignOptions("path_to_your_pdf_file.pdf", "path_to_result_pdf_file.pdf", "path_to_your_pfx_file.pfx", "password_of_your_pfx_file"));

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

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

// Prepare streams
using var pdfStreamInput = File.OpenRead(@"path_to_your_pdf_file.pdf");
using var pfxStreamInput = File.OpenRead(@"path_to_your_pfx_file.pfx");
using var pdfStreamOutput = new MemoryStream();
// Create SignOptions object to set instructions
var options = new SignOptions(pdfStreamInput, pdfStreamOutput, pfxStreamInput, "password_of_your_pfx_file");
// Perform the process
PdfSecurity.Sign(options);

تم إزالة الفئة Signature

  • يتم إيقاف تنفيذ الإضافات (plugins) القديمة تدريجيًا. تم استبدال وظائف هذه الفئة بالفئة PdfSecurity.
  • Class Signature: تم الحذف، استخدم PdfSecurity.

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

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

// Create SignOptions object to set instructions
var options = new SignOptions("path_to_your_pdf_file.pdf", "path_to_result_pdf_file.pdf", "path_to_your_pfx_file.pfx", "password_of_your_pfx_file");
// Perform the process
PdfSecurity.Sign(options);

تم إزالة الفئة FormExporter

  • يتم إيقاف تنفيذ الإضافات (plugins) القديمة تدريجيًا. تم استبدال وظائف هذه الفئة بالفئات PdfExtractor و PdfForm.
  • Class FormExporter: تم الحذف، استخدم PdfExtractor أو PdfForm.

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

يوضح المثال كيفية تصدير قيم النماذج إلى ملف CSV باستخدام PdfExtractor.

// Create ExtractFormDataToDsvOptions object to set instructions
var options = new ExtractFormDataToDsvOptions(',', true);
// 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_csv_file.csv"));
// Perform the process
PdfExtractor.Extract(options);

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

يوضح المثال كيفية تصدير قيم النماذج إلى ملف TSV وتعيين الخصائص باستخدام PdfForm.

// Create ExtractFormDataToDsvOptions object to set instructions
var options = new ExtractFormDataToDsvOptions();
// Set Delimiter
options.Delimiter = '\t';
// Add Field Names to result
options.AddFieldName = true;
// 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_csv_file.tsv"));
// Perform the process
PdfForm.Extract(options);

تحسين الفئة FileData

  • تم تجاوز طريقة ToString().

إصلاحات أخرى

📄 PDF إلى DOC

  • تم إصلاح استغراق تحويل PDF إلى DOC وقتًا مفرطًا

🌐 PDF إلى HTML / HTML إلى PDF

  • تم إصلاح تحويل PDF إلى HTML الذي ينتج صورًا شفافة
  • تم إصلاح تحويل HTML إلى PDF حيث كان المحتوى يتداخل
  • تم إصلاح تحويل HTML إلى PDF حيث تم تجاهل عرض الجدول

🖼️ PDF إلى PNG / TIFF

  • تم إصلاح تحويل PDF إلى PNG الذي كان يستهلك ذاكرة مفرطة
  • تم إصلاح تحويل PDF إلى PNG الذي لم يحافظ على الخطوط المضمّنة
  • تم إصلاح تحويل PDF إلى TIFF الذي كان يطرح استثناءً

📑 PDF إلى PDF/A

  • تم إصلاح تحويل PDF إلى PDF/A الذي فقد ألوان المستند
  • تم إصلاح تحويل PDF إلى PDF/A الذي كان يتداخل النص في المخرجات
  • تم إصلاح طريقة Validate() في PDF/A التي كانت تُرجع نتائج غير صحيحة
  • تم إصلاح تحقق PDF/A الذي كان ينتج نتائج غير صحيحة

📂 عمليات أخرى

  • تم إصلاح System.FormatException الذي كان يُطرح عند التحقق من توقيع PDF
  • تم إصلاح دمج المستندات الذي كان يطرح استثناءً
13‏/08‏/2026
 عربي