0

我正在使用 HTML2PDF ( http://html2pdf.fr/ ) 从网页生成 PDF 文件。但是,我遇到了一种奇怪的错误:生成的文件可以使用“预览”Mac 工具完美显示(或者在选择下载的 PDF 文件时只需触摸空格键),但是当我尝试打开文件时使用 Adob​​e Acrobat Pro,会出现以下错误消息:

Adobe reader could not open "file.pdf" because it is either not a support file type or because the file has been damaged (for example, it was sent as email attachment and was'nt correctly decoded).

这是我生成 PDF 内容和 PDF 文件本身的方式:

$content = '<page backtop="12mm" backbottom="12mm" backleft="8mm" backright="8mm" style="font-size: 10pt;">
                <h1>MyTitle</h1>
                <br>
                <table style="width: 100%;">
                    <tr>
                        <td style="width: 25%;"></td>
                        ....
                    </tr>
                </table>
            </page>';

$html2pdf = Yii::app()->ePdf->HTML2PDF('P','A4','en',true,'utf-8');
$html2pdf->pdf->SetDisplayMode('fullpage');
$html2pdf->WriteHTML($content);
$html2pdf->Output($outputname , EYiiPdf::OUTPUT_TO_DOWNLOAD );

关于会发生什么的任何想法?也许我错过了有关格式或文件编码的一些信息?我尝试了不同的编码,但似乎没有解决问题......

提前感谢您的时间和精力!:)

4

1 回答 1

0

解决了!在处理了这个之后,我决定用纯文本编辑器打开 PDF 文件,我发现用于生成文件的 PHP 页面默认包含页眉和页脚(我是使用 Yii 框架),这导致在 PDF 文件中“打印”HTML 页眉和页脚代码......是否有人遇到过同样的问题,解决它的方法是打开页面的控制器文件(在' protected/controllers/myPageController.php') 并更改以下行:

$this->render('index');

通过这个:

$this->renderPartial('index');

现在一切都按预期工作!^_^

于 2013-07-03T10:51:15.360 回答