1

次の ajax コードを使用して、変数 'a' を php ファイル get_output.php に送信します。

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>

ここで、変数「値」で必要な出力を取得しています。ここで、変数「値」の内容を pdf ファイルに入れたいと思います。Googleで調査したところ、すべてのソリューションが「url」などを使用して完全なページをpdfファイルに変換していることがわかりました。

私が望むのは、変数「値」に存在するコンテンツがPDFファイルになることだけです。ありがとうございました。

4

3 に答える 3

1

TCPDFを使用して実行できます。TCPDFPDF ドキュメントを生成するための PHP クラスです。ダウンロードして$html、 TCPDF/pdfgenerator/examples/example_001.php ファイルの変数を次のように変更します。

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

またはフォルダーに新しいファイルを作成します(たとえばtest.php、 )。作成した/TCPDF/pdfgenerator/examples/ばかりの新しいファイルに次のコードをコピーして貼り付けます。

<?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
//============================================================+
?>

実行すると、php 変数 TCPDF/pdfgenerator/examples/generatedpdf.pdf の値のみを含む新しい pdf ファイルが生成されます。$value

于 2013-03-26T08:17:18.367 に答える
0

PDF を生成してブラウザに送信するには、利用可能な PDF 生成ライブラリのいくつかを使用する必要があります。

私は、FPDF を試してみるのに非常に適していることを提案したいと思います。

http://www.fpdf.org/

于 2013-03-26T06:37:04.370 に答える
0

ここで、IDが同じ場合、メインページからPDFページへの値を取得するためのコードを送信しています

    $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

    }
于 2014-02-05T09:22:16.123 に答える