我尝试在iframe中打开pdf,但是我有这条消息。 我尝试了很多东西,但没有人工作。
谢谢。
资源解释为文献但与MIME类型application / PDF转移:"数据:应用/ PDF; BASE64,SFRUUC8xLjAgMjAwIE9LDQpDYWNoZS1Db250cm9sOiBwdWJsaWMNCkNvbnRlbnQtVHlwZTogIGFwcGxpY2F0aW9uL3BkZg0KRGF0ZTogICAgICAgICAgRnJpLCAyMyBGZWIgMjAxOCAxMDowNDowNiBHTVQNCkxhc3QtTW9kaWZpZWQ6IEZyaSwgMjMgRmViIDIwMTggMDk6NDI6NDYgR01UDQoNCg =="
<iframe class="opendoc" style="display:none;"></iframe>
$response = new BinaryFileResponse("path to pdf");
$response->trustXSendfileTypeHeader();
$response->headers->set('Content-Type', 'application/pdf');
$str = base64_encode($response);
return new JsonResponse($str);
$.ajax({
url: urlD,
type:'POST',
data: $(form).serialize(),
success: function (response) {
$('.opendoc').css('display','block');
$('.opendoc').attr('src', 'data:application/pdf;base64,'+ response);
}
});
答案 0 :(得分:0)
我建议您使用knp-snappy捆绑包,有很多有用的选项,其中之一是:
Display the pdf in the browser
$snappy = new Pdf('/usr/local/bin/wkhtmltopdf');
header('Content-Type: application/pdf');
header('Content-Disposition: attachment; filename="file.pdf"');
echo $snappy->getOutput('http://www.github.com');
答案 1 :(得分:0)
您创建了BinaryResponse,但发送了JsonResponse。由于JsonResponse会将内容类型设置为document / json,因此会出现错误。
你可能想做类似的事情:
$str = base64_encode(file_get_contents("path to pdf"));
$response = new Response($str);
$response->headers->set('Content-Type', 'application/pdf');
$response->trustXSendfileTypeHeader();
return $response;