سؤال
هل توجد مكتبات PHP يمكن استخدامها لملء نماذج PDF ثم حفظها (تسويتها) في ملفات PDF؟
المحلول
المكتبات والأطر المذكورة هنا جيدة، ولكن إذا كان كل ما تريد فعله هو ملء نموذج وتسويته، فإنني أوصي باستخدام أداة سطر الأوامر التي تسمى pdftk (مجموعة أدوات PDF).
يرى https://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/
يمكنك استدعاء سطر الأوامر من PHP، والأمر هو
pdftk
ملف النموذج.pdf fill_form
fieldinfo.fdf output
ملف الإخراج.pdf flatten
ستحتاج إلى العثور على تنسيق ملف FDF لإنشاء المعلومات اللازمة لملء الحقول.وهنا رابط جيد لذلك:
http://www.tgreer.com/fdfServe.html
[يحرر:يبدو أن الرابط أعلاه خارج الخدمة.اليك المزيد من المعلومات...]
يمكن للأمر pdftk إنشاء ملف FDF من ملف نموذج PDF.يمكنك بعد ذلك استخدام ملف FDF الذي تم إنشاؤه كعينة.حقول النموذج هي جزء من ملف FDF الذي يبدو كذلك
...
<< /T(f1-1) /V(text of field) >>
<< /T(f1-2) /V(text of another field) >>
...
يمكنك أيضًا التحقق من ذلك php-pdftk, وهي مكتبة خاصة بـ PHP.لم أستخدمه، لكن المعلق ألفارو (أدناه) يوصي به.
نصائح أخرى
إجراء 1+ كبير للإجابة المقبولة، ونصيحة صغيرة إذا واجهت مشكلات في تشفير ملف fdf.إذا قمت بإنشاء الحقول.fdf وعند التشغيل
file -bi fields.fdf
لقد حصلت
application/octet-stream; charset=binary
فمن المرجح أنك واجهت مشكلة في مجموعة أحرف UTF-16.حاول تحويل ftf عن طريق
cat fields.fdf | sed -e's/\x00//g' | sed -e's/\xFE\xFF//g' > better.fdf
تمكنت بعد ذلك من تحرير واستيراد ملف Better.fdf إلى نموذج PDF الخاص بي.
نأمل أن يوفر هذا لشخص ما بعضًا من استخدام Google
لقد حققت نجاحًا كبيرًا في استخدام نموذج يرسل إلى برنامج نصي php يستخدم fpdf ويمرر في حقول النموذج كمتغيرات (ربما لا تكون هذه أفضل ممارسة رائعة، ولكنها تعمل).
<?php
require('fpdf.php');
$pdf=new PDF();
$pdf->AddPage();
$pdf->SetY(30);
$pdf->SetX(100);
$pdf->MultiCell(10,4,$_POST['content'],0,'J');
$pdf->Output();
?>
ويمكن أن يكون لديك شيء من هذا القبيل.
<form action="fooPDF.php" method="post">
<p>PDF CONTENT: <textarea name="content" ></textarea></p>
<p><input type="submit" /></p>
</form>
يجب أن يساعدك هذا المثال الهيكلي على البدء.
إنشاء ملف fdf باستخدام php:يرى http://www.php.net/manual/en/book.fdf.php
ثم املأه في ملف pdf باستخدام pdftk (انظر أعلاه)
ل:
- تنسيق إدخال أسهل ثم XFDF
- دعم حقيقي لـ UTF-8 (الروسي).
- مثال كامل لاستخدام PHP
لا تتردد في التحقق من بلدي PDFFormFillerUTF-8.
يبدو أن هذا كان مغطاة من قبل.انقر للحصول على التعليمات البرمجية ذات الصلة باستخدام مكتبة Zend Framework PDF.
نحن نستخدم PDFLib في العمل.النسخة المدفوعة ليست باهظة الثمن، وهناك نسخة محدودة مفتوحة المصدر، إذا لم تتمكن من شراء النسخة المدفوعة.
لقد كتبت مكتبة بيرل، الكاميرا::PDF, ، مع واجهة خط الأوامر التي يمكن أن تحل هذا.لقد حاولت استخدام حل FDF منذ سنوات، لكنني وجدته معقدًا للغاية ولهذا السبب كتبت CAM::PDF في المقام الأول.تستخدم مكتبتي بعض الأساليب الاستدلالية لاستبدال النموذج بالنص المطلوب، لذا فهو ليس مثاليًا.ولكنه يعمل في معظم الأوقات، وهو سريع ومجاني وسهل الاستخدام تمامًا.