صندوق المؤلف


ناقش مشروعك

من نحن

نحن شريك Microsoft Gold مع وجودها في جميع أنحاء الولايات المتحدة والهند. نحن مزود خدمات تقنية معلومات ديناميكي ومهني يخدم المؤسسات والشركات الناشئة ، ويساعدها على مواجهة تحديات الاقتصاد العالمي. نحن نقدم خدمات في مجال استشارات إدارة علاقات العملاء وتنفيذها ، وتطوير التطبيقات ، وتطوير تطبيقات الهاتف المحمول ، وتطوير الويب ، والتطوير الخارجي.

املأ نماذج PDF باستخدام PHP و PDFtk

كيف تملأ نماذج PDF باستخدام PHP و PDFtk؟

By بوجا شارما / 13 ديسمبر 2021

14 كانون الأول، 2021
كيف تملأ نماذج PDF باستخدام PHP و PDFtk؟

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

في هذه المدونة ، سوف نفهم كيف يمكن للمرء املأ نماذج PDF باستخدام PHP وأداة معالجة هائلة لملفات PDF تُعرف باسم خادم PDFtk. سنشرح هنا كيف يمكن للمرء أن يعمل ديناميكيًا عن طريق إضافة البيانات في نموذج PDF من خلال نماذج Html.

A PDF قابل للتعبئة هو مستند PDF يحتوي على بعض الحقول القابلة للتحرير بدون برنامج محرر PDF. لملء ملف PDF القابل للتعبئة ديناميكيًا ، يتعين على المرء إنشاء نموذج HTML وربطه ديناميكيًا. لتحقيق ذلك ، سننشئ نص PHP.

فيما يلي الخطوة التالية وبعض البرامج والمكتبة لملء ملف PDF القابل للتعبئة.

المتطلبات الأساسية:

الخطوة 1) انتقل إلى ما سبق رابط خادم PDFtk وتثبيت خادم PDFtk وفقًا لنظام التشغيل الخاص بك.

بعد تثبيت البرنامج ، افتح موجه الأوامر وقم بتشغيل الأمر:

الخطوة 2) قم بإنشاء مجلد للبرنامج النصي على الخادم المحلي الخاص بك ، يمكن أن يكون اسم المجلد أي شيء. في هذه الحالة ، قمنا بإنشاء مجلد باسم: "ملء pdf"، أنشئ الآن index.php في مجلد pdf قابل للتعبئة.

www / public_html / fillabe-pdf / index.php

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>How To Fill A Fillable PDF Form with PHP using PDFtk</title>

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
<link rel="stylesheet" href="style.css">

</head>
<body>
<div class="container">

<form action="handler.php" method="POST">

<h1>Generate Fillable PDF Dynamically</h1>
<p>Fill the form and your data will fill in a PDF</p>
<div class="form-group row">

<div class="col-lg-6">
<input type="text" name="fname" class="form-control" placeholder="First Name">
</div>

<div class="col-lg-6">
<input type="text" name="lname" class="form-control" placeholder="Last Name" required>
</div>

</div>
<div class="form-group row">

<div class="col-lg-6">
<input type="email" name="email" class="form-control" placeholder="Email" required>
</div>

<div class="col-lg-6">
<input type="tel" name="phone" class="form-control" placeholder="Phone" required>
</div>

</div>
<div class="form-group">

<textarea name="message" cols="30" rows="10" class="form-control" placeholder="Your Message" required></textarea>

</div>
<button type="submit" class="btn btn-block btn-success">Sumbit</button> 
</form>
</div>
</body>
</html>

إنشاء style.css ملف النموذج يبدو جيدًا. www / public_html / fillabe-pdf / style.css

body {
padding: 5rem 0;
}

.btn-block {
display: block;
width: 10%;
}

.btn-success {
color: #fff;
background-color: #0062cc;
border-color: #007bff;
}

.btn-success:hover {
color: #fff;
background-color: #0062cc;
border-color: #0062cc;
}

الخطوة3) يخلق composer.json ملف لتثبيت مكتبة PDFtk.

www / public_html / fillabe-pdf / composer.json

{
"name": "mrdigital/pdftk",
"autoload" : {

"psr-4" : {

"Classes\\":"./classes"

}
},
"require": {
"mikehaertl/php-pdftk": "^0.10.3"
}
}

بعد ذلك ، قم بتشغيل هذا الأمر:

يتطلب الملحن mikehaertl / php-pdftk ، يقوم هذا الأمر بإنشاء مجلد بائع وتنزيل مكتبة PDFtk.

الخطوة 4) تحقق من نموذج حقول ملف pdf القابلة للتعبئة وخريطة الحقول باستخدام handler.php ملف. ثم افتح ملف pdf القابل للتعبئة في أي برنامج محرر للتحقق من حقول الإدخال بأسماء الحقول المعينة. يمكنك استخدام هذا https://www.pdffiller.com/ موقع للحصول على اسم الحقل.

أيضا ، اقرأ: استخراج أي نوع من البيانات من ورقة Excel باستخدام وظيفة Azure

الخطوة 5) قم بإنشاء ملف معالج للتعامل مع طلبات النشر ، وتعيين قيمة حقول pdf لنشر قيمة النموذج.

www / public_html / fillabe-pdf / handler.php

<?php 

if ($_SERVER['REQUEST_METHOD'] != 'POST') {
exit;
}

define('ACCESSCHECK', TRUE);

require_once 'vendor/autoload.php';

use Classes\GeneratePDF;

$data = [

'name_field' => $_POST['fname'] .' ' . $_POST['lname'],
'email_field' => $_POST['email'],
'phone_field' => $_POST['phone'],
'enquiry_field' => $_POST['message']
];

$pdf = new GeneratePdf;
$response = $pdf->generate($data);

print_r($response);

الخطوة 6) إنشاء فئات مجلد من أجل إنشاء فئة توليد PDF.

www / public_html / fillabe-pdf / classes / GeneratePDF.php

<?php
namespace Classes;

if(!defined('ACCESSCHECK')) {
die('Direct access not permitted');
}

use mikehaertl\pdftk\Pdf;

class GeneratePDF {

public function generate($data)
{

try {

$filename = 'pdf_fillabel' . rand() . '.pdf';

$pdf = new Pdf('./test.pdf');
$pdf->fillForm($data)
->flatten()
->saveAs( './pdf_fill/' . $filename);
return $filename;
}
catch(Exception $e)
{
return $e->getMessage();
}

}
}

الخطوة 7) إنشاء pdf_fill مجلد لتخزين ملفات pdf القابلة للتعبئة.

الخطوة 8) حماية المجلد الخاص بك لأسباب أمنية ، إنشاء index.php ملف فارغ في الفصول و pdf_fill المجلد.

www / public_html / fillabe-pdf / classes / index.php أو www / public_html / fillabe-pdf / pdf_fill / index.php

<?php
// Nothing here

أيضا ، اقرأ: أفضل أطر تطوير تطبيقات الويب لعام 2022: احصل على أكبر قدر من قابلية التوسع بتكاليف أقل

في المخص:

مع التنفيذ أعلاه ، يمكنك تثبيت بدفتك وتعلم بعض أوامره المفيدة مثل تفريغ_بيانات_حقول و املأ النموذج. من خلال جميع الخطوات المذكورة أعلاه ، ستتمكن من تحقيق الوظيفة المخصصة القابلة للتعبئة بتنسيق pdf بنجاح.

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

[sc name = "تطوير الويب"] [add_newsletter] [add_related_page_diff_contents blog_cat = "تطبيق ويب"]

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

في هذه المدونة ، سوف نفهم كيف يمكن للمرء املأ نماذج PDF باستخدام PHP وأداة معالجة هائلة لملفات PDF تُعرف باسم خادم PDFtk. سنشرح هنا كيف يمكن للمرء أن يعمل ديناميكيًا عن طريق إضافة البيانات في نموذج PDF من خلال نماذج Html.

A PDF قابل للتعبئة هو مستند PDF يحتوي على بعض الحقول القابلة للتحرير بدون برنامج محرر PDF. لملء ملف PDF القابل للتعبئة ديناميكيًا ، يتعين على المرء إنشاء نموذج HTML وربطه ديناميكيًا. لتحقيق ذلك ، سننشئ نص PHP.

فيما يلي الخطوة التالية وبعض البرامج والمكتبة لملء ملف PDF القابل للتعبئة.

المتطلبات الأساسية:

الخطوة 1) انتقل إلى ما سبق رابط خادم PDFtk وتثبيت خادم PDFtk وفقًا لنظام التشغيل الخاص بك.

بعد تثبيت البرنامج ، افتح موجه الأوامر وقم بتشغيل الأمر:

الخطوة 2) قم بإنشاء مجلد للبرنامج النصي على الخادم المحلي الخاص بك ، يمكن أن يكون اسم المجلد أي شيء. في هذه الحالة ، قمنا بإنشاء مجلد باسم: "ملء pdf"، أنشئ الآن index.php في مجلد pdf قابل للتعبئة.

www / public_html / fillabe-pdf / index.php

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>How To Fill A Fillable PDF Form with PHP using PDFtk</title>

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
<link rel="stylesheet" href="style.css">

</head>
<body>
<div class="container">

<form action="handler.php" method="POST">

<h1>Generate Fillable PDF Dynamically</h1>
<p>Fill the form and your data will fill in a PDF</p>
<div class="form-group row">

<div class="col-lg-6">
<input type="text" name="fname" class="form-control" placeholder="First Name">
</div>

<div class="col-lg-6">
<input type="text" name="lname" class="form-control" placeholder="Last Name" required>
</div>

</div>
<div class="form-group row">

<div class="col-lg-6">
<input type="email" name="email" class="form-control" placeholder="Email" required>
</div>

<div class="col-lg-6">
<input type="tel" name="phone" class="form-control" placeholder="Phone" required>
</div>

</div>
<div class="form-group">

<textarea name="message" cols="30" rows="10" class="form-control" placeholder="Your Message" required></textarea>

</div>
<button type="submit" class="btn btn-block btn-success">Sumbit</button> 
</form>
</div>
</body>
</html>

إنشاء style.css ملف النموذج يبدو جيدًا. www / public_html / fillabe-pdf / style.css

body {
padding: 5rem 0;
}

.btn-block {
display: block;
width: 10%;
}

.btn-success {
color: #fff;
background-color: #0062cc;
border-color: #007bff;
}

.btn-success:hover {
color: #fff;
background-color: #0062cc;
border-color: #0062cc;
}

الخطوة3) يخلق composer.json ملف لتثبيت مكتبة PDFtk.

www / public_html / fillabe-pdf / composer.json

{
"name": "mrdigital/pdftk",
"autoload" : {

"psr-4" : {

"Classes\\":"./classes"

}
},
"require": {
"mikehaertl/php-pdftk": "^0.10.3"
}
}

بعد ذلك ، قم بتشغيل هذا الأمر:

يتطلب الملحن mikehaertl / php-pdftk ، يقوم هذا الأمر بإنشاء مجلد بائع وتنزيل مكتبة PDFtk.

الخطوة 4) تحقق من نموذج حقول ملف pdf القابلة للتعبئة وخريطة الحقول باستخدام handler.php ملف. ثم افتح ملف pdf القابل للتعبئة في أي برنامج محرر للتحقق من حقول الإدخال بأسماء الحقول المعينة. يمكنك استخدام هذا https://www.pdffiller.com/ موقع للحصول على اسم الحقل.

أيضا ، اقرأ: استخراج أي نوع من البيانات من ورقة Excel باستخدام وظيفة Azure

الخطوة 5) قم بإنشاء ملف معالج للتعامل مع طلبات النشر ، وتعيين قيمة حقول pdf لنشر قيمة النموذج.

www / public_html / fillabe-pdf / handler.php

<?php 

if ($_SERVER['REQUEST_METHOD'] != 'POST') {
exit;
}

define('ACCESSCHECK', TRUE);

require_once 'vendor/autoload.php';

use Classes\GeneratePDF;

$data = [

'name_field' => $_POST['fname'] .' ' . $_POST['lname'],
'email_field' => $_POST['email'],
'phone_field' => $_POST['phone'],
'enquiry_field' => $_POST['message']
];

$pdf = new GeneratePdf;
$response = $pdf->generate($data);

print_r($response);

الخطوة 6) إنشاء فئات مجلد من أجل إنشاء فئة توليد PDF.

www / public_html / fillabe-pdf / classes / GeneratePDF.php

<?php
namespace Classes;

if(!defined('ACCESSCHECK')) {
die('Direct access not permitted');
}

use mikehaertl\pdftk\Pdf;

class GeneratePDF {

public function generate($data)
{

try {

$filename = 'pdf_fillabel' . rand() . '.pdf';

$pdf = new Pdf('./test.pdf');
$pdf->fillForm($data)
->flatten()
->saveAs( './pdf_fill/' . $filename);
return $filename;
}
catch(Exception $e)
{
return $e->getMessage();
}

}
}

الخطوة 7) إنشاء pdf_fill مجلد لتخزين ملفات pdf القابلة للتعبئة.

الخطوة 8) حماية المجلد الخاص بك لأسباب أمنية ، إنشاء index.php ملف فارغ في الفصول و pdf_fill المجلد.

www / public_html / fillabe-pdf / classes / index.php أو www / public_html / fillabe-pdf / pdf_fill / index.php

<?php
// Nothing here

أيضا ، اقرأ: أفضل أطر تطوير تطبيقات الويب لعام 2022: احصل على أكبر قدر من قابلية التوسع بتكاليف أقل

في المخص:

مع التنفيذ أعلاه ، يمكنك تثبيت بدفتك وتعلم بعض أوامره المفيدة مثل تفريغ_بيانات_حقول و املأ النموذج. من خلال جميع الخطوات المذكورة أعلاه ، ستتمكن من تحقيق الوظيفة المخصصة القابلة للتعبئة بتنسيق pdf بنجاح.

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

خدمات تطوير الويب

هل تبحث عن شركة تطوير ويب موثوقة؟ يمكّننا مطورو الويب ذوو المهارات العالية لدينا من تقديم خدمات تطوير الويب الموجهة نحو النتائج. اتصل بفريقنا لفهم كيف يمكننا مساعدتك في تحقيق أهداف عملك.



ضيف
0 التعليقات
التقيمات المضمنة
عرض جميع التعليقات
0
أحب أفكارك ، يرجى التعليق.x
()
x