Caixa do Autor


Discuta o seu projeto

Sobre Nós

Somos o parceiro Microsoft Gold com presença nos Estados Unidos e na Índia. Somos um provedor de serviços de TI dinâmico e profissional que atende empresas e startups, ajudando-as a enfrentar os desafios da economia global. Oferecemos serviços na área de Consultoria e implementação de CRM, Desenvolvimento de aplicações, Desenvolvimento de aplicações mobile, Desenvolvimento Web e Desenvolvimento Offshore.

Preencher formulários PDF com PHP e PDFtk

Como preencher formulários PDF com PHP e PDFtk?

By Pooja Sharma / 13 de dezembro de 2021

14 de dezembro de 2021
Como preencher formulários PDF com PHP e PDFtk?

Hoje, os arquivos PDF se tornaram um dos métodos mais comuns de compartilhamento de documentos online. Usar um documento PDF é geralmente a opção mais importante, quer você precise fornecer os documentos de seus clientes a prestadores de serviços terceirizados, como seguradoras ou bancos, ou simplesmente enviar um currículo a um empregador. Trabalhar com arquivos PDF permite compartilhar texto simples e formatado, hiperlinks, imagens e até mesmo diferentes formulários preenchíveis de que você precisa.

Neste blog, estaremos entendendo como se pode preencher formulários PDF usando PHP e uma tremenda ferramenta de manipulação de PDF conhecida como Servidor PDFtk. Aqui estaremos demonstrando como se pode trabalhar dinamicamente adicionando dados em formato PDF por meio de formulários Html.

A PDF preenchível é um documento PDF que contém alguns campos editáveis ​​sem o software editor de PDF. Para preencher o PDF preenchível de forma dinâmica, é necessário criar um formulário HTML e vinculá-lo dinamicamente. Para fazer isso, criaremos um script PHP.

Abaixo estão as etapas a seguir e alguns softwares e bibliotecas para preencher o PDF preenchível.

Pré-requisitos:

Passo 1) Vá para o acima Link do servidor PDFtk e instale o Servidor PDFtk de acordo com seu sistema operacional.

Depois de instalar o software, abra o prompt de comando e execute o comando:

Passo 2) Crie uma pasta para o script em seu servidor local, o nome da pasta pode ser qualquer coisa. Neste caso, criamos uma pasta chamada: “preenchível-pdf”, Agora crie index.php na pasta de pdf preenchível.

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>

Crie style.css arquivo para formulário parece bom. 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;
}

Passo 3) Crio composer.json arquivo para instalar a biblioteca PDFtk.

www / public_html / fillabe-pdf / composer.json

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

"psr-4" : {

"Classes\\":"./classes"

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

Depois disso, execute este comando:

O Composer requer mikehaertl / php-pdftk, este comando cria uma pasta de fornecedor e baixa a biblioteca PDFtk.

Passo 4) Verifique os campos do arquivo pdf preenchível de amostra e os campos do mapa com handler.php Arquivo. Em seguida, abra o PDF preenchível em qualquer software editor para verificar os campos de entrada com os nomes dos campos mapeados. Você pode usar isso https://www.pdffiller.com/ site para obter o nome do campo.

Além disso, leia: Extraia qualquer tipo de dados da planilha do Excel usando a função Azure

Passo 5) Crie um arquivo de manipulador para lidar com solicitações de postagem, mapeando o valor dos campos PDF para postar o valor do formulário.

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

Passo 6) Criar classes de pasta para criar classe Gerar 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();
}

}
}

Passo 7) Crie uma pdf_preenchimento pasta para armazenar pdf preenchível.

Passo 8) Proteja sua pasta por razões de segurança, crie index.php arquivo vazio nas aulas e pdf_preenchimento pasta.

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

<?php
// Nothing here

Além disso, leia: Principais estruturas de desenvolvimento de aplicativos da Web para 2022: obtenha o máximo de escalabilidade com custos mais baixos

Resumindo

Com a implementação acima, você pode instalar pdftk e aprenda alguns de seus comandos úteis, como dump_data_fields e preencher formulário. Com todas as etapas acima, você poderá obter com sucesso a funcionalidade personalizada de preenchimento de PDF.

Observe que esta implementação é básica e tentamos manter as coisas o mais simples possível. Se ainda assim, você está tendo algum problema, você pode se conectar com nosso equipe de desenvolvimento para qualquer assistência adicional.

[sc name = "Desenvolvimento da web"] [add_newsletter] [add_related_page_diff_contents blog_cat = "aplicativo da web"]

Hoje, os arquivos PDF se tornaram um dos métodos mais comuns de compartilhamento de documentos online. Usar um documento PDF é geralmente a opção mais importante, quer você precise fornecer os documentos de seus clientes a prestadores de serviços terceirizados, como seguradoras ou bancos, ou simplesmente enviar um currículo a um empregador. Trabalhar com arquivos PDF permite compartilhar texto simples e formatado, hiperlinks, imagens e até mesmo diferentes formulários preenchíveis de que você precisa.

Neste blog, estaremos entendendo como se pode preencher formulários PDF usando PHP e uma tremenda ferramenta de manipulação de PDF conhecida como Servidor PDFtk. Aqui estaremos demonstrando como se pode trabalhar dinamicamente adicionando dados em formato PDF por meio de formulários Html.

A PDF preenchível é um documento PDF que contém alguns campos editáveis ​​sem o software editor de PDF. Para preencher o PDF preenchível de forma dinâmica, é necessário criar um formulário HTML e vinculá-lo dinamicamente. Para fazer isso, criaremos um script PHP.

Abaixo estão as etapas a seguir e alguns softwares e bibliotecas para preencher o PDF preenchível.

Pré-requisitos:

Passo 1) Vá para o acima Link do servidor PDFtk e instale o Servidor PDFtk de acordo com seu sistema operacional.

Depois de instalar o software, abra o prompt de comando e execute o comando:

Passo 2) Crie uma pasta para o script em seu servidor local, o nome da pasta pode ser qualquer coisa. Neste caso, criamos uma pasta chamada: “preenchível-pdf”, Agora crie index.php na pasta de pdf preenchível.

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>

Crie style.css arquivo para formulário parece bom. 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;
}

Passo 3) Crio composer.json arquivo para instalar a biblioteca PDFtk.

www / public_html / fillabe-pdf / composer.json

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

"psr-4" : {

"Classes\\":"./classes"

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

Depois disso, execute este comando:

O Composer requer mikehaertl / php-pdftk, este comando cria uma pasta de fornecedor e baixa a biblioteca PDFtk.

Passo 4) Verifique os campos do arquivo pdf preenchível de amostra e os campos do mapa com handler.php Arquivo. Em seguida, abra o PDF preenchível em qualquer software editor para verificar os campos de entrada com os nomes dos campos mapeados. Você pode usar isso https://www.pdffiller.com/ site para obter o nome do campo.

Além disso, leia: Extraia qualquer tipo de dados da planilha do Excel usando a função Azure

Passo 5) Crie um arquivo de manipulador para lidar com solicitações de postagem, mapeando o valor dos campos PDF para postar o valor do formulário.

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

Passo 6) Criar classes de pasta para criar classe Gerar 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();
}

}
}

Passo 7) Crie uma pdf_preenchimento pasta para armazenar pdf preenchível.

Passo 8) Proteja sua pasta por razões de segurança, crie index.php arquivo vazio nas aulas e pdf_preenchimento pasta.

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

<?php
// Nothing here

Além disso, leia: Principais estruturas de desenvolvimento de aplicativos da Web para 2022: obtenha o máximo de escalabilidade com custos mais baixos

Resumindo

Com a implementação acima, você pode instalar pdftk e aprenda alguns de seus comandos úteis, como dump_data_fields e preencher formulário. Com todas as etapas acima, você poderá obter com sucesso a funcionalidade personalizada de preenchimento de PDF.

Observe que esta implementação é básica e tentamos manter as coisas o mais simples possível. Se ainda assim, você está tendo algum problema, você pode se conectar com nosso equipe de desenvolvimento para qualquer assistência adicional.

Serviços de desenvolvimento web

Você está procurando uma empresa de desenvolvimento web confiável? Nossos desenvolvedores web altamente qualificados nos permitem entregar serviços de desenvolvimento web orientados a resultados. Entre em contato com nossa equipe para entender como podemos ajudá-lo a atingir seus objetivos de negócios.



convidado
0 Comentários
Comentários em linha
Ver todos os comentários
0
Adoraria seus pensamentos, por favor, comente.x