أداة لمقارنة أعداد كبيرة من ملفات PDF؟[مغلق]

StackOverflow https://stackoverflow.com/questions/145657

  •  02-07-2019
  •  | 
  •  

سؤال

أحتاج إلى مقارنة عدد كبير من ملفات PDF للمحتوى البصري الخاص بها.نظرًا لأن ملفات PDF تم إنشاؤها على منصات مختلفة وبإصدارات مختلفة من البرنامج، فهناك اختلافات هيكلية.على سبيل المثال:

  • يمكن أن يكون تقطيع النص مختلفًا
  • يمكن أن يكون ترتيب الكتابة مختلفًا
  • يمكن أن يختلف الموضع ببعض البكسل

وينبغي مقارنة المحتوى مثل الإنسان وليس البنية الداخلية.أريد اختبار الانحدارات بين الإصدارات المختلفة لمولد PDF الذي استخدمناه.

هل كانت مفيدة؟

المحلول

لأنه لا توجد أداة متاحة لذلك قمنا بكتابة واحدة.يمكنك تحميل i-net PDF مقارنة المحتوى واستخدامها.آمل أن يساعد الآخرين مع نفس المشكلة.إذا كان لديك مشاكل معها أو كان لديك تعليقات لنا، فيمكنك الاتصال بدعمنا.

enter image description here

نصائح أخرى

هناك في الواقع أداة diffpdf.

http://www.qtrac.eu/diffpdf.html

تكمن نقطة ضعفه في أنه لا يتفاعل بشكل جيد عندما تؤدي الإضافات إلى تحول النص الجديد جزئيًا إلى صفحة جديدة.على سبيل المثال، إذا كان يجب مقارنة الصفحة القديمة 4 بنهاية الصفحة 5 وبداية الصفحة 6، فستحتاج إلى تغيير المعلمات لمقارنة الشريحتين بشكل منفصل.

لقد استخدمت نصًا مخبوزًا في المنزل والذي

  • يحول جميع الصفحات الموجودة في ملفي PDF إلى صور نقطية
  • صفحات الألوان من PDF 1 إلى اللون الأحمر على الأبيض
  • يتغير اللون الأبيض إلى شفاف على صفحات PDF 2
  • يقوم بتراكب كل صفحة من PDF 2 أعلى الصفحة المقابلة من PDF 1
  • يقوم بتشغيل التحويل/التلوين والتراكب بالتوازي على مراكز متعددة

البرامج المستخدمة:

  • GhostScript لتحويل PDF إلى صورة نقطية
  • ImageMagick للتلوين والشفافية والتراكب
  • inotify لمزامنة العمليات المتوازية
  • أي عارض صور قادر على PNG لمراجعة النتيجة

الايجابيات:

  • تنفيذ بسيط
  • جميع الأدوات المستخدمة مفتوحة المصدر
  • عظيم للعثور على الاختلافات الصغيرة في التخطيط

سلبيات:

  • التحويل بطيء
  • الاختلافات الرئيسية بين ملفات PDF (على سبيل المثال.ترقيم الصفحات) يؤدي إلى الفوضى
  • الصور النقطية غير قابلة للتكبير
  • يعمل بشكل جيد فقط مع النصوص والرسوم البيانية بالأبيض والأسود
  • لا توجد واجهة مستخدم رسومية سهلة الاستخدام

لقد كنت أبحث عن أداة من شأنها أن تفعل الشيء نفسه على مستوى PDF/PostScript.

إليك كيفية استدعاء البرنامج النصي للأدوات المساعدة (لاحظ أن ImageMagick يستخدم GhostScript خلف الكواليس لإجراء التحويل بين PDF->PNG):

$ convert -density 150x150 -fill red -opaque black +antialias 1.pdf back%02d.png
$ convert -density 150x150 -transparent white +antialias 2.pdf front%02d.png
$ composite front01.png back01.png result01.png # do this for all pairs of images

لا يبدو أنني قادر على رؤية هذا هنا، لذا ها هو:عبر المستخدم المتميز:كيفية مقارنة الاختلافات بين ملفين PDF؟(الإجابة رقم 229891، بواسطةslestak), ، هنالك

https://github.com/vslavik/diff-pdf

(يمكن العثور على خطوات إنشاء Ubuntu Natty في الحصول على فرق pdf.sh)

بقدر ما أستطيع أن أرى، فهو يغطي بشكل أساسي النص/الرسومات لكل صفحة في ملفات (ملفات) pdf، مما يسمح لك بسهولة معرفة ما إذا كانت هناك أي تغييرات ...

هتافات!

لقد استخدمنا أيضًا pdftotext (راجع إجابة Sklivvz) لإنشاء إصدارات ASCII من ملفات PDF و wdiff لمقارنتها.

استخدم pdftotext -layout قم بالتبديل لتحسين إمكانية القراءة والحصول على فكرة عن التغييرات في التخطيط.

للحصول على مخرجات ملونة جميلة من wdiff، استخدم البرنامج النصي المجمع هذا:

#!/bin/sh
RED=$'\e'"[1;31m"
GREEN=$'\e'"[1;32m"
RESET=$'\e'"[0m"
wdiff -w$RED -x$RESET -y$GREEN -z$RESET -n $1 $2

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

لإنشاء صور من ملف PDF، يمكنك استخدام مكتبة Adobe PDF أو الحل المقترح على أفضل طريقة لتحويل ملفات pdf إلى ملفات tiff.

لمقارنة ملفات TIFF التي تم إنشاؤها وجدت GNU com.tiffcmp (للنوافذ جزء من GnuWin32 المشاجرة) و com.tiffinfo قام بعمل جيد.استخدم tiffcmp -l واحسب عدد أسطر الإخراج للعثور على أي اختلافات.إذا كنت سعيدًا بتغيير قدر بسيط من المحتوى (على سبيل المثال،(اختلافات الصقل) ثم استخدم tiffinfo لحساب إجمالي عدد وحدات البكسل ويمكنك بعد ذلك إنشاء قيمة فرق النسبة المئوية.

بالمناسبة، بالنسبة لأي شخص يقوم بإجراء مقارنة بسيطة لملفات PDF حيث لم تتغير البنية، فمن الممكن استخدام فرق سطر الأوامر وتجاهل أنماط معينة، على سبيل المثال.مع اختلاف جنو 2.7:

diff --brief -I xap: -I xapMM: -I /CreationDate -I /BaseFont -I /ID --binary --text

لا يزال هذا يواجه مشكلة عدم اكتشاف التغييرات في أسماء الخطوط التي تم إنشاؤها دائمًا.

منتجنا، مقارنة PDF - http://www.premediasystems.com/pdfc.html" - سوف يفعل ذلك بأناقة وكفاءة.كما أنه ليس مجانيًا، وهو تطبيق Mac OS X فقط.

بناءً على احتياجاتك، سيكون حل التحويل إلى النص هو الأسهل والأكثر مباشرة.أعتقد أن فكرة الصورة النقطية كانت رائعة جدًا.

سوف يقوم برنامج blubeam pdf بذلك نيابةً عنك

يمكنك دفعة قارن قوات الدفاع الشعبي الملفات مع برنامج Tarkware Pdf Comparer.ولكنها ليست مجانية وتتطلب برنامج Adobe Acrobat.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top