Php 从二进制字符串向用户回显PDF文件

Php 从二进制字符串向用户回显PDF文件,php,pdf,Php,Pdf,我从一个Web服务获取一个二进制文件(PDF文件),我需要在页面上向用户显示它。我已经设法使用标题下载了它,但我需要将它打印到div中的页面,而不是下载它。这就是我目前的情况: $binaryString = '.....'; $convertedFIle= base64_decode($base64); file_put_contents('my.pdf', $convertedFIle); header('Content-type: application/pdf'); header('C

我从一个Web服务获取一个二进制文件(PDF文件),我需要在页面上向用户显示它。我已经设法使用标题下载了它,但我需要将它打印到div中的页面,而不是下载它。这就是我目前的情况:

$binaryString = '.....';
$convertedFIle= base64_decode($base64);
file_put_contents('my.pdf', $convertedFIle);

header('Content-type: application/pdf');
header('Content-Disposition: attachment; filename="my.pdf"');

您设置的标题将告诉浏览器下载文件而不是显示文件,如果要显示文件,则需要将其嵌入iframe或对象中

假设您的pdf位于文档根目录中,您可以执行以下操作:

<!DOCTYPE html>
<html>
  <head>
    <title></title>
  </head>
  <body>
    <iframe src="/myPdf.pdf" width="100%" height="500px">
    </iframe>
  </body>
</html>

我仔细考虑了@CountKyle所说的话,并设法让它起作用。 因为我是从SOAP调用和AJAX获取PDF的,所以我做的有点不同

var htmlText = '<embed style="position:absolute; height:100%; width:100%;"'
                        + ' type="application/pdf"'
                        + ' src="data:application/pdf;base64,'
                        + escape(server_response)
                        + '"></embed>';

$( "#modal-preview-pdf-container" ).html(htmlText);
var htmlText='';
$(“#模式预览pdf容器”).html(htmlText);
现在我想要的是正确的div