×

Más Información

Cuadro de autor


Discuta su proyecto

Sobre Nosotros

Somos un socio de Microsoft Gold con presencia en los Estados Unidos y la India. Somos un proveedor de servicios de TI dinámico y profesional que sirve a empresas y nuevas empresas, ayudándolas a enfrentar los desafíos de la economía global. Ofrecemos servicios en el área de Consulta e implementación CRM, Desarrollo de aplicaciones, Desarrollo de aplicaciones móviles, Desarrollo web y Desarrollo Offshore.

Complete formularios PDF con PHP y PDFtk

¿Cómo completar formularios PDF con PHP y PDFtk?

By Pooja sharma / 13 de diciembre de 2021

14 de diciembre de 2021
¿Cómo completar formularios PDF con PHP y PDFtk?

Hoy en día, los archivos PDF se han convertido en uno de los métodos más comunes para compartir documentos en línea. El uso de un documento PDF es a menudo la opción más importante, ya sea que necesite proporcionar los documentos de sus clientes a proveedores de servicios externos, como compañías de seguros o bancos, o simplemente envíe un CV a un empleador. Trabajar con archivos PDF le permite compartir texto simple y formateado, hipervínculos, imágenes e incluso diferentes formularios rellenables que necesite.

En este blog, entenderemos cómo se puede completar formularios PDF usando PHP y una tremenda herramienta de manipulación de PDF conocida como Servidor PDFtk. Aquí demostraremos cómo se puede trabajar dinámicamente agregando datos en formato PDF a través de formularios Html.

A PDF rellenable es un documento PDF que contiene algunos campos que se pueden editar sin el software de edición de PDF. Para llenar el PDF rellenable de forma dinámica, uno tiene que crear un formulario HTML y vincularlo dinámicamente. Para lograr esto, crearemos un script PHP.

A continuación se muestran el siguiente paso y algún software y biblioteca para completar PDF rellenables.

Requisitos previos:

Paso 1) Ir a lo de arriba Enlace del servidor PDFtk E instalar el Servidor PDFtk según su sistema operativo.

Después de instalar el software, abra el símbolo del sistema y ejecute el comando:

Paso 2) Cree una carpeta para el script en su servidor local, el nombre de la carpeta puede ser cualquier cosa. En este caso, hemos creado una carpeta llamada: “PDF rellenable", Ahora crea index.php en la carpeta rellenable-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>

Crear style.css archivo para formulario se ve bien. 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;
}

Paso 3) Crear composer.json archivo para instalar la biblioteca PDFtk.

www / public_html / fillabe-pdf / composer.json

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

"psr-4" : {

"Classes\\":"./classes"

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

Después de esto, ejecute este comando:

El compositor requiere mikehaertl / php-pdftk, este comando crea una carpeta de proveedor y descarga la biblioteca PDFtk.

Paso 4) Compruebe los campos del archivo pdf rellenables de muestra y los campos del mapa con handler.php Archivo. Luego, abra el pdf rellenable en cualquier software de edición para verificar los campos de entrada con los nombres de los campos asignados. Puedes usar esto https://www.pdffiller.com/ sitio para obtener el nombre del campo.

También, lea: Extraiga cualquier tipo de datos de la hoja de Excel utilizando la función de Azure

Paso 5) Cree un archivo de controlador para manejar las solicitudes de publicación, asignando el valor de los campos PDF al valor del formulario de publicación.

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);

Paso 6) Crear clases de carpeta para crear clase GenerarPDF.

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();
}

}
}

Paso 7) Créar un pdf_llenar carpeta para almacenar pdf rellenable.

Paso 8) Proteja su carpeta por razones de seguridad, cree index.php archivo vacío en clases y pdf_llenar carpeta.

www / public_html / fillabe-pdf / classes / index.php o www / public_html / fillabe-pdf / pdf_fill / index.php

<?php
// Nothing here

También, lea: Principales marcos de desarrollo de aplicaciones web para 2022: obtenga la mayor escalabilidad a menores costos

Resumen

Con la implementación anterior, puede instalar PDFtk y aprenda algunos de sus comandos útiles como campos_datos_volcado y llenar_formulario. Con todos los pasos anteriores, podrá lograr con éxito la funcionalidad personalizada que se puede completar en PDF.

Tenga en cuenta que esta implementación es básica y hemos intentado mantener las cosas lo más simples posible. Si aún tiene algún problema, puede conectarse con nuestro Equipo de desarrollo para obtener más ayuda.

[sc name = "Desarrollo web"] [add_newsletter] [add_related_page_diff_contents blog_cat = "aplicación web"]

Hoy en día, los archivos PDF se han convertido en uno de los métodos más comunes para compartir documentos en línea. El uso de un documento PDF es a menudo la opción más importante, ya sea que necesite proporcionar los documentos de sus clientes a proveedores de servicios externos, como compañías de seguros o bancos, o simplemente envíe un CV a un empleador. Trabajar con archivos PDF le permite compartir texto simple y formateado, hipervínculos, imágenes e incluso diferentes formularios rellenables que necesite.

En este blog, entenderemos cómo se puede completar formularios PDF usando PHP y una tremenda herramienta de manipulación de PDF conocida como Servidor PDFtk. Aquí demostraremos cómo se puede trabajar dinámicamente agregando datos en formato PDF a través de formularios Html.

A PDF rellenable es un documento PDF que contiene algunos campos que se pueden editar sin el software de edición de PDF. Para llenar el PDF rellenable de forma dinámica, uno tiene que crear un formulario HTML y vincularlo dinámicamente. Para lograr esto, crearemos un script PHP.

A continuación se muestran el siguiente paso y algún software y biblioteca para completar PDF rellenables.

Requisitos previos:

Paso 1) Ir a lo de arriba Enlace del servidor PDFtk E instalar el Servidor PDFtk según su sistema operativo.

Después de instalar el software, abra el símbolo del sistema y ejecute el comando:

Paso 2) Cree una carpeta para el script en su servidor local, el nombre de la carpeta puede ser cualquier cosa. En este caso, hemos creado una carpeta llamada: “PDF rellenable", Ahora crea index.php en la carpeta rellenable-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>

Crear style.css archivo para formulario se ve bien. 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;
}

Paso 3) Crear composer.json archivo para instalar la biblioteca PDFtk.

www / public_html / fillabe-pdf / composer.json

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

"psr-4" : {

"Classes\\":"./classes"

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

Después de esto, ejecute este comando:

El compositor requiere mikehaertl / php-pdftk, este comando crea una carpeta de proveedor y descarga la biblioteca PDFtk.

Paso 4) Compruebe los campos del archivo pdf rellenables de muestra y los campos del mapa con handler.php Archivo. Luego, abra el pdf rellenable en cualquier software de edición para verificar los campos de entrada con los nombres de los campos asignados. Puedes usar esto https://www.pdffiller.com/ sitio para obtener el nombre del campo.

También, lea: Extraiga cualquier tipo de datos de la hoja de Excel utilizando la función de Azure

Paso 5) Cree un archivo de controlador para manejar las solicitudes de publicación, asignando el valor de los campos PDF al valor del formulario de publicación.

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);

Paso 6) Crear clases de carpeta para crear clase GenerarPDF.

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();
}

}
}

Paso 7) Créar un pdf_llenar carpeta para almacenar pdf rellenable.

Paso 8) Proteja su carpeta por razones de seguridad, cree index.php archivo vacío en clases y pdf_llenar carpeta.

www / public_html / fillabe-pdf / classes / index.php o www / public_html / fillabe-pdf / pdf_fill / index.php

<?php
// Nothing here

También, lea: Principales marcos de desarrollo de aplicaciones web para 2022: obtenga la mayor escalabilidad a menores costos

Resumen

Con la implementación anterior, puede instalar PDFtk y aprenda algunos de sus comandos útiles como campos_datos_volcado y llenar_formulario. Con todos los pasos anteriores, podrá lograr con éxito la funcionalidad personalizada que se puede completar en PDF.

Tenga en cuenta que esta implementación es básica y hemos intentado mantener las cosas lo más simples posible. Si aún tiene algún problema, puede conectarse con nuestro Equipo de desarrollo para obtener más ayuda.

Servicios de Desarrollo Web

¿Está buscando una empresa de desarrollo web confiable? Nuestros desarrolladores web altamente calificados nos permiten ofrecer servicios de desarrollo web orientados a resultados. Póngase en contacto con nuestro equipo para comprender cómo podemos ayudarlo a lograr sus objetivos comerciales.



invitado
0 Comentarios
Comentarios en línea
Ver todos los comentarios
0
Me encantaría tus pensamientos, por favor comenta.x