Como sobrepor o PDF gerado em HTML sobre o PDF existente?
Estou procurando começar com um arquivo PDF inicial, um que tenha gráficos e texto, e depois pegue um código html que tenha valores dinâmicos para algumas entradas do usuário, gere-o como PDF, esperemos que use o PDF inicial como plano de fundo, OU de alguma forma, executando um script PHP posteriormente para "mesclar" o PDF em que um atua como plano de fundo para o outro.
Eu tenho algum código que renderiza um PDF formatado em HTML: (usando DOMPDF)
$initialpdf = file_get_contents('file_html.html');
$initialpdf = str_replace(array(
'%replaceText1%',
'%replaceText2%'
), array (
$replaceText1,
$replaceText2,
), $initialpdf);
$fp = fopen('file_html_new.html','w');
file_put_contents('file_html_new.html', $initialpdf);
require_once("dompdf/dompdf_config.inc.php");
spl_autoload_register('DOMPDF_autoload');
function pdf_create($html, $filename, $paper, $orientation, $stream=TRUE)
{
$dompdf = new DOMPDF();
$dompdf->set_paper($paper,$orientation);
$dompdf->load_html($html);
$dompdf->render();
$pdf = $dompdf->output();
@file_put_contents($filename . ".pdf", $pdf);
}
$filename = 'HTML_Generated_pdf';
$dompdf = new DOMPDF();
$html = file_get_contents('file_html_new.html');
pdf_create($html,$filename,'Letter','landscape');
O código acima utiliza o arquivo html "file_html.html" e substitui as cadeias de caracteres com os valores de entrada do usuário, o processa como um novo arquivo HTML chamado "file_html_new.html" e o processa como PDF.
Eu também tenho outro código PHP que processa um PDF tendo um PDF como fonte inicial: (usando FPDF)
<?php
ob_clean();
ini_set("session.auto_start", 0);
define('FPDF_FONTPATH','font/');
define('FPDI_FONTPATH','font/');
require('fpdf.php');
require('fpdi.php');
$pdf = new FPDI();
$pdf->setSourceFile("/home/user/public_html/wp-content/myPDF.pdf");
$tplIdx = $pdf->importPage(1);
$specs = $pdf->getTemplateSize($tplIdx);
$pdf->addPage($specs['h'] > $specs['w'] ? 'P' : 'L', 'Letter');
$pdf->useTemplate($tplIdx, 0, 0);
$pdf->SetFont('helvetica');
$pdf->SetXY(30, 30);
$pdf->Write(0, $replaceText1);
ob_end_clean();
$pdf->Output('New_Generated_PDF.pdf', 'F');
?>
Isso pega um PDF já existente, "myPDF.pdf", e o usa como plano de fundo, escrevendo alguns valores passados no documento e salvando o documento produzido recentemente.
Embora isso seja essencialmente o que eu quero fazer, preciso trabalhar com html porque a formatação exata do texto se torna rigorosa e quase impossível de fazer, apenas plotando-a manualmente.
Estou aberto a usar DOMPDF, FPDF, FPDI, TCPDF ou qualquer outro recurso PHP para fazer isso.
Existe uma maneira de fundir as duas maneiras que eu tenho acima?