اذهب إلى المحتوى

السؤال

نشر

هل توجد خاصية أو حزمه للتحقق من تشابة محتوى ملفات ال PDF عند إدخال الملفات ورفظها إذا كانت موجودة من قبل؟

وأيضا هل يمكن التعديل على مجموعة من ملفات pdf وإضافة علامة مائية للغلاف أو الصفحات بشكل تلقائي؟

Recommended Posts

  • 0
نشر

نعم يوجد مكتبات لذلك , بالنسبة الي  التحقق من التشابه في المحتوي يمكنك استخدام مكتبة pdftotext  وايضا يجب عليك تطبيق خوارزميات للتحقق من التشابه مثل , Jaccard similarity,   او   cosine similarity , اما بالنسبة لاضافة العلامة المائية  فيوجد مكتبات مثل FPDF  و وTCPDF وايضا ادوات مثلGhostscript  يمكنك استخدامهم من اجل عمل العلامة الخاصة بك واضافتها.

  • 0
نشر

مرحبا , 
نعم يوجد , مثال على ذلك مكاتب مثل crypto و pdf-parse في لغة برمجة جافاسكريبت (Node js) و setasign/fpdi setasign/fpdi-fpdf في حال استعمالك ل php .
و فكرة العمل تقوم على تحويل ملف ال pdf الى مجموعة من الهاشات و المقارنة بينهم و بين هاشات الملف المطلوب فحصة .

و يوجد مكاتب أخرى مثل pdftotext و التي تقوم فكرة عملها على تحويل الpdf إلى text و المقارنة بين بعضهم البعض .

مثال على استعمال Crypto و pdf-parse في node js :
 

const fs = require('fs');
const pdf = require('pdf-parse');
const crypto = require('crypto');

async function calculateFileHash(filePath) {
  const data = fs.readFileSync(filePath);
  const hash = crypto.createHash('md5').update(data).digest('hex');
  return hash;
}

function checkDuplicate(filePath, existingHashes) {
  return calculateFileHash(filePath)
    .then(fileHash => {
      if (existingHashes.has(fileHash)) {
        console.log(`تم رفض الملف: ${filePath} (مكرر)`);
        return false;
      } else {
        existingHashes.add(fileHash);
        console.log(`الملف مقبول: ${filePath}`);
        return true;
      }
    });
}

// قائمة لتخزين الهاشات الحالية
const existingHashes = new Set();

// مثال على استخدام الوظيفة لفحص التشابه
const fileToCheck = 'example.pdf';
checkDuplicate(fileToCheck, existingHashes);

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...