我正在使用“pdfcrowd HTML to PDF API for PHP”从PHP和smarty文件生成PDF文件。我能够生成PDF但不能将背景水印图像放到我正在打印的PDF上。我尝试了一切但仍然无法放置背景水印图像。有谁可以指导我这个?我哪里错了?任何形式的帮助将不胜感激。以下是我的代码供您参考:
<?php
set_time_limit(0);
require_once("../../includes/application-header.php");
require_once OCN_ROOT."/core/extention/pdfcrowd/pdfcrowd_config.php";
require_once OCN_ROOT."/core/extention/pdfcrowd/pdfcrowd.php";
try
{
// create an API client instance
$client = new Pdfcrowd($username, $apikey);
$objPracticeSheet = new PracticeSheet();
$practice_sheet_id = $_GET['practice_sheet_id'];
$bread_crumbs_text = 'View Practice Sheet';
$practice_details = $objPracticeSheet->ViewPracticeSheet($practice_sheet_id);
$practice_sheet_details = $objPracticeSheet->GetPracticeSheetDetailsById($practice_sheet_id);
$smarty->assign('bread_crumbs_text', $bread_crumbs_text);
$smarty->assign('practice_sheet_name', $practice_sheet_details['practice_sheet_name']);
$smarty->assign("practice_details", $practice_details);
$smarty->assign("practice_sheet_questions", $practice_sheet_details['practice_sheet_total_questions']);
$smarty->assign("practice_sheet_display_date", $practice_sheet_details['practice_sheet_display_date']);
$smarty->assign("practice_sheet_for", $practice_sheet_details['practice_sheet_for']);
$file_to_show = "pdf-practice-sheet.tpl";
$final_data = $smarty->fetch($file_to_show);
$file = fopen(ADMIN_ROOT."temp/pdf_practice_sheet.html", "w+");
file_put_contents($file, "");
fwrite($file, $final_data);
fclose($file);
$client->setHeaderHtml($header_html);
$client->setFooterHtml("<table border='0' width='100%' cellpadding='5' cellspacing='0' style='font-size:10px;font-family:verdana;background:#EFBC8F;margin-top:10px;'><tr><td align='left'>Powered by EntrancePrime.com :
India's Favourite Online Test Series for JEE, NEET, & CA-CPT</td><td align='right'>Page %p/%n</td></tr></table>");
$client->setPageWidth("210mm");
$client->setPageHeight("298mm");
$client->setNoCopy('True');
//$client->setVerticalMargin("0.8in");
$client->setPageMargins("1.1in","0.2in","0.4in","0.2in");
//Set watermark
$client->setWatermarkInBackground(True);
$client->setWatermark("'".ADMIN_SITE_URL."assets/img/watermark.png'", -28, 406);
$pdf = $client->convertFile(ADMIN_ROOT."temp/pdf_practice_sheet.html");
$filename = $practice_sheet_details['practice_sheet_name'];
// set HTTP response headers
header("Content-Type: application/pdf");
header("Cache-Control: no-cache");
header("Accept-Ranges: none");
header("Content-Disposition: attachment; filename=\"" . $filename . ".pdf\"");
// send the generated PDF
echo $pdf;
}
catch(PdfcrowdException $why)
{
echo "Pdfcrowd Error: " . $why;
}
?>
期待着回复。
答案 0 :(得分:0)
尝试在此$client->setWatermark("'".ADMIN_SITE_URL."assets/img/watermark.png'", -28, 406);
看看你得到了什么。这对我来说似乎是道路问题。祝你好运。