1

ユーザー入力を受け取り、それ自体に投稿し、phpコードを文字列変数に格納し、その文字列データをサーバー上の.htmlファイルに保存するフォームがあります。.htmlファイルを廃止し、代わりにhtml2pdfを使用して.pdfに保存したいのですが、問題が発生しています。

私のphpファイルには次のコードがあります:

require_once(dirname(__FILE__).'/html2pdf_v4.03/html2pdf.class.php');
$html2pdf = new HTML2PDF('P','Letter','en');
$html2pdf->WriteHTML($current);
$html2pdf->Output('/var/www/Inspection/Quote/exemple.pdf');

3行目をコメントアウトすると「$html2pdf->WriteHTML($ current);」「TCPDFエラー:一部のデータは既に出力されています。PDFファイルを送信できません」というエラーが表示されます。

3行目と4行目をコメントアウトすると、ページの残りの部分は問題なく実行されます。。。.pdfが取得できません。

書き込み行の直前に何かをフラッシュすることに関するいくつかの投稿を見ましたが、それらのどれも私がやり遂げるのに十分明確ではありませんでした。

また、非常に単純化されたコードを使用すると、PDFを適切に生成できます。。。なぜこれが可能なのか迷っています。

動作するものは次のとおりです。

$content = "
<page>
<h1>Exemple d'utilisation</h1>
<br>
Ceci est un <b>exemple d'utilisation</b>
de <a href='http://html2pdf.fr/'>HTML2PDF</a>.<br>
</page>";

 require_once(dirname(__FILE__).'/html2pdf_v4.03/html2pdf.class.php');
$html2pdf = new HTML2PDF('P','A4','fr');
$html2pdf->WriteHTML($content);
$html2pdf->Output('exemple.pdf');

*編集* $current =

 <br><div align="center"><H1><center>Sales Order: <font color="red" style="bold"> 1 3
    </font></center></h1>
    </div>
    <hr width="85%">
    <table width="800" align="center">
    <tr>
    <td valign="top" width="50%" align="center">
    <table frame="border">
    <th bgcolor="cccccc" colspan="2" align="center">General Order Information</th>
        <tr>
        <td align="center" nowrap="nowrap" width="40%">Order Num:</td>
        <td width="60%">1</td>
    </tr>   
        <tr>
        <td align="center" nowrap="nowrap" width="40%">Order Rev:</td>
        <td width="20%">3</td>
    </tr>        
    <tr>
        <td align="center" nowrap="nowrap" width="40%">Quote Num:</td>
        <td width="20%">1</td>
    </tr>       
        <tr>
        <td align="center" nowrap="nowrap" width="40%">Order Date:</td>
        <td width="60%">1970-01-01</td>
    </tr>           
        <tr>
        <td align="center" nowrap="nowrap" width="40%">Customer Name:</td>
        <td width="60%">1</td>
    </tr>
        <tr>
        <td align="center" nowrap="nowrap" width="40%">Customer Buyer:</td>
        <td width="60%">1</td>
    </tr>
    <tr>
        <td align="center" nowrap="nowrap" width="40%">Sold By:</td>
        <td width="60%">ED </td>
    </tr>
    <tr>
        <td align="center" nowrap="nowrap" width="40%">Sales Rep:</td>
        <td width="60%">DR</td>
    </tr>
        <tr>
        <td align="center" nowrap="nowrap" width="40%">Prog Mgr:</td>
        <td width="60%">VJ</td>
    </tr>
    </table>
    </td>
    <!-- Start of Shipping Data -->
    <td valign="top" width="50%">
    <table align="center" frame="Border">
    <th bgcolor="cccccc" colspan="2" align="center">Shipping Information</th>
    <tr>
    <td align="center" nowrap="nowrap" >Terms:</td>
    <td align="left">1</td>
    </tr>
    <tr>
    <td align="center" nowrap="nowrap" >FOB:</td>
    <td align="left">1</td>
    </tr>
    <tr>
    <td align="center" nowrap="nowrap" >Shipping Co:</td>
    <td align="left">1</td>
    </tr>
    <tr>
    <td nowrap="nowrap" align="center">Ship Acct Num:</td>
    <td align="left">1</td>
    </tr>
    <tr>
    <td nowrap="nowrap" align="center">Shipping Method:</td>
    <td align="left">1</td>
    </tr>
    <tr>
    <td nowrap="nowrap" align="center" valign="top">Order Comments:</td>
    <td>1</td>
    </tr>
        <tr>
        <td nowrap="nowrap" align="center" width="40%">Cust SO Upload:</td>
        <td width="60%">The file 1-1-3.jpg has been uploaded, and Quote 1 has been added to the Quote directory </td>
    </tr>
    </table>
    </td>
    </tr>
    </table>
    <hr width="85%">  <table align="center" width="85%" cellpadding="3" cellspacing="0"             frame="border" rules="all">
    <tr>
    <td bgcolor="cccccc" align="center"><h5>Line</h5></td>
    <td bgcolor="cccccc" align="center"><h5>Cust PN / Rev</td>
    <td bgcolor="cccccc" align="center"><h5>PN / Rev</td>
    <td bgcolor="cccccc" align="center"><h5>Description</h5></td>
    <td bgcolor="cccccc" align="center"><h5>Qty</h5></td>
    <td bgcolor="cccccc" align="center"><h5>UOM</h5></td>
    <td bgcolor="cccccc" align="center"><h5>Sale Price</h5></td>
    <td bgcolor="cccccc" align="center"><h5>Line Total</h5></td>
    <td bgcolor="cccccc" align="center"><h5>Required Date</h5></td>
    <td bgcolor="cccccc" align="center"><h5>Program</h5></td>
    </tr>  <tr>
    <td width="3px" valign="top" align="center">
    1 </td> <td nowrap="nowrap" valign="top" align="center">
    1 - 1
    </td>
    <td nowrap="nowrap" valign="top" align="center">
    1 - 1
    </td>
    <td nowrap="nowrap" valign="top" align="center">
    1
    </td>
    <td nowrap="nowrap" valign="top" align="center">
    1
    </td>
    <td nowrap="nowrap" valign="top" align="center">
    1
    </td>
    <td nowrap="nowrap" valign="top" align="center">
    1.00
    </td>
    <td nowrap="nowrap" valign="top" align="center">
    1.00
    </td>
    <td nowrap="nowrap" valign="top" align="center">
    1970-01-01
    </td>
    <td nowrap="nowrap" valign="top" align="center">
    1
    </td>
    </tr> <tr>
    <td align="right" colspan="10" bgcolor="cccccc">
    <b>The Order Total is 1.00</b>
    </td>
    </tr>
    </table>

wkhtmltopdfは、xサーバーが必要なため、避けたいものです。。。できれば避けたいもの。

前もって感謝します。

4

3 に答える 3

1

PDF を作成するすべての php スクリプトを確認してから、「予備の行」または白い線が作成前にないことを確認する必要があります。

<?php

鬼ごっこ。幸運を !

于 2013-11-20T18:57:46.397 に答える
-1

WKHTMLTOPDF を使用したいが、インストールする必要がない場合は、Sprint PDFを使用できます。HTML を PDF に変換するオンライン サービスであり、RESTful API を介して変換します。

于 2012-07-04T13:39:39.643 に答える