Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
يرجى ملاحظة أن جميع أدوات المقارنة متاحة في مكتبة Aspose.PDF.Drawing.
عند العمل مع مستندات PDF، هناك أوقات تحتاج فيها إلى مقارنة محتوى مستندين لتحديد الاختلافات. توفر مكتبة Aspose.PDF for .NET مجموعة أدوات قوية لهذا الغرض. في هذه المقالة، سنستكشف كيفية مقارنة مستندات PDF باستخدام بعض مقتطفات الشيفرة البسيطة.
تتيح وظيفة المقارنة في Aspose.PDF لك مقارنة مستندين PDF صفحة بصفحة. يمكنك اختيار مقارنة صفحات محددة أو مستندات كاملة. تسلط وثيقة المقارنة الناتجة الضوء على الاختلافات، مما يسهل تحديد التغييرات بين الملفين.
إليك قائمة بطرق ممكنة لمقارنة مستندات PDF باستخدام Aspose.PDF لمكتبة .NET:
مقارنة صفحات محددة - مقارنة الصفحات الأولى من مستندين PDF.
مقارنة مستندات كاملة - مقارنة المحتوى الكامل لمستندين PDF.
مقارنة مستندات PDF رسوميًا:
مقارنة PDF باستخدام طريقة GetDifference - صور فردية حيث يتم تمييز التغييرات.
مقارنة PDF باستخدام طريقة CompareDocumentsToPdf - مستند PDF مع صور حيث يتم تمييز التغييرات.
توضح مقتطف الشيفرة الأول كيفية مقارنة الصفحات الأولى من مستندين PDF.
خطوات:
تهيئة المستند. تبدأ الشيفرة بتهيئة مستندين PDF باستخدام مسارات الملفات الخاصة بهما (documentPath1 و documentPath2). يتم تحديد المسارات كسلاسل فارغة في الوقت الحالي، ولكن في الممارسة العملية، ستستبدل هذه بالمسارات الفعلية للملفات.
عملية المقارنة.
‘AdditionalChangeMarks = true’ - تضمن هذه الخيار عرض علامات التغيير الإضافية. تبرز هذه العلامات الاختلافات التي قد تكون موجودة في صفحات أخرى، حتى لو لم تكن في الصفحة الحالية التي تتم مقارنتها.
‘ComparisonMode = ComparisonMode.IgnoreSpaces’ - تخبر هذه الوضعية المقارن بتجاهل المسافات في النص، والتركيز فقط على التغييرات داخل الكلمات.
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ComparingSpecificPages()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_DocumentCompare();
// Open PDF documents
using (var document1 = new Aspose.Pdf.Document(dataDir + "ComparingSpecificPages1.pdf"))
{
using (var document2 = new Aspose.Pdf.Document(dataDir + "ComparingSpecificPages2.pdf"))
{
// Compare
Aspose.Pdf.Comparison.SideBySidePdfComparer.Compare(document1.Pages[1], document2.Pages[1], dataDir + "ComparingSpecificPages_out.pdf", new Aspose.Pdf.Comparison.SideBySideComparisonOptions
{
AdditionalChangeMarks = true,
ComparisonMode = Aspose.Pdf.Comparison.ComparisonMode.IgnoreSpaces
});
}
}
}
يوسع مقتطف الشيفرة الثاني النطاق لمقارنة المحتوى الكامل لمستندين PDF.
خطوات:
تهيئة المستند. تمامًا كما في المثال الأول، يتم تهيئة مستندين PDF مع مسارات الملفات الخاصة بهما.
عملية المقارنة.
مقارنة المستند الكامل - على عكس المقتطف الأول، تقارن هذه الشيفرة المحتوى الكامل للمستندين.
خيارات المقارنة - الخيارات هي نفسها كما في المقتطف الأول، مما يضمن تجاهل المسافات، وعرض علامات التغيير الإضافية.
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ComparingEntireDocuments()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_DocumentCompare();
// Open PDF documents
using (var document1 = new Aspose.Pdf.Document(dataDir + "ComparingEntireDocuments1.pdf"))
{
using (var document2 = new Aspose.Pdf.Document(dataDir + "ComparingEntireDocuments2.pdf"))
{
// Compare
Aspose.Pdf.Comparison.SideBySidePdfComparer.Compare(
document1,
document2,
dataDir + "ComparingEntireDocuments_out.pdf",
new Aspose.Pdf.Comparison.SideBySideComparisonOptions
{
AdditionalChangeMarks = true,
ComparisonMode = Aspose.Pdf.Comparison.ComparisonMode.IgnoreSpaces
});
}
}
}
تولد نتائج المقارنة الناتجة عن هذه المقتطفات مستندات PDF يمكنك فتحها في عارض مثل Adobe Acrobat. إذا كنت تستخدم عرض الصفحتين في Adobe Acrobat، سترى التغييرات جنبًا إلى جنب:
من خلال تعيين ‘AdditionalChangeMarks’ إلى ’true’، يمكنك أيضًا رؤية علامات للتغييرات التي قد تحدث في صفحات أخرى، حتى لو لم تكن تلك التغييرات في الصفحة الحالية المعروضة.
Aspose.PDF for .NET توفر أدوات قوية لمقارنة مستندات PDF، سواء كنت بحاجة إلى مقارنة صفحات محددة أو مستندات كاملة. من خلال استخدام خيارات مثل ‘AdditionalChangeMarks’ وإعدادات ‘ComparisonMode’ المختلفة، يمكنك تخصيص عملية المقارنة وفقًا لاحتياجاتك الخاصة. توفر الوثيقة الناتجة عرضًا واضحًا، جنبًا إلى جنب، للتغييرات، مما يسهل تتبع المراجعات وضمان دقة المستند.
عند التعاون في المستندات، خاصة في البيئات المهنية، غالبًا ما ينتهي بك الأمر مع إصدارات متعددة من نفس الملف.
يمكنك استخدام فئة GraphicalPdfComparer لمقارنة مستندات PDF وصفحاتها. الفئة مناسبة لمقارنة التغييرات في محتوى الصفحة الرسومي.
مع Aspose.PDF for .NET، من الممكن مقارنة المستندات والصفحات وإخراج نتيجة المقارنة إلى مستند PDF أو ملف صورة.
يمكنك تعيين الخصائص التالية للفئة:
تحتوي الفئة على طريقة تتيح لك الحصول على اختلافات صورة الصفحة في شكل مناسب لمزيد من المعالجة: ImagesDifference GetDifference(Page page1, Page page2).
ترجع هذه الطريقة كائنًا من فئة ImagesDifference، والذي يحتوي على صورة الصفحة الأولى التي تتم مقارنتها ومصفوفة من الاختلافات. تحتوي مصفوفة الاختلافات والصورة الأصلية على تنسيق بكسل RGB24bpp.
تتيح لك ImagesDifference إنشاء صورة مختلفة والحصول على صورة الصفحة الثانية التي تتم مقارنتها عن طريق إضافة مصفوفة الاختلافات إلى الصورة الأصلية. للقيام بذلك، استخدم طرق ImagesDifference.GetDestinationImage و ImagesDifference.DifferenceToImage.
تحدد الشيفرة المقدمة طريقة GetDifference التي تقارن مستندين PDF وتولد تمثيلات بصرية للاختلافات بينهما.
تقارن هذه الطريقة الصفحات الأولى من ملفي PDF وتولد صورتين PNG:
يمكن أن تكون هذه العملية مفيدة للمقارنة البصرية للتغييرات أو الاختلافات بين إصدارين من مستند.
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ComparePDFWithGetDifferenceMethod()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_DocumentCompare();
// Open PDF documents
using (var document1 = new Aspose.Pdf.Document(dataDir + "ComparePDFWithGetDifferenceMethod1.pdf"))
{
using (var document2 = new Aspose.Pdf.Document(dataDir + "ComparePDFWithGetDifferenceMethod2.pdf"))
{
// Create comparer
var comparer = new Aspose.Pdf.Comparison.GraphicalPdfComparer();
// Compare
using (var imagesDifference = comparer.GetDifference(document1.Pages[1], document2.Pages[1]))
{
using (var diffImg = imagesDifference.DifferenceToImage(Aspose.Pdf.Color.Red, Aspose.Pdf.Color.White))
{
diffImg.Save(dataDir + "ComparePDFWithGetDifferenceMethodDiffPngFilePath_out.png");
}
using (var destImg = imagesDifference.GetDestinationImage())
{
destImg.Save(dataDir + "ComparePDFWithGetDifferenceMethodDestPngFilePath_out.png");
}
}
}
}
}
يستخدم مقتطف الشيفرة المقدمة طريقة CompareDocumentsToPdf التي تقارن مستندين وتولد تقرير PDF بنتائج المقارنة.
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ComparePDFWithCompareDocumentsToPdfMethod()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_DocumentCompare();
// Open PDF documents
using (var document1 = new Aspose.Pdf.Document(dataDir + "ComparePDFWithCompareDocumentsToPdfMethod1.pdf"))
{
using (var document2 = new Aspose.Pdf.Document(dataDir + "ComparePDFWithCompareDocumentsToPdfMethod2.pdf"))
{
// Create comparer
var comparer = new Aspose.Pdf.Comparison.GraphicalPdfComparer()
{
Threshold = 3.0,
Color = Aspose.Pdf.Color.Blue,
Resolution = new Aspose.Pdf.Devices.Resolution(300)
};
// Compare
comparer.CompareDocumentsToPdf(document1, document2, dataDir + "compareDocumentsToPdf_out.pdf");
}
}
}
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.