0

我想使用以下代码创建具有(.pdf)格式的简历,

$data = "<P>This is my CV</P>";
$file = "cv.pdf";
$openedFile = fopen($file, "w");
fwrite($openedFile, $data);
fclose($openedFile);
$fileOpen = fopen($file, 'r');
$content = fread($fileOpen, filesize($file));
$fsize = filesize($file); 
$ftype = filetype($file);
fclose($fileOpen);
unlink($file);  // i don't want to store the file so i remove it
header("Content-length: $fsize");
header("Content-type: $ftype");
header("Content-Disposition: attachment; filename=$file");
echo $data;
exit;

它将为我创建它并显示一个下载对话框来下载文件,下载后我无法打开文件它给我错误

错误 Adob​​e Acrobat:它作为电子邮件附件发送且未正确解码!

但它适用于(.doc)文件类型。

请帮我!

4

2 回答 2

2

你正在尝试的是不可能的。

利用 PDF 库如TCPDF,DOMPDF将文本内容转换为 PDF。

使用 FPDF 的插图

这是使用演示的链接FPDF

于 2013-10-23T13:36:23.430 回答
0
$data = "<P>This is my CV</P>";
$file = "cv.pdf";
$openedFile = fopen($file, "w");
fwrite($openedFile, $data);
fclose($openedFile);

此代码不会生成PDF 文件。它只是创建一个 text( .txt) 文件并为其命名.pdf。这不会神奇地变成PDF。PDF 是一种特殊的(二进制)格式(它们具有特殊的标题,并且“文本”以特殊的方式存储),因此 Adob​​e Reader 不知道如何处理您提供的文件。

为了在 PHP 中制作 PDF 文件,您需要使用一个特殊的库,例如 dompdf ( https://github.com/dompdf/dompdf )。


它对.doc文件“有效”,但不是您认为的原因。 .doc文件也是二进制格式。问题是,Microsoft Word 也可以打开.txt文件(这是你真正在做的,只是重命名它),所以它只是将.doc文件作为.txt文件读取。它只是巧合地“起作用”。

要制作“真实”.doc文件,您还需要一个特殊的库,例如 PHPWord ( http://phpword.codeplex.com/documentation )。


PS 这段代码还有其他问题,但这是最重要的。

于 2013-10-23T13:35:22.940 回答