FPDF在本地运行,但不在线

时间:2016-09-23 16:33:42

标签: php fpdf

更新:我已尝试禁用对该字体的所有引用,而是使用Arial。它现在可以工作了,但正如前面提到的那样它与ÆØÅ混淆了,这些字体不包括在内。 无论如何,这几乎证实了字体路径是个问题。

我正在尝试使用tFPDF生成PDF文件 当我在本地服务器上运行我的代码时,它运行得很好,但是当我将它上传到我的webhost时,它就开始起作用了。
我遇到的第一个问题是ttfonts.php给了我一个错误,声明它无法打开某个字体文件,这是因为某些原因试图在我的本地目录而不是在线目录中查找。我不知道为什么会这样做,但是为了解决这个问题,我根据fpdf网站上的指南,将FPDF_FONTPATH php常量定义为多个不同版本的在线服务器文件路径。所有这些都导致了2个结果中的1个:

1)我会得到相同的错误,不知何故仍然使用本地文件路径而不是定义的常量 2)我只是在php文件中得到一个包含代码的空白页(不是空白的pdf)。

第二个结果可能意味着字体文件夹路径问题已经解决,但是它背后出现了第二个问题。或者它可能只是意味着定义的常量无法在服务器上读取。
值得注意的是,我需要tFPDF和这个特别统一的原因是我想要一个丹麦字母“æøå”的字体,并且看起来并不是极其像素化。
我不知道在这个过程中这个问题发生了什么,没有错误我在哪里看起来很丢失。我尝试更改php文件的权限以允许它写入,但这也没有帮助。

也许我忽略了一些非常基本的问题,也许我不是。在任何一种情况下,这里是php代码减去页面“content”:

<?php
define('FPDF_FONTPATH','home/USERNAME/public_html/WEBSITENAME/intra/paycheck2/font');
require('paycheck2/tfpdf.php');
$pdf = new tFPDF();
$pdf->AddPage();
$pdf->AddFont('DejaVu','','DejaVuSans.ttf',true);
$pdf->AddFont('DejaVuB','','DejaVuSans-Bold.ttf',true);
$pdf->SetFont('DejaVu','',9);
$pdf->Image('images/IMAGENAME1.png',10,10,-130);
$pdf->Image('images/IMAGENAME2.png',50,11,-100);

//(Text content code here)

$pdf->Output();
?>

我将图像包括在内,以防这些图像的路径具有一定的意义。除了它的正文文本在这里和那里使用一些PHP变量 上例中的文件路径导致空白页面(结果2),其他尝试的文件路径包括:

define('FPDF_FONTPATH','public_html/WEBSITENAME/intra/paycheck2/font');
//Blank page result (2)
define('FPDF_FONTPATH','/paycheck2/font');
//Blank page result (2)
define('FPDF_FONTPATH','paycheck2/font');
//Can't open file C:\wamp\www\SITENAME\paycheck2/font/unifont/DejaVuSans.ttf
//Result 1; the error code containing my local URL, which is also given when no constant is specified. Likely a sign that the constant was rejected.

我尝试了更多变化,但就像我说的那样,它们都导致了这两种结果中的一种。有谁知道如何处理这件事?

0 个答案:

没有答案