0
所以基本上我一直在做的是將一個xml文件轉換爲格式良好的pdf與wamp。 下面的代碼是我的想法的簡單例證。我從解析xml到html的過程中學到了,我想這一切都是關於告訴xml解析器你想要在屏幕上顯示的方式。然後,我做了它如下:PHP FPDF - 「調用一個非對象的成員函數Stuff()」
<?php
require('fpdf.php');
class PDF extends FPDF
{
//...I skipped couple of functions like Footer()
//Display stuff from string in pdf manner
function Stuff($data)
{
$this->SetFont('Arial','',12);
$this->Cell(0,4,"$data",0,1,'L',true);
$this->Ln(1);
}
}
//Parse xml start tags
function start($parser,$element_name,$element_data)
{
......
}
//Parse xml end tags
function stop($parser,$element_name)
{
......
}
//Parse xml contents between start tags and end tags
function data($parser,$data)
{
$pdf->Stuff($data);
}
//create pdf page
$pdf = new PDF();
$pdf->AliasNbPages();
$pdf->AddPage();
$pdf->SetFont('Times','',12);
//Parse xml file to pdf
$parser=xml_parser_create();
xml_set_element_handler($parser,"start","stop");
xml_set_character_data_handler($parser,"char");
$fp=fopen("test.xml","r");
while($data=fread($fp,4096))
{
xml_parse($parser,$data,feof($fp)) or
die (sprintf("XML Error:$s at line $d",
xml_error_string(xml_get_error_code($parser)),
xml_get_current_line_number($parser)));
}
xml_parser_free($parser);
?>
不幸的是我,因爲我在title.However描述收到這樣的警告,我測試了我的XML解析器的功能與我的啓動,停止和個別數據的功能,他們所有的工作fine.Then我試圖轉換XML到html,一切都還是不錯的。它主要是轉換爲PDF格式,以便在處理我的想法時遇到這種情況。 任何人都可以給我一些關於這個問題的提示嗎?
在你的'data'功能,您引用'$ PDF - >東西()'但沒有變量'$ pdf'所以這就是爲什麼你看到的錯誤。因爲'$ pdf'不是一個對象,因爲它不存在。你的意思是'$ parser-> Stuff($ data)'?或者如果這個函數在你的類中,那麼也許它應該是'$ this-> Stuff($ data)' – drew010
我試圖在我的類中包含像stuff()這樣的幾個內容顯示函數,但是wamp警告我像「無法在...中調用處理程序start()「。 – jasonkim
事情是,我需要調用類PDF中的幾個函數來顯示PDF文件中的東西。 – jasonkim