قم بمطابقة النص في نص ملف PDF وإضافة ارتباطات تشعبية باستخدام PHP

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

سؤال

الوضع هو كما يلي:لدي سلسلة من ملفات PDF كبيرة الحجم، مليئة بالصور والنصوص الموزعة بشكل عشوائي - هذه هي أقسام قائمة أسعار ترويجية ضخمة لمجموعة واسعة من المنتجات.ما أحتاجه هو مطابقة الأنماط لجميع رموز الكتالوج في نص كل ملف PDF وتغليفها بارتباط تشعبي يشير إلى الصفحة المعنية في متجر عبر الإنترنت.

لذا فإن المهمة بسيطة جدًا - قم بمسح ملف PDF ضوئيًا بحثًا عن النص العادي بالكامل 10 تسلسلات رقمية، وقم بتحويلها إلى روابط يكون href فيها http://something?code=[match].

أفضّل أيضًا تجميع هذا معًا في برنامج PHP النصي إن أمكن، ولكن أي لغة ستفي بالغرض.لدي شعور داخلي أنه ربما حتى الفلاش يمكن أن يكون خيارًا.

أيه أفكار؟شكرا لك مقدما.

يحرر:

بعض الإجابات الواردة تعلمني بناء جملة pcre.المشكلة هنا هي أنني بحاجة إلى البحث والاستبدال في ملف PDF.لذا فإن المشكلة ذات شقين.لنفترض أننا سنفعل ذلك بلغة PHP:

  • كيف تقرأ/تكتب إلى ملف PDF في PHP؟
  • نظرًا لأن ملفات PDF ليست ملفات نصية عادية، لا يمكنني فقط التعبير عنها بشكل عادي، وأعتقد أيضًا أن روابط PDF ليست مجمعة مع النص ولكنها تأتي منفصلة كمناطق.مما يعني أيضًا أنه ربما يمكنني تراكب مستطيل نشط فوق إحداثيات أحرف كود الكتالوج، إذا كنت أعرف فقط مكان وجود الكود المطابق على الصفحة.

ماذا تعتقد؟اللغات الأخرى هي أيضًا خيار.

شكرًا.

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

المحلول

يعد استبدال النص في ملف PDF أمرًا صعبًا ولا يدعم أي من حلول PDF مفتوحة المصدر هذه الإمكانية.

لدى Apago (www.apago.com) حل تجاري متطور لاستبدال النص في ملفات PDF.يتم استخدامه من قبل الشركة المصنعة لبطاقات التهنئة لتعديل الأسعار والنص "صنع في" وأرقام المنتجات وما إلى ذلك.

نصائح أخرى

<?
$s="
http://something.com?code=3000 asdf text
http://something.com?code=5000 asdf
";
echo preg_replace('/(http:\/\/something\.com\?code=(\d+))/s', '<a href="$1">$2</a>',$s);
?>

انتاج3000 نص قوات الدفاع الذاتي الجوية

5000 قوات الدفاع الذاتي الجوية

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