我已经搜遍过,无法找到解决方案。我正在使用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执行此操作吗?
--- ---- OR
...我也试图弄清楚如何使用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;