PDF won't open using PHP

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • rupalee
    New Member
    • Dec 2010
    • 14

    PDF won't open using PHP

    Code:
    <?php
    	include 'includes/configenquirer.php';
    	include 'includes/variables.php';
    	include 'lib/functions.php';
    	require('fpdf.php');
    	
    	$e_dtl_id	=	$_REQUEST['e_dtl_id'];
    class PDF extends FPDF
    {
    //Load data
    function SetWidths($w)
    {
    	//Set the array of column widths
    	$this->widths=$w;
    }
    
    function SetAligns($a)
    {
    	//Set the array of column alignments
    	$this->aligns=$a;
    }
    
    function Row($data)
    {
    	//Calculate the height of the row
    	$nb=0;
    	for($i=0;$i<count($data);$i++)
    		$nb=max($nb,$this->NbLines($this->widths[$i],$data[$i]));
    	$h=5*$nb;
    	//Issue a page break first if needed
    	$this->CheckPageBreak($h);
    	//Draw the cells of the row
    	for($i=0;$i<count($data);$i++)
    	{
    		$w=$this->widths[$i];
    		$a=isset($this->aligns[$i]) ? $this->aligns[$i] : 'L';
    		//Save the current position
    		$x=$this->GetX();
    		$y=$this->GetY();
    		//Draw the border
    		$this->Rect($x,$y,$w,$h);
    		//Print the text
    		$this->MultiCell($w,5,$data[$i],0,$a);
    		//Put the position to the right of the cell
    		$this->SetXY($x+$w,$y);
    	}
    	//Go to the next line
    	$this->Ln($h);
    }
    
    function CheckPageBreak($h)
    {
    	//If the height h would cause an overflow, add a new page immediately
    	if($this->GetY()+$h>$this->PageBreakTrigger)
    		$this->AddPage($this->CurOrientation);
    }
    
    function NbLines($w,$txt)
    {
    	//Computes the number of lines a MultiCell of width w will take
    	$cw=&$this->CurrentFont['cw'];
    	if($w==0)
    		$w=$this->w-$this->rMargin-$this->x;
    	$wmax=($w-2*$this->cMargin)*1000/$this->FontSize;
    	$s=str_replace("\r",'',$txt);
    	$nb=strlen($s);
    	if($nb>0 and $s[$nb-1]=="\n")
    		$nb--;
    	$sep=-1;
    	$i=0;
    	$j=0;
    	$l=0;
    	$nl=1;
    	while($i<$nb)
    	{
    		$c=$s[$i];
    		if($c=="\n")
    		{
    			$i++;
    			$sep=-1;
    			$j=$i;
    			$l=0;
    			$nl++;
    			continue;
    		}
    		if($c==' ')
    			$sep=$i;
    		$l+=$cw[$c];
    		if($l>$wmax)
    		{
    			if($sep==-1)
    			{
    				if($i==$j)
    					$i++;
    			}
    			else
    				$i=$sep+1;
    			$sep=-1;
    			$j=$i;
    			$l=0;
    			$nl++;
    		}
    		else
    			$i++;
    	}
    	return $nl;
    }
    }
    
    
    		$pdf=new PDF();
    		$pdf->AliasNbPages();
    		$pdf->AddPage('P','A4');
    
    		$pdf->SetFont('Times','',12);
    		$query		=	"select enq.*,exp.*,detail.* from " .$Enquiry_details." as detail inner join (".$Enquirer_registration." as enq,".$Expert_registration." as exp)  on  enq.e_id = detail.e_id and exp.x_id= detail.x_id where e_dtl_id = '$e_dtl_id'";
    
    			//echo $query;
    			$dbr		=	mysql_query($query);
    			$count		=	mysql_num_rows($dbr);
    			
    							$myFile = "casepaper.txt";
    							$fh = fopen($myFile, 'w') or die("can't open file");
     
    								while($row=mysql_fetch_array($dbr))
    								{
    								
    								 $stringData =" ".$row['e_dtl_id'];
    								// $stringData .=  "\n";
    								 $stringData .=  "Summary";
    								 $stringData .=
    								 $stringData .= "Age/Gender".$row['e_age']."/".$row['e_gender'];
    								 $stringData .=  "History".$row['e_clinic_case'];
    								 $stringData .=  "Problems".$row['e_desc'];
    								 $stringData .=  "Tratement Received".$row['e_title'];
    								 $pdf->SetFont('Arial','B',17);
    								// $pdf->Cell(120,10,"Global Diagnosis Consultation Report-.".$uniqueId.$row['e_dtl_id']."",0,1,'C');	
    								$pdf->SetTopMargin(40);
    								$pdf->SetLeftMargin(30);
    								$pdf->SetRightMargin(30);
    								$pdf->Cell(110,3,"Global Diagnosis Consultation Report-",0,0,'C');	
    								$pdf->SetFont('Arial','B',10);
    								$pdf->Cell(1,3,$uniqueId.$row['e_dtl_id'],0,1,'');	
    								$pdf->SetFont('Arial','B',10);
    								$pdf->Cell(50,4,"",0,1,'C');	
    								$pdf->Cell(50,10,''. "Summary:",0,0,'L');
    								$pdf->Cell(50,5,"",0,1,'C');	
    								$pdf->Cell(25,20,"Enquiry ID:",0,0,'');	
    								//$pdf->Cell(50,20,"",0,1,'C');	
    								$pdf->Cell(20,20,''.$uniqueId.$row['e_dtl_id'].'',0,0,'');
    								$pdf->Cell(50,20,''. "Age/Gender:".$row['e_age'].""."/".$row['e_gender']."",0,0,'R');
    								$pdf->Cell(40,20,''. "Date:".$row['e_date']."",0,0,'R');
    								$pdf->Cell(50,10,"",0,1,'C');	
    								$pdf->Cell(32,20,"Experts:"."Dr.".$row['x_firstname'].",",0,0,'R');
    								$pdf->Cell(76,20,$row['x_organisation_name'],0,0,'R');
    								
    								$selectcity		=	"select * from ".$cities ." where city_id =".$row['x_city'];
    								//echo $selectcity;	
    								$resultcity		=	mysql_query($selectcity);
    								while($rowcity =mysql_fetch_array($resultcity))
    								$pdf->Cell(18,20,",".$rowcity['city_name'].",",0,0,'R');
    								
    								$invite_exp_query		=	"select inv_exp.*,exp.*,detail.* from " .$invited_experts." as inv_exp inner join (".$Enquiry_details." as detail,".$Expert_registration." as exp)  on  detail.e_dtl_id = inv_exp.e_dtl_id and inv_exp.x_fwd_id = exp.x_id  where detail.e_dtl_id = '$e_dtl_id'";
    								//echo $invite_exp_query;
    								$invite_exp_result		=	mysql_query($invite_exp_query);
    								while($row_invite =mysql_fetch_array($invite_exp_result))
    									{
    									$pdf->Cell(17,20,"Dr.".$row_invite['x_firstname'].",",0,1,'R');
    									$pdf->Cell(78,2,$row_invite['x_organisation_name'],0,0,'R');
    									
    										$selectinvcity		=	"select * from ".$cities ." where city_id =".$row_invite['x_city'];
    										//echo $selectcity;	
    										$resultinvcity		=	mysql_query($selectinvcity);
    										while($rowinvcity =mysql_fetch_array($resultinvcity))
    										$pdf->Cell(12,2,",".$rowinvcity['city_name'],0,0,'R');
    
    									}
    								$pdf->SetFont('Arial','B',12);
    								$pdf->Cell(50,5,"",0,1,'C');	
    								$pdf->Cell(18,10,"History:",0,1,'R');
    								$pdf->SetFont('Arial','',10);
    								$pdf->MultiCell(150,4,$row['e_clinic_case'],'0','L','');
    								
    								$pdf->SetFont('Arial','B',12);
    								
    								$pdf->Cell(30,5,"",0,1,'C');	
    								$pdf->Cell(22,10,"Problems:",0,1,'R');
    								$pdf->SetFont('Arial','',10);
    								$pdf->MultiCell(150,4,$row['e_desc'],'0','L','');
    
    								$pdf->SetFont('Arial','B',12);
    								
    								$pdf->Cell(30,5,"",0,1,'C');	
    								$pdf->Cell(43,10,"Tratement Received:",0,1,'R');
    								$pdf->SetFont('Arial','',10);
    								$pdf->MultiCell(150,4,$row['e_title'],'0','L','');
    								
    								$pdf->SetFont('Arial','B',12);
    								
    								$pdf->Cell(10,5,"",0,1,'C');	
    								$pdf->Cell(52,10,"Reason for Consultation:",0,1,'R');
    								$pdf->SetFont('Arial','',10);
    								$pdf->MultiCell(150,4,$row['e_consultation'],'0','L','');
    								
    								$pdf->SetFont('Arial','B',10);
    								
    								$pdf->Cell(10,5,"",0,1,'C');	
    								
    								$selectupload	=	"select * from  ".$upload." where e_dtl_id= '$e_dtl_id'";
    								//echo $selectupload;
    								$resultupload	=	mysql_query($selectupload);
    								$countupload	=	mysql_num_rows($resultupload);
    								$pdf->SetDrawColor(222)	;			
    								$pdf->SetWidths(array(30, 50, 30, 40));
    								$pdf->Row(array('Documen_Name','Date', 'Quality'));
    								$pdf->SetFont('Arial','',10);
    								while($uploadrow	=mysql_fetch_array($resultupload))
    								{
    									$upload_name	=$uploadrow['upload_file_name'];
    									$upload_date	=$uploadrow['createdate'];
    									$upload_qual	='Good';
    								
    									srand(microtime()*1000000);
    								$pdf->Row(array($upload_name,$upload_date, $upload_qual));
    									}
    								$pdf->SetFont('Arial','B',10);
    								$pdf->Cell(42,20,"Summary of Collboration:",0,1,'L');
    								$pdf->SetDrawColor(0);			
    $name='';
    							$comments_text='';
    							$selectresponse		=	"select * from " .$response." where e_dtl_id ='$e_dtl_id' order by comments_id asc ";
    							// echo $selectresponse;
    							$resultresponse		=	mysql_query($selectresponse);
    							if(mysql_num_rows($resultresponse)>0)
    							{
    							$caseresponse			=	array();
    							
    							//Selctin al records from the comments table for maxpage for pagination
    							//End of selction max record
    							$selectmaxresponse		=	"select * from  " .$response." where e_dtl_id ='$e_dtl_id'";
    							//echo $selectmaxresponse;
    							$expertmaxresponse		=	mysql_query($selectmaxresponse);
    
    							while($casevalenq	=	mysql_fetch_array($resultresponse,MYSQL_ASSOC))
    							{
    								$x_id=$casevalenq['x_id'];
    								$e_id1=$casevalenq['e_id'];
    								$comments_id=$casevalenq['comments_id'];	
    								$date		=	$casevalenq['createdate'];
    								$time		=	$casevalenq['createtime'];
    								//echo $x_id."-----------".$e_id;
    								
    								$pdf->SetFont('Arial','B',10);
    								if($x_id!=0)
    								{
    								//fetch expert name
    									$expert_detail		=	"select * from " .$Expert_registration." where  x_id ='$x_id'";
    									$result_expert		=	mysql_query($expert_detail);													
    									$caseresponse	=	mysql_fetch_array($result_expert,MYSQL_ASSOC);
    									$name=$caseresponse['x_firstname'];
    								//fetch expert advice
    									$expertresponse_query		=	"select * from " .$response." where e_dtl_id ='$e_dtl_id' and x_id=$x_id  and comments_id=$comments_id";
    									//echo $expertresponse_query;
    									$expertresponse		=	mysql_query($expertresponse_query);
    									$row	=	mysql_fetch_array($expertresponse,MYSQL_ASSOC);
    									$comments_text=strip_tags($row['x_response_text']);
    									$newtext = wordwrap($comments_text, 50, "\n", true);
    									$pdf->SetFont('Arial','B',10);
    								}
    								if($e_id1!=0)
    								{
    								//fetch enquirer name
    									$enquirer_detail		=	"select * from ".$Enquirer_registration." where  e_id ='$e_id1'";
    									$result_enq		=	mysql_query($enquirer_detail);
    									$response_enq	=	mysql_fetch_array($result_enq,MYSQL_ASSOC);
    									$name=$response_enq['e_firstname'];
    									
    									//Fetch enquirer comments
    									$enquirer_response_query		=	"select * from " .$response." where e_dtl_id ='$e_dtl_id' and e_id=$e_id1  and comments_id=$comments_id";
    									//echo $enquirer_response_query;
    									$enquirer_response		=	mysql_query($enquirer_response_query);
    									$row1	=	mysql_fetch_array($enquirer_response,MYSQL_ASSOC);
    									$comments_text=strip_tags($row1['e_response_text']);
    									$newtext = wordwrap($comments_text, 40, "\n", true);
    								
    								}
    								
    									$pdf->Cell(30,2,$name,'0',0,'0');
    									$pdf->Cell(15,2,$date,0,0,'R');
    
    									$pdf->SetFont('Arial','',10);
    									$pdf->Cell(10,5,"",0,1,'C');	
    									$pdf->Cell(40,10, $comments_text,'0',0,'L');
    									$pdf->Cell(10,5,"",0,1,'C');	
    
    									$pdf->SetFont('Arial','B',12);
    									$pdf->Cell(42,5,"",0,1,'c');
    									$pdf->SetFont('Arial','',10);
    									
    																//$pdf->Rect(30,150,120, 40 ,'D');
    								
    									//$pdf->MultiCell(150,5,'Dopcument Name','T','L','');
    								//$pdf->MultiCell(50,1,'Date','T','R','');
    								//$pdf->MultiCell(30,4,'123','B','L','');
    								//$pdf->MultiCell(30,4,'11','B','L','');
    								//$pdf->MultiCell(30,4,'456','B','L','');
    							}
    							
    
    						}	
    															$pdf->SetFont('Arial','B',12);
    									$pdf->Cell(42,20,"Expert Recommendation and Suggetions:",0,1,'c');
    									$pdf->SetFont('Arial','',10);
    
    						$pdf->MultiCell(150,5,'Mrs JVM who is 42 years old has had severe recurrent Sciatica for over 2
    years. Her symptoms have been aggravated recently and she has los of sleep
    and mild functional loss. Her Von Willebrand disease status is under control
    and hematologists has confirmed no risk of bleeding tendency. Her current
    MRI shows significant disc herniation and mild osteorarthritis of facet joints.','0','L','');
    						$pdf->Cell(10,5,"",0,1,'C');	
    						$pdf->MultiCell(150,5,'Based on above she is a candidate suitable for repeat discectomy. It is
    preferable to do an open discectomy. The Sciatica is likely to respond to
    repeat surgery but back ache related to facet joint arthritis may persist and will
    need pain management. Surgery may also help prevent further loss of
    sensation and muscle power','0','L','');
    
    
    									$pdf->SetFont('Arial','B',12);
    									$pdf->Cell(42,20,"References and Evidence base analysis:",0,1,'c');
    								//$pdf->Write(5,'Visit ');
    								//Then put a blue underlined link
    								$pdf->SetTextColor(0,0,255);
    								$pdf->SetFont('','U');
    
    							$query		=	"select * from " .$enquirer_ref_links ." where 	e_dtl_id = '$e_dtl_id' ";
    							//echo $query	;
    							$result		=	mysql_query($query);
     							while($row =	mysql_fetch_array($result,MYSQL_ASSOC))
    							{
    							  $links=$row['links'];
    							  $count=count(explode(',',$links));
    							  $link=explode(',',$links);
    							  if($count>0)
    							  {
    								  for($i=0;$i<$count;$i++)
    								  {
    								    $link_string=$link[$i];
    									$pdf->Write(5,$link_string,$link_string);
    							      
    							  }
    								 }
    							   else
    							  {
    								$link_string=links;
    									$pdf->Write(5,$link_string,$link_string);
    							   }
    							}
    								$pdf->SetTextColor(0);
    									$pdf->SetFont('Arial','B',12);
    								$pdf->Cell(10,5,"",0,1,'C');	
    								$pdf->Cell(81,13,"SOME IMPORTANT CONSIDERATIONS:",0,1,'R');
    									$pdf->SetFont('Arial','',10);
    							$pdf->MultiCell(150,5,'Spinal surgery for sciatica and spinal stenosis is better for the leg pain than it is for
    back pain. Both the leg pain and back pain may improve.','0','L','');
    						$pdf->Cell(10,5,"",0,1,'C');	
    						$pdf->MultiCell(150,5,'Symptoms of numbness or weakness may well persist after surgery','0','L','');
    						$pdf->Cell(10,5,"",0,1,'C');	
    						$pdf->MultiCell(150,5,'In patients attending general practice for the first time with sciatica 75% are better
    within 28 days. The sciatica pain may continue to improve without the need for
    surgery. The pain often gets better anyway and pain relief in the early stage may be
    achieved with tablets or injections.','0','L','');
    						$pdf->Cell(10,5,"",0,1,'C');	
    						$pdf->MultiCell(150,5,'Surgery seems to get people better quicker but has some risks associated with it..','0','L','');
    						$pdf->Cell(10,5,"",0,1,'C');	
    						$pdf->MultiCell(150,5,'Certain types of disc prolapse are more likely to recur than others. Surgery for disc
    prolapse has a recurrence rate of between 7% and 15% within ten years. This is the
    same whether or not you have an operation..','0','L','');
    
    									$pdf->SetFont('Arial','B',12);
    								$pdf->Cell(10,5,"",0,1,'C');	
    								$pdf->Cell(60,13,"SPECIFIC USUAL BENEFITS:",0,1,'R');
    									$pdf->SetFont('Arial','',10);
    							$pdf->MultiCell(150,5,'70-75% of patients experience a significant improvement in leg pain. 20-25% may
    be better but still have persistent leg pain 5% may have no benefit at all 1% may be
    worse in terms of pain.','0','L','');
    						$pdf->Cell(10,5,"",0,1,'C');	
    						
    								$pdf->SetFont('Arial','B',12);
    								$pdf->Cell(10,5,"",0,1,'C');	
    								$pdf->Cell(45,13,"Global Dx Disclaimer:",0,1,'R');
    									$pdf->SetFont('Arial','B',10);
    							$pdf->MultiCell(150,5,'By using this Second Opinion service, you agree to abide by the Terms
    and Conditions posted at our Web Site, including particularly the Terms
    and Conditions described below:','0','L','');
    								$pdf->Cell(10,5,"",0,1,'C');	
    								$pdf->Cell(34,13,"Diagnostic Service",0,1,'R');
    								$pdf->MultiCell(150,5,'The service provided through our Web site is different from the
    diagnostic services typically provided by a physician. The experts
    providing this service will not have the benefit of information that would
    be obtained by examining you in person and observing your physical
    condition. Therefore, the physician may not be aware of facts or
    information that would affect his or her opinion of your diagnosis. TO
    REDUCE THE RISK TO YOU OF THIS LIMITATION, Global Diagnosis
    STRONGLY ENCOURAGES YOU TO SHARE THE RECCOMENDATIONS
    WITH YOUR PHYSICIAN WHO WILL HAVE FINAL OPINION ON
    TREATING YOU. BY DECIDING TO ENGAGE THIS SERVICE, YOU
    ACKNOWLEDGE AND AGREE THAT YOU ARE AWARE OF THIS
    LIMITATION AND AGREE TO ASSUME THE RISK OF THIS LIMITATION.','0','L','');
    								$pdf->Cell(10,5,"",0,1,'C');	
    							$pdf->MultiCell(150,5,'BY REQUESTING A ADVICE/ INFORMATION/ OPINION PURSUANT TO
    							THIS WEB SITE, YOU ACKNOWLEDGE AND AGREE THAT:','0','L','');
    							
    							$pdf->Cell(10,5,"",0,1,'C');	
    							$pdf->MultiCell(150,5,'* THE RECCOMENDATION THAT YOU WILL RECEIVE IS LIMITED AND
    PROVISIONAL; * THE OPINION IS NOT INTENDED TO REPLACE A FULL
    MEDICAL EVALUATION OR A FACE-TO-FACE VISIT WITH A
    PHYSICIAN; * THE PHYSICIAN DOES NOT HAVE IMPORTANT
    INFORMATION THAT IS USUALLY OBTAINED THROUGH A PHYSICAL
    EXAMINATION; * THE ABSENCE OF A PHYSICAL EXAMINATION MAY
    AFFECT THE PHYSICIAN'.'S ABILITY TO DIAGNOSIS YOUR CONDITION,
    DISEASE OR INJURY;','0','L','');
    
    							$pdf->Cell(10,5,"",0,1,'C');	
    							$pdf->MultiCell(150,5,'BY ENGAGING OUR SERVICES, YOU ACKNOWLEDGE AND AGREE TO
    ASSUME THE RISK OF THESE LIMITATIONS. YOU FURTHER
    UNDERSTAND THAT NO WARRANTY OR GUARANTEE HAS BEEN
    MADE TO ME CONCERNING ANY PARTICULAR RESULT OR CURE OF
    MY CONDITION.','0','L','');
    					}	
    												
    
    												header('Content-type: application/pdf');
    							
    							// Es wird downloaded.pdf benannt
    							header('Content-Disposition: attachment; filename="downloaded.pdf"');
    							// Die originale PDF Datei heißt original.pdf
    							readfile('downloaded.pdf');
    																											$pdf->Output();
    
    							//unlink( $pdf );
    
    								
    ?>

    Acrobat reader giving error as it was sent as email attachment and was not correctly decoded
Working...