2013-03-26 103 views
1

使用以下Ajax代碼IM發送變量 'a' 到PHP文件get_output.php:取得PHP變量值成PDF文件

var a=""; 
for($i=0;$i<n;$i=$i+1) 
{ 
    var a = (a+'. '+ (document.getElementById((values[$i])).innerHTML)); 
} 
if (window.XMLHttpRequest) 
{// code for IE7+, Firefox, Chrome, Opera, Safari 
    xmlhttp=new XMLHttpRequest(); 
} 
else 
{// code for IE6, IE5 
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
} 
xmlhttp.onreadystatechange=function() 
{ 
    if (xmlhttp.readyState==4 && xmlhttp.status==200) 
    { 
     document.getElementById("output_container").innerHTML=xmlhttp.responseText; 
    } 
} 
xmlhttp.open("POST","get_output.php?q="+a,true); 
xmlhttp.send(); 

在get_output.php以下代碼是本:

<html> 
<head> 
</head> 
<body> 
    <?php 
     $value=$_GET["q"]; 
     echo $value; 
    ?> 
</body> 
</html> 

這裏我得到了我想要的變量'值'的輸出。 現在我想把變量'value'的內容放到pdf文件中。當我在谷歌研究我發現所有的解決方案都通過使用'網址'等完整的頁面到PDF文件。

我要的只是變量'值'中出現的內容應該進入PDF文件。謝謝。

+0

你混'php'和'javascript'這裏'VAR一個=「」; ($ i = 0; $ i 2013-03-26 06:24:39

+0

即jQuery代碼。上面的代碼是發送變量'a'到php頁面的jquery。從PHP我希望它進入一個PDF文件。 – 2013-03-26 06:26:35

回答

0

您必須使用一些可用的pdf生成庫來生成PDF並將其發送到瀏覽器。

我想建議FPDF很好玩。

http://www.fpdf.org/

1

可以使用TCPDF做到這一點。 TCPDF是一個用於生成PDF文檔的PHP類。 Download it,並修改TCPDF /的pdfGenerator /示例/ example_001.php文件作爲$html變量:

// Set some content to print 
$html = <<<EOD 
<div> 
$value 
</div> 
    EOD; 

或創建一個新文件(比如說test.php)在/TCPDF/pdfgenerator/examples/ folder.Copy下面的代碼粘貼到新的文件,即剛創建:

<?php 
require_once('../config/lang/eng.php'); 
require_once('../tcpdf.php'); 
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false); 

    $value=$_GET["q"];/*The value that you want to print*/ 

// set document information 
$pdf->SetCreator(PDF_CREATOR); 
$pdf->SetAuthor('Nicola Asuni'); 
$pdf->SetTitle('TCPDF Example 001'); 
$pdf->SetSubject('TCPDF Tutorial'); 
$pdf->SetKeywords('TCPDF, PDF, example, test, guide'); 

$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, '','', array(0,64,255), array(0,64,128)); 
$pdf->setFooterData($tc=array(0,64,0), $lc=array(0,64,128)); 

// set header and footer fonts 
$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN)); 
$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA)); 

// set default monospaced font 
$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); 

//set margins 
$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT); 
$pdf->SetHeaderMargin(PDF_MARGIN_HEADER); 
$pdf->SetFooterMargin(PDF_MARGIN_FOOTER); 

//set auto page breaks 
$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); 

//set image scale factor 
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); 

//set some language-dependent strings 
$pdf->setLanguageArray($l); 


// set default font subsetting mode 
$pdf->setFontSubsetting(true); 

// Set font 
// dejavusans is a UTF-8 Unicode font, if you only need to 
// print standard ASCII chars, you can use core fonts like 
// helvetica or times to reduce file size. 
$pdf->SetFont('times', '', 11, '', true); 

// Add a page 
// This method has several options, check the source code documentation for more information. 
$pdf->AddPage(); 

// set text shadow effect 
$pdf->setTextShadow(array('enabled'=>true, 'depth_w'=>0.2, 'depth_h'=>0.2, 'color'=>array(196,196,196), 'opacity'=>1, 'blend_mode'=>'Normal')); 

// Set some content to print 
$html = <<<EOD 
<div> 
$value 
</div> 

EOD; 

// Print text using writeHTMLCell() 
$pdf->writeHTMLCell($w=0, $h=0, $x='', $y='', $html, $border=0, $ln=1, $fill=0, $reseth=true, $align='', $autopadding=true); 

// --------------------------------------------------------- 

// Close and output PDF document 
// This method has several options, check the source code documentation for more information. 
$pdf->Output("generatedpdf.pdf", 'F'); 
//============================================================+ 
// END OF FILE 
//============================================================+ 
?> 

當你運行它,在TCPDF/pdfgenerator/examples/generatedpdf.pdf 只包含在PHP $value變量的值會產生一個新的PDF文件。

0

在這裏我向您發送GET valyue代碼從主到PDF頁面,如果ID是相同

$id = intval($_GET['id']); 

       // Make sure the ID is in fact a valid ID 
       if($id <= 0) 
       { 
        die('The ID is invalid!'); 
       } 
       else 
       { 
require("fpdf.php"); 
$pdf=new FPDF(); 
//var_dump(get_class_methods($pdf)); 
$pdf->AddPage(); 
//------------------------ 
$pdf->SetFont("arial","B","20"); 
$pdf->Cell(160,10,"t",1,0,"l"); 
$pdf->Cell(30,10,"".$t,1,1,"l"); 
$pdf->Output(); 


     } 
} //top most close 
    else 
    { 
     echo 'Error! No ID was passed.'; 
    } 
    ?> 

    //PDF code 

    }