I want custom <title> to use header () in PHP

Standing on the shoulders of giants, I have successfully used a bw script using header () to publish PDF documents on my intranet,

My displayed code:

<?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);
?>

      

Everything works well, but I would like the new page containing the .pdf to have a <title> that matches the published document name.

Is it possible?

Thank you, Chris.

+3


source to share


2 answers


Instead of throwing away headers, you should render a normal page and embed the PDF in an iframe. This way you can have your header and the PDF is still embedded.



<!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>

      

+2


source


If you open the PDF file first with the Zend / PDF library, you can change the contents of the pdf, including the title and other meta-related information.



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

0


source







All Articles