v25.10
- Class PdfExtractor: يحتوي على جميع وظائف المكونات الإضافية: TextExtractor، ImageExtractor، FormExporter.
- Class TextExtractor: سيتم حذفه قريبًا، استخدم PdfExtractor.
- Class ImageExtractor: سيتم حذفه قريبًا، استخدم PdfExtractor.
- Class FormExporter: سيتم حذفه قريبًا، استخدم PdfExtractor.
- Class TextExtractorOptions: تمت إعادة تسميته إلى Class ExtractTextOptions.
- Class ImageExtractorOptions: تمت إعادة تسميته إلى Class ExtractImagesOptions.
- Class FormExportToDsvOptions: تمت إعادة تسميته إلى Class ExtractFormDataToDsvOptions.
- اطلع على The New Plugin Architecture.
مثال على الاستخدام:
يوضح المثال كيفية استخراج محتوى النص من وثيقة PDF.
// إنشاء كائن ExtractTextOptions لتعيين التعليمات
var options = new ExtractTextOptions();
// إضافة مسار ملف الإدخال
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// تنفيذ العملية
var results = PdfExtractor.ExtractText(options);
// الحصول على النص المستخرج من كائن ResultContainer
var textExtracted = results.ResultCollection[0].ToString();
مثال على الاستخدام:
يوضح المثال كيفية استخراج محتوى النص من وثيقة PDF باستخدام TextFormattingMode.
// إنشاء كائن ExtractTextOptions لتعيين TextFormattingMode
var options = new ExtractTextOptions(TextFormattingMode.Pure);
// إضافة مسار ملف الإدخال
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// تنفيذ العملية
var results = PdfExtractor.ExtractText(options);
// الحصول على النص المستخرج من كائن ResultContainer
var textExtracted = results.ResultCollection[0].ToString();
مثال على الاستخدام:
يوضح المثال كيفية استخراج الصور من وثيقة PDF.
// إنشاء ExtractImagesOptions لتعيين التعليمات
var options = new ExtractImagesOptions();
// إضافة مسار ملف الإدخال
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// تعيين مسار دليل الإخراج
options.AddOutput(new DirectoryDataSource("path_to_results_directory"));
// تنفيذ العملية
var results = PdfExtractor.ExtractImages(options);
// الحصول على مسار نتيجة الصورة
var imageExtracted = results.ResultCollection[0].ToFile();
مثال على الاستخدام:
يوضح المثال كيفية تصدير قيم النموذج إلى ملف CSV.
// إنشاء كائن ExtractFormDataToDsvOptions لتعيين التعليمات
var options = new ExtractFormDataToDsvOptions(',', true);
// إضافة مسار ملف الإدخال
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// تعيين مسار ملف الإخراج
options.AddOutput(new FileDataSource("path_to_result_csv_file.csv"));
// تنفيذ العملية
PdfExtractor.ExtractFormData(options);
إضافة مكون PDF Manager جديد
- Class PdfManager: يحتوي على جميع وظائف المكونات الإضافية: Merger، Optimizer، Splitter، TableGenerator، TocGenerator.
- Class Merger: سيتم حذفه قريبًا.
- Class Optimizer: سيتم حذفه قريبًا، استخدم PdfManager.
- Class Splitter: سيتم حذفه قريبًا، استخدم PdfManager.
- Class TableGenerator: سيتم حذفه قريبًا، استخدم PdfManager.
- Class TocGenerator: سيتم حذفه قريبًا، استخدم PdfManager.
- اطلع على The New Plugin Architecture.
مثال على الاستخدام:
يوضح المثال كيفية دمج وثيقتين PDF.
// إنشاء كائن MergeOptions لتعيين التعليمات
var options = new MergeOptions();
// إضافة مسارات ملفات الإدخال
options.AddInput(new FileDataSource("path_to_your_pdf_file_1.pdf"));
options.AddInput(new FileDataSource("path_to_your_pdf_file_2.pdf"));
// تعيين مسار ملف الإخراج
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// تنفيذ العملية
PdfManager.Merge(options);
مثال على الاستخدام:
يوضح المثال كيفية تقسيم وثيقة PDF.
// إنشاء كائن SplitOptions لتعيين التعليمات
var options = new SplitOptions();
// إضافة مسار ملف الإدخال
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// تعيين مسارات ملفات الإخراج
options.AddOutput(new FileDataSource("path_to_result_pdf_file_1.pdf"));
options.AddOutput(new FileDataSource("path_to_result_pdf_file_2.pdf"));
// تنفيذ العملية
PdfManager.Split(options);
مثال على الاستخدام:
يوضح المثال كيفية تحسين وثيقة PDF.
// إنشاء كائن OptimizeOptions لتعيين التعليمات
var options = new OptimizeOptions();
// إضافة مسار ملف الإدخال
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// تعيين مسار ملف الإخراج
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// تنفيذ العملية
PdfManager.Optimize(options);
مثال على الاستخدام:
يوضح المثال كيفية تدوير وثيقة PDF.
// إنشاء كائن RotateOptions لتعيين التعليمات
var options = new RotateOptions();
// تعيين التدوير الجديد
options.Rotation = Rotation.On90;
// إضافة مسار ملف الإدخال
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// تعيين مسار ملف الإخراج
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// تنفيذ العملية
PdfManager.Rotate(options);
مثال على الاستخدام:
يوضح المثال كيفية تغيير حجم وثيقة PDF.
// إنشاء كائن ResizeOptions لتعيين التعليمات
var options = new ResizeOptions();
// تعيين حجم الصفحة الجديد
options.PageSize = PageSize.A3;
// إضافة مسار ملف الإدخال
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// تعيين مسار ملف الإخراج
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// تنفيذ العملية
PdfManager.Resize(options);
مثال على الاستخدام:
يوضح المثال كيفية ضغط وثيقة PDF.
// إنشاء كائن CompressOptions لتعيين التعليمات
var options = new CompressOptions();
// إضافة مسار ملف الإدخال
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// تعيين مسار ملف الإخراج
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// تنفيذ العملية
PdfManager.Compress(options);
مثال على الاستخدام:
يوضح المثال كيفية إضافة جدول إلى ملف 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 FileDataSource("path_to_input.pdf"));
// تعيين مسار ملف الإخراج
options.AddOutput(new FileDataSource("path_to_output.pdf"));
// تنفيذ العملية
PdfManager.AddTable(options);
مثال على الاستخدام:
يوضح المثال كيفية إضافة جدول محتويات إلى ملف 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 FileDataSource("path_to_your_pdf_file.pdf"));
// تعيين مسار ملف الإخراج
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// تنفيذ العملية
PdfManager.AddTableOfContents(options);
مثال على الاستخدام:
يوضح المثال كيفية إضافة جدول محتويات إلى ملف PDF مع إنشاء إشارات مرجعية.
// إنشاء كائن 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 FileDataSource("path_to_your_pdf_file.pdf"));
// تعيين مسار ملف الإخراج
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// تنفيذ العملية
PdfManager.AddTableOfContents(options);
مثال على الاستخدام:
يوضح المثال كيفية إضافة جدول محتويات إلى ملف PDF وحفظه كتيار.
// إنشاء كائن TocOptions لتعيين التعليمات
var options = new TocOptions();
// تعيين العنوان
options.Title = "My Table of Contents";
// تصميم العناوين
options.Headings.Add(new TocHeading("Introduction", 2, false, 1));
// إضافة مسار ملف الإدخال
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// تعيين تيار الإخراج
var outputStream = new MemoryStream();
options.AddOutput(new StreamDataSource(outputStream));
options.CloseOutputStreams = false;
// تنفيذ العملية
PdfManager.AddTableOfContents(options);
تحسين سهولة استخدام TableGenerator
- Class TableGenerator: ثابت ولا يتطلب استخدام منشئ.
- Class TableGenerator: تم وضع علامة عليها كـ Obsolete. استخدم PdfManager بدلاً من ذلك.
تحسين سهولة استخدام PdfChatGpt
- Class PdfChatGpt: ثابت ولا يتطلب استخدام منشئ.
- Class PdfChatGptRequestOptions: تمت إضافة خاصية CancellationToken (تم نقلها من PdfChatGpt).
مثال على الاستخدام:
يوضح المثال كيفية استخدام مكون PdfChatGpt من خلال إضافة رسائل إلى الطلب.
var options = new PdfChatGptRequestOptions();
options.AddOutput(new FileDataSource("PdfChatGPT_output.pdf")); // إضافة مسار ملف الإخراج.
options.ApiKey = "Your API key."; // تحتاج إلى توفير المفتاح للوصول إلى الـ API.
options.MaxTokens = 1000; // أقصى عدد من الرموز لتوليد في استكمال الدردشة.
// للإلغاء
// var cancelTokenSource = new CancellationTokenSource();
// var cToken = cancelTokenSource.Token;
// options.CancellationToken = cToken;
// إضافة رسائل الطلب.
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
});
// معالجة الطلب.
await PdfChatGpt.ProcessAsync(options);
إصلاح الأخطاء
- إصلاح بيانات التعريف لتحويل html إلى pdf
- إصلاح مشاكل تنسيق النص والصور التي تscaled عند تحويل PDF إلى PDF/A_3b
- إصلاح تقارير الخطأ على الطباعة الناتجة من PDF إلى PDFA
- إصلاح تحويل PDF إلى HTML: تحتوي الصورة الناتجة على الخلفية
- إصلاح تحويل HTML إلى PDF: تظهر بعض الأحرف الصينية كصندوق
- إصلاح تحويل HTML إلى PDF: لا يتم احترام الخط المخصص في Base64
- إصلاح تحويل HTML إلى PDF: لا يتم تطبيق css على حقول النموذج
- إصلاح تحويل HTML إلى PDF: الرسم البياني لا يتم تقديمه بشكل صحيح
- إصلاح تحويل HTML إلى PDF: لا يتم تقديم الأحرف الخاصة بشكل صحيح
v25.9
تحسين قابلية استخدام DocConverter وإضافة وضع إضافي
- Class DocConverter: ثابت ولا يتطلب استخدام مُنشئ.
- Class PdfToDocOptions: تمت إضافة خاصية “Mode” التي تتيح لك تخصيص عملية التحويل.
- Enum DocConversionMode: يتيح لك تخصيص عملية تحويل pdf إلى doc. القيم:
- TextBox: هذا الوضع سريع وجيد للحفاظ على المظهر الأصلي لملف PDF بأكبر قدر ممكن، لكن قابلية تحرير المستند الناتج قد تكون محدودة. يتم تحويل كل كتلة نصية مرئية مجمعة في ملف PDF الأصلي إلى مربع نص في المستند الناتج.
- Flow: وضع التعرف الكامل، يقوم المحرك بالتصنيف والتحليل متعدد المستويات لاستعادة نية مؤلف المستند الأصلي وإنتاج مستند قابل للتحرير بأقصى حد.
مثال للاستخدام:
// المثال يوضح كيفية تحويل مستند 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"));
// تنفيذ العملية
DocConverter.Process(options);
مثال للاستخدام:
// المثال يوضح كيفية تحويل مستند PDF إلى تنسيق Doc مع تعيين Mode.
// إنشاء كائن PdfToDocOptions لتحديد التعليمات
var options = new PdfToDocOptions();
// إضافة مسار ملف الإدخال
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// تعيين مسار ملف الإخراج
options.AddOutput(new FileDataSource("path_to_result_file.doc"));
// تعيين Mode
options.Mode = DocConversionMode.Flow;
// تنفيذ العملية
DocConverter.Process(options);
تحسين قابلية استخدام PdfAConverter
Class PdfAConverter: ثابت ولا يتطلب استخدام مُنشئ.
مثال للاستخدام:
// المثال يوضح كيفية تحويل مستند PDF إلى تنسيق PDF/A (PDF/A-3b في هذه الحالة):
// إنشاء كائن الخيارات لتحديد عملية التحويل
var options = new PdfAConvertOptions
{
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"));
// تنفيذ التحويل
PdfAConverter.Process(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 = PdfAConverter.Process(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
}
تحسين قابلية استخدام Timestamp
Class Timestamp: ثابت ولا يتطلب استخدام مُنشئ.
مثال للاستخدام:
// المثال يوضح كيفية إضافة Timestamp إلى المستند.
// إنشاء كائن AddTimestampOptions لتحديد التعليمات
var options = new AddTimestampOptions("path_to_your_pfx_file.pfx", "password_for_your_pfx_file", "timestamp_server_url");
// إضافة مسار ملف الإدخال
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// تعيين مسار ملف الإخراج
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// تنفيذ العملية
Timestamp.Process(options);
تحديث الوثائق
تم تحديث الأمثلة، وأضيفت أمثلة إضافية:
- معلومات حول الترخيص والتقييم
- صفحات المنتجات
- مولد جدول PDF
- مولد محتوى PDF
- إضافي Timestamp إلى PDF
- محول PDF/A
- مستخرج صور PDF
- مستخرج نص PDF
- محول PDF إلى XLS
- محول PDF إلى HTML
إصلاح الأخطاء
- تم إصلاح مشكلات مع HTML إلى PDF
- تم إصلاح مشكلات مع PDF إلى PDF/A-2B
- تحسين PDF إلى JPEG: بعض أحرف النص الناتجة كانت مربعة
- تم إصلاح تحويل PDF إلى TIFF
- تم إصلاح استثناءات غير متوقعة عند تحويل PDF إلى JPEG
v25.8
تحسين قابلية استخدام JpegConverter
Class JpegConverter: ثابت ولا يتطلب استخدام مُنشئ.
مثال على الاستخدام:
// المثال يوضح كيفية تحويل مستند PDF إلى تنسيق JPEG.
// إنشاء كائن PdfToJpegOptions لتحديد التعليمات
var options = new PdfToJpegOptions();
// إضافة مسار ملف الإدخال
options.AddInput(new FileDataSource("path_to_input.pdf"));
// تعيين مسار دليل الإخراج
options.AddOutput(new DirectoryDataSource("path_to_output_directory"));
// تنفيذ العملية
JpegConverter.Process(options);
تحسين قابلية استخدام PngConverter
Class PngConverter: ثابت ولا يتطلب استخدام مُنشئ.
مثال على الاستخدام:
// المثال يوضح كيفية تحويل مستند PDF إلى تنسيق PNG.
// إنشاء كائن PdfToPngOptions لتحديد التعليمات
var options = new PdfToPngOptions();
// إضافة مسار ملف الإدخال
options.AddInput(new FileDataSource("path_to_input.pdf"));
// تعيين مسار دليل الإخراج
options.AddOutput(new DirectoryDataSource("path_to_output_directory"));
// تنفيذ العملية
PngConverter.Process(options);
تحسين قابلية استخدام XlsConverter
- Class XlsConverter: ثابت ولا يتطلب استخدام مُنشئ.
- Class XlsConverter: تم تصحيح الوصف.
مثال على الاستخدام:
// المثال يوضح كيفية تحويل 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"));
// تنفيذ العملية
XlsConverter.Process(options);
تحسين قابلية استخدام Signature
- Class Signature: ثابت ولا يتطلب استخدام مُنشئ.
- Class Signature: تم تصحيح الوصف.
- Class Signature: تمت إزالة الواجهة IPlugin.
مثال على الاستخدام:
// المثال يوضح كيفية توقيع مستند 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"));
// تنفيذ العملية
Signature.Process(options);
تعديل المُنشئات لـ PdfToHtmlOptions
تم تحسين المُنشئات والمعاملات.
تم تغيير نص علامة التقييم.
تحديث الوثائق
تم تحديث الأمثلة، وإضافة أمثلة إضافية:
- محول PDF إلى JPEG
- محول PDF إلى PNG
- محول PDF إلى TIFF
- موحد نماذج PDF
- محول HTML
- أمان PDF
- مُحسن PDF
- دمّاج PDF
- مقسم PDF
إصلاح الأخطاء
- إصلاح القضايا مع التعليقات التوضيحية
- إصلاح القضايا بعد تغيير الحجم
- إصلاح تحويل أسماء الخطوط من PDF إلى PDF/A
- إصلاح PDF إلى DOCX - إضافة مسافة في الرأس، ومشكلات أخرى
- إصلاح HTML إلى PDF - خلفية PNG شفافة
- إصلاح PDF المضغوط - تحسين العمل مع Adobe Acrobat
v25.2
إضافة ملحق جديد: مولد جدول المحتويات
- Class TocGenerator: يمثل ملحق Documentize.TocGenerator. يُستخدم لإضافة جدول محتويات إلى مستندات PDF.
- Class TocOptions: يمثل الخيارات لإضافة جدول محتويات إلى المستند بواسطة ملحق Documentize.TocGenerator.
- Class TocHeading: يمثل الخيارات للعناوين أو العناوين الفرعية لجدول المحتويات في المستند بواسطة ملحق Documentize.TocGenerator.
مثال على الاستخدام:
// المثال يوضح كيفية إضافة جدول محتويات إلى ملف PDF.
var options = new TocOptions();
// تعيين العنوان
options.Title = "جدول محتويات";
// توليد الروابط في العلامات
options.GenerateBookmarks = true;
// تصميم العناوين
options.Headings.Add(new TocHeading("المقدمة", 2, false, 1));
options.Headings.Add(new TocHeading("الفصل الأول", 3, true, 1));
options.Headings.Add(new TocHeading("الفصل الثاني", 4, true, 1));
options.Headings.Add(new TocHeading("مثال A", 4, true, 2));
options.Headings.Add(new TocHeading("مثال B", 4, true, 2));
options.Headings.Add(new TocHeading("مثال C", 4, true, 2));
options.Headings.Add(new TocHeading("مثال D", 4, true, 2));
options.Headings.Add(new TocHeading("الفصل الثالث", 5, true, 1));
// إضافة مسار ملف الإدخال
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// تعيين مسار الملف الناتج
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// تنفيذ العملية
TocGenerator.Process(options);
إصلاحات طفيفة
- تحسين تلميحات الفصول والأمثلة.
- تحديث العلامات المائية.
- تحسين تحويل PDF إلى XSLX.
- تحسين تحويل PDF إلى PDF/A-1a.