3

私は現在、http://www.pdflib.com/からPDFlibを使用してPHPでpdfファイルを出力するコードを書いています。問題は、すべての html タグも出力ファイルに書き込まれていることです。これらのタグをすべてキャンセルするにはどうすればよいでしょうか?

これが私のサンプルコードです。

$postVariable = $_POST;

$contentData = "";
foreach($postVariable as $key => $value){ 
    if(is_array($key)){
        foreach($key as $key1 => $value1){
           $contentData.= $key1 .": ". $value1."<nextline>";
        }
    }else{
        $contentData.= $key .": ". $value."<nextline>";
    } 
}

$testdata = nl2br($contentData);
$pdf = pdf_new();
// open a file
pdf_open_file($pdf, $_SERVER['DOCUMENT_ROOT']."cas".DIRECTORY_SEPARATOR."$filename.pdf");
// start a new page (A4)
pdf_begin_page($pdf, 595, 842);

// Locate Font Directory
$fontdir = "C:\WINDOWS\Fonts";
// Font Name Parameters
pdf_set_parameter($pdf, "FontOutline", "arialMyName=$fontdir\arial.ttf");
// Find Font
$arial = PDF_findfont($pdf,"arialMyName","host",0 );
// Set font size and font name
pdf_setfont($pdf, $arial, 10);

//$arial = pdf_findfont($pdf, "Arial", "host", 1);
//pdf_setfont($pdf, $arial, 10);
// print text
pdf_show_xy($pdf, "TO THE UNIT OWNER",50, 750); 
pdf_show_xy($pdf, "Test ext", 50,730);
pdf_show_xy($pdf, "test test", 50,715);
pdf_show_xy($pdf, $contentData, 50,700);
// end page
pdf_end_page($pdf);
// close and save file
pdf_close($pdf);

TO THE UNIT OWNER Test text test test type: Apartment****var_name: ****var_company: ****var_date: ****submit: Save and Download<

html タグを無視し、コンテンツに含めます。

現在使用しているライブラリ (PDFlib) を使用して HTML を PDF に出力する他の方法はありますか。

ありがとう。

よろしく、 レスティ

4

3 に答える 3

3

私はTCPDFライブラリをお勧めします。HTML を CSS コードを含む PDF ファイルに変換できます。かなり多くの HTML タグをサポートしており、まともな仕事をします。ただし、個人的な経験から、それを使用して高品質の PDF ファイルを生成することは非常に可能ですが、結果が常に 100% 期待どおりになるとは限りません。必要な結果を得るには、少し調整と調整が必要になる場合があります。

HTML タグのみを削除する場合は、strip_tags を参照してください。しかし、それはあなたが求めているものではないと思います。

最後に、非常にクールな新機能がブロックに追加されました。これは、WebKit HTML とレンダリング エンジンを使用して PDF を生成する PHP 拡張機能です。これはlibwkhtmltox 拡張機能と呼ばれ、ここで見つけることができます。それは驚くべき結果を生み出します。たとえば、ニューヨーク タイムズのホームページから作成されたこの PDF を見てください。その出力は、追加のオプションを指定せずに生成されました。素晴らしい。ただし、PHP 拡張機能として実行する必要があり、それは簡単ではない作業になる可能性があります。だから私は言います:今のところTCPDFライブラリに固執してください。

于 2010-09-21T13:01:28.580 に答える
2

男...私は一度同じことをしようとしていました。pdflib を直接操作するのは非常に困難です。

Googleコードサイトでホストされているこのプロジェクトを見つけました。このプロジェクトは 5 つ星のうち 10 つ星に値します。

これは DOM PDF と呼ばれ、ここからダウンロードできます。CSS サポートにより、HTML ページから PDF を生成できます。10 行未満のコードで PDF を生成できます。

サンプルを見て実際の動作を確認してください。

于 2010-09-21T12:25:01.757 に答える
2

PDFLib を使用して HTML から PDF コンテンツを生成することはできません。わかりました、convertor を書くことはできますが、それは大変な作業です。

HTML 入力をサポートするTCPDFを使用することをお勧めします。

于 2010-09-21T12:01:41.837 に答える