我正在为物业租赁代理(房地产)建立一个WordPress网站,该网站链接到他们的物业管理系统(LetMC)。
LetMC通过URL提供PDF属性手册(忽略手册内容,尚未设计):
我已经建立了一个很好的系统,通过AJAX使用灯箱显示属性照片,小册子和位置,所以我不想自动下载PDF。目前我将PDF保存到临时文件夹并直接从网站Web服务器打开它,但理想情况下我想避免保存PDF ....
这可能吗?
当前进展:
/**
* Lightbox Brochure
*
* Return property brochure to be viewed in a lightbox
*/
public static function lightbox_brochure() {
$letmc_brochure_url = $_REQUEST['dataurl'];
if ( isset( $letmc_brochure_url ) ) {
$filename = generateRandomString() . '.pdf';
$upload_dir = wp_upload_dir();
if ( wp_mkdir_p($upload_dir['basedir']) ) {
$file = $upload_dir['basedir'] . '/letmc_uploads/temp/' . $filename;
}
/**
* Store in the temp filesystem
*/
$ch = curl_init($letmc_brochure_url);
$fp = fopen($file, 'wb');
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);
$Result = curl_exec($ch);
curl_close($ch);
fclose($fp);
$output = '';
$output .= '<div class="lightbox"><iframe src="' . $upload_dir['baseurl'] . '/letmc_uploads/temp/' . $filename . '" width="97%" height="550"></iframe><button title="Close (Esc)" type="button" class="controls mod-close mfp-close"><i class="icon icon-close"></i></button></div>';
echo $output;
} else {
echo '<p>Sorry, no brochure available.</p>';
}
die();
}
答案 0 :(得分:1)
您无需保存文件以便稍后显示。您只需访问PDF文件并将其直接吐出到iframe中,如下所示:
创建文件 getpdf.php :
$url = urldecode($_GET['url']);
$pdf_data = file_get_contents($url);
header('Content-type: application/pdf');
echo $pdf_data;
将此代码修改为此代码(将其放在$output = '';
下方):
$letmc_brochure_url = urlencode($letmc_brochure_url);
$output .= '<div class="lightbox"><iframe src="getpdf.php?url=' . $letmc_brochure_url . '" width="97%" height="550"></iframe><button title="Close (Esc)" type="button" class="controls mod-close mfp-close"><i class="icon icon-close"></i></button></div>';
这里唯一的缺点是,每次请求文件时,都需要由服务器再次下载(没有缓存),这可能会给您的服务器资源带来一些压力。
答案 1 :(得分:0)
Google的Google文档有一个漂亮的iframe嵌入工具,允许您在线嵌入和查看文档(包括pdf)!
查看下面的代码。您只需提供文档的URL。
<iframe id="app-iframe" class="iframe-doc" src="http://docs.google.com/viewer?url=http://www.giancarlocolfer.com/wp-content/uploads/2015/04/pdf-sample.pdf&embedded=true" height="600" width="680" title="PDF Sample" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>
您可以在我的专业PDF and Document Online Reader上看到此web development and design blog iframe嵌入工具的实时演示/示例。