我正在使用PHP*TCPDF/FPDI类动态生成PDF。。
虽然本地发展(WAMP/localhost)...
现在我已经把东西上传到了直播服务器上。。我在同一个文件上只得到一张空白页。。使用相同的目录结构。。
但是,在实时环境中进行测试时。。它不起作用?
只是一个空白页,没有错误...等等。
这是我目前使用的代码。。
(我试图在构造函数和超文本标记语言输出中添加UTF-8编码...??
代码:
$live = false;
$targetID = 122;
$targetName = "Name";
$targetClient = "Client Name";
$targetAddress = "address";
$targetCity = "city";
$targetState = "State";
$targetZip = "40202";
$targetPhone = "xxx-555-1212";
$fileCreator = "xxxxx123";
$fileAuthor = "xxx";
$fileTitle = "Title";
$fileSubject = "Ssubject";
if($live){
$targetLogo = "/path/to/logo/images/targetLogo.jpg";
$sourcePDF = "/path/to/pdf/targetPDF.pdf";
}else{
$targetLogo = "images/targetLogo.jpg";
$sourcePDF = "targetPDF.pdf";
}
$saveAsName = "DYNAMIC_BRANDING.pdf";
//client specific variables
$clientName_color = '#FF0000';
$memberName_color = '#000000';
$clientAddress_color = '#000000';
//------------------[end project vars]---------------------//
// just require TCPDF instead of FPDF
define('FPDF_FONTPATH', 'tcpdf/fonts/');
//include FPDI & TCPDF class library file(s)
if($live){
//ini_set('display_errors', '0');
//error_reporting(E_ALL | E_STRICT);
//live
require('/path/to/tcpdf.php');
require('/path/to/fpdi.php'); //make sure to include the _TPL file in directory or it throws error.
}else{
ini_set('display_errors', '0');
error_reporting(E_ALL | E_STRICT);
//local file path (WAMP server)
require('tcpdf/tcpdf.php'); //<-- order matters here
require('fpdi/fpdi.php'); //<-- order matters here
}
//Page width in PT: 595.275590551
//Page height in PT: 841.88976378
//Page width in MM (default): 210
//Page height in MMK (default): 297
//$measurementUnits = 'mm'; //[mm or pt] // not needed, used for measurement checking
// initiate FPDI
//http://www.tcpdf.org/doc/code/classTCPDF.html#a134232ae3ad1ec186ed45046f94b7755
//$pdf = new FPDI();
//$pdf = new FPDI('P', 'pt', 'A4');
//$pdf = new FPDI('P', 'mm', 'A4'); //default
$pdf = new FPDI('P', 'mm', 'A4', true, 'UTF-8', false); //default
//mm to px converter: http://www.endmemo.com/sconvert/millimeterpixel.php
//pt to px converter: http://www.endmemo.com/sconvert/pixelpoint.php
//good for finding values when using image placement (pixel to xxx conversion
$pdf->SetAutoPageBreak(TRUE, 0); //added to remove HUGE bottom margin
//add project meta data/vars
// set document information
$pdf->SetCreator($fileCreator);
$pdf->SetAuthor($fileAuthor);
$pdf->SetTitle($fileTitle);
$pdf->SetSubject($fileSubject); // displays where?
$pdf->SetKeywords('XXX, XXX, Meeting, 2014, etc'); // meta-tags? meta-data?
// add a page
$pdf->AddPage();
// set the source file
$pdf->setSourceFile($sourcePDF);
// import page 1
$tplIdx = $pdf->importPage(1);
// use the imported page and place it at point 10,10 with a width of 210mm (width of A4)
$pdf->useTemplate($tplIdx, -1, -1, 210, 297); //-1 to off set shadow test //units:mm
//$pdf->useTemplate($tplIdx, -1, -1,0,0);
//add 'footer/branding' data at bottom
//position table at bottom
$pdf->SetXY(12, 265);
//set table font
$pdf->SetFont('Arial', "", 9, true);
//$pdf->SetFont('Helvetica', '', 9, true);
//set table color
$pdf->SetTextColor(0, 0, 0); //black
//table html
//add css for easier formatting/styling of overlay content
$html ='<!-- EXAMPLE OF CSS STYLE -->
<style>
#overlay{
width:523mm;
padding:0;
border:0;
}
.clientName{
text-align:left;
color:'.$clientName_color.';
font-size: 10.5pt;
font-weight:bold;
width:223;
}
.clientLogo{
margin-left:auto;
margin-right:auto;
padding:0;
width:100;
}
.memberName{
text-align:right;
font-weight:bold;
width:200;
color:'.$memberName_color.';
}
.clientAddress{
//font-weight:bold;
text-align:right;
width:200;
color:'.$clientAddress_color.';
}
.clientCityState{
//font-weight:bold;
text-align:right;
width:200;
color:'.$clientAddress_color.';
}
.clientPhone{
//font-weight:bold;
text-align:right;
width:200;
color:'.$clientAddress_color.';
}
</style>
<table cellspacing="0" cellpadding="0" border="0" width="523">
<tr>
<td rowspan="6" class="clientName">'.$targetClient.'</td>
<td rowspan="6" class="clientLogo"><center><img src="'.$targetLogo.'" height="80" width="90"></center></td>
<td class="memberName">'.$targetName.'</td>
</tr>
<tr>
<td class="clientAddress">'.$targetAddress.'</td>
</tr>
<tr>
<td class="clientCityState">'.$targetCity.', '.$targetState.'. '.$targetZip.'</td>
</tr>
<tr>
<td class="clientPhone">'.$targetPhone.'</td>
</tr>
</table>';
//echo($html);
//render out/output the HTML table to pdf overlay (table)
$pdf->writeHTML($html, true, false, true, false, '');
//add page number/count
//position table at bottom
$pdf->SetXY(12, 285);
//set table font
$pdf->SetFont('Helvetica', '', 9);
//set table color
$pdf->SetTextColor(0, 0, 0); //black
$pdf->Write(10, 'Page: '.$pdf->getAliasNumPage().'/'.$pdf->getAliasNbPages(),'', false,'L',true,0, false, false,0,0,'');
//$pdf->Cell(0, 10, 'Page '.$this->getAliasNumPage().'/'.$this->getAliasNbPages(), 0, false, 'C', 0, '', 0, false, 'T', 'M');
//output
$pdf->Output($saveAsName, 'I');
只是一个空白/空的白色页面每次测试活...
我错过了什么或做错了什么?
放置TCPDF输出文件时,请确保从服务器的根目录开始。要这样做,请获取信息。在输出文件所在的位置运行php。打开信息。然后向下滚动,它会显示php文件的完整路径。将路径用作输出位置。。。
我的tcpdf上有这个问题,它解决了这个问题。
固定的:
有几件事需要记住:
1.)在开始输出之前,不要有任何空白或空格
2.)确保您的FPDI目录中有文件:fpdf_tpl.php。.
(第二个似乎是我一开始的失败):)
我也有这个问题。为我修正的是添加
while( ob_get_level() ) {
ob_end_clean();
}
略高于$pdf-
IIS可能会搞砸它?我倾向于认为IIS对于和)有不同的进程,因此,我在app.post上引用的套接字与我在()中加入用户是不同的。 在Azure/IIS中使用socket.io房间时有什么提示吗?谢了!
我正在使用Amazon Linux AMI在EC2 AWS上运行以下脚本 从今天起,由于EC2上没有任何更改或新安装,脚本在昨天之前一直工作时停止工作。 本地计算机上的相同脚本仍然有效。 相反,在EC2上会出现以下错误: (节点:12636)UnhandledPromiseRejectionWarning:错误:导航失败,因为浏览器已断开连接!在cdpsession.lifecyclewatche
问题内容: 我已经进行了永久搜索,无法为我的问题提供确切的答案。就是这样。我有一个看起来像这样的JSON文件(我去了jsonlint进行验证,它说的很好): 我使用jQuery解析并使用此函数放置在html页面上: 它完美地工作!现在是我的问题,JSON文件将不在本地托管,并且实际上将托管在单独的域中。所以我修改了我的代码如下(经过阅读),希望它能正常工作: 通过添加“回调”行,我停止出现“无法加
我使用devise gem with rails进行身份验证,我的应用程序在本地运行良好,但是在heroku上部署时无法访问device视图。 检查日志时出现以下错误: ←[app[web.1]:←[0mDevis处理e::SessionsController#新作为超文本标记语言 ←[app[web.1]:←[0mDevis处理e::SessionsController#新作为超文本标记语言 ←
有人有使用PHPWord的经验吗?我使用Composer安装了它,就像我对许多其他模块所做的一样,但是当我运行“基本用法”示例时,什么都没有发生。(autoloader.php工作正常)。 如果我更改
代码: 知道是什么导致了这个问题吗。可能与VPC或安全组有关?并给出了思考和建议。谢了。