4

站在巨人的肩膀上,我已经成功拼凑了一个脚本,使用 header() 在我的内网发布 pdf 文档,

我的显示代码:

<?php
require_once "includes/IniFile.php";
include_once "includes/process.php";
$MyData['ini'] = IniFile::getSettings();
foreach ( $_POST as $key => $value )
   { $fn = $key; }
$fn = str_replace("|sp|"," ",$fn);
$fn = str_replace("|dt|",".",$fn);
$ed = explode('!',$fn) ;
$MyData['ini']['pathMask'] = str_replace('|DEPT|', dptdir($ed[1], $MyData['ini'] ['departments']), $MyData['ini']['pathMask']);
$MyData['ini']['pathMask'] = str_replace('|FLDR|', subdir($ed[2], $MyData['ini'] ['folders']), $MyData['ini']['pathMask']);
$fn ='';
$file = $MyData['ini']['pathMask'].$ed[0];
header('Content-type: application/pdf');
header('Content-Disposition: inline; filename="'.$fn.'"');
header('Content-Transfer-Encoding: binary');
header('Content-Length: ' . filesize($file));
@readfile($file);
?>

一切正常,但我希望包含 .pdf 的新页面有一个与正在发布的文档名称相对应的 <title>。

这可能吗?

谢谢 - 克里斯。

4

2 回答 2

2

您应该呈现一个普通页面并将 PDF 嵌入到 iframe 中,而不是丢弃标题。通过这种方式,您可以获得您的标题,并且 PDF 仍然是内联的。

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>My great title for the PDF</title>
<style type="text/css">
html, body {
margin: 0;
padding: 0;
border: 0;

height: 100%;
overflow: hidden;
}
iframe {
width: 100%;
height: 100%;
border: 0
}
</style>
</head>

<body>

  <iframe src="yourpdfname.pdf"></iframe>

</body>
</html>
于 2013-02-04T22:00:31.263 回答
0

如果您首先使用 Zend/PDF 库打开 PDF,您可以修改 pdf 的内容,包括标题和其他元相关信息。

见: http: //php.net/manual/en/function.pdf-set-info.php

于 2014-11-12T22:02:27.417 回答