Я искал во всем и не могу найти решение. Я использую PHP и библиотеку TCPDF для динамического создания простой формы, например:
function getPDF() {
// create new PDF document
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
// set document information
$pdf->SetCreator(PDF_CREATOR);
$pdf->SetAuthor('EnTax');
$pdf->SetTitle('SRED Score');
$pdf->SetSubject('SRED Score Application');
$pdf->SetKeywords('TCPDF, PDF, example, test, guide');
// set default header data
$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE, PDF_HEADER_STRING);
// set header and footer fonts
$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN));
$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA));
// set default monospaced font
$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
// set margins
$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
$pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
$pdf->SetFooterMargin(PDF_MARGIN_FOOTER);
// set auto page breaks
$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
// set image scale factor
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
// IMPORTANT: disable font subsetting to allow users editing the document
$pdf->setFontSubsetting(false);
// set font
$pdf->SetFont('helvetica', '', 10, '', false);
// add a page
$pdf->AddPage();
$html = '';
$html .= '<form method="POST" action="http://localhost/index.php?method=submit_form">';
$html .= '<label for="question1" class="control-label">Question 1</label><textarea id="question1" name="question1" style="width:100%;height:100px;" class="ccm-input-textarea form-control">'.$this->post('question1').'</textarea>';
$html .= '<input type="submit" class="btn ccm-input-submit btn-default" id="getpdf" name="getpdf" value="Launch Website"></form>';
$pdf->writeHTML($html, true, false, true, false, '');
$pdf->Ln(6);
$pdf->Output('sred_score.pdf', 'D');
}
Это прекрасно работает при использовании Adobe Acrobat, но когда я отправляю форму, встроенную в файл PDF, было бы идеально, если бы это открыло браузер с URL-адресом. К сожалению, он открывает еще один Adobe Acrobat со страницей сервера — что, конечно, выглядит ужасно. Есть ли волшебный способ сказать Acrobat, что я действительно хочу открыть браузер? … и я могу сделать это с помощью TCPDF?
—ИЛИ ЖЕ—-
…Я также попытался выяснить, как получить значение из полей формы с помощью библиотеки PHP PDFParser, но, хотя я могу получить текст статического теста, я не могу получить доступ к форме. Это вообще возможно с использованием TCPDF или PDFParser? Мой пример кода разбора выглядит так:
$parser = new \Smalot\PdfParser\Parser();
$pdf = $parser->parseFile($file);
$pages = $pdf->getPages();
// Loop over each page to extract text.
$out = '';
foreach ($pages as $page) {
$out .= $page->getText() . '<br/>';
foreach($page->getXObjects() as $o) {
$out .= 'OBJ: '.$o->getText().'<br/>';
}
}
echo $out;
Задача ещё не решена.
Других решений пока нет …