我需要将整个页面的HTML传递给PHP变量,但我不知道这是否可能,或者它是否能完成我想要做的事情。
想法是用户单击一个按钮(PRINT),脚本将收集页面的整个HTML并将其POST到PHP文件。 PHP文件使用第三方服务(DocRaptor)生成PDF。
有关最佳方法的任何想法吗?它会工作吗?
修改 你提问的一些代码。这是我得到的。这有效,我得到了文本输入框中提交的文本的PDF。但这显然不是我需要的。我只是不确定如何发布不是文本输入的内容,而是发布页面的整个当前HTML。它显然不是一个表格,按钮(打印页面)是理想的。
HTML:
<form method="POST" action="print_submit.php">
Innovation Name<input type="text" name="this_data">
<input type="submit" value="Sumbit my choice"/>
</form>
PHP(print_submit.php):
<?php
$api_key = "XXXXXX";
$url = "https://docraptor.com/docs?user_credentials=$api_key";
$content = $_POST['this_data'];
$name = 'docraptor_sample.pdf';
$post_array = array(
'doc[name]' => $name,
'doc[document_type]' => 'pdf',
'doc[test]' => 'true',
'doc[document_content]' => $content
);
$postdata = http_build_query($post_array);
$opts = array('http' =>
array(
'method' => 'POST',
'header' => 'Content-type: application/x-www-form-urlencoded',
'content' => $postdata
)
);
$context = stream_context_create($opts);
$doc = file_get_contents($url, false, $context);
file_put_contents($name, $doc);
?>
Here is a link to your pdf: <a href="<?=$name ?>"><?=$name ?></a>
答案 0 :(得分:0)
我之前做过类似的事情。下面是一个示例链接,该示例使用JavaScript捕获HTML并传递给新页面以供PHP阅读。可能有更好的或其他方式来执行它,但这完成了我之前想要的工作,所以也许你可以从中获得一些想法。
的JavaScript
function getPageHTML()
{
//Get the HTML and add to a form element before submitting the form.
document.PageContent.HTML.value=document.all[0].innerHTML;
document.PageContent.submit();
}