文字列エンコーディングが utf8 であるかどうかを判断し、変換する PHP メソッド
PHP で PDF 形式のドキュメントを操作できるようにするには、まず PDFLib 拡張ライブラリをシステムにインストールする必要があります (Linux システムを使用している場合は、http://www.pdflib.com/pdflib/index からダウンロードできます)。 Windows システムを使用している場合は、コンパイルされた PDFLib ライブラリをダウンロードし、PHP 設定ファイル内の対応する行のコメントを削除するだけで済みます。
extension=php_pdf.dll
動的読み込みの場合は、次のコマンドも参照できます:
dl("php_pdf.dll");
さらに、PDF 形式を表示するには Adobe Acrobat PDF Reader が必要です。お持ちでない場合は、http:/ からダウンロードできます。 /www.adobe.com/無料ダウンロード。
事前準備が完了したら、PDF ファイルを作成できます。
// 创建一个新的PDF文档句柄
$pdf = PDF_new();
// 打开一个文件
PDF_open_file($pdf, "PDFTest.pdf");
// 开始一个新页面(A4)
PDF_begin_page($pdf, 595, 842);
// 得到并使用字体对象
$arial = PDF_findfont($pdf, "Arial", "host", 1);
PDF_setfont($pdf, $arial, 10);
// 输出文字
PDF_show_xy($pdf, "This is an exam of PDF Documents, It is a good Lib,",50, 750);
PDF_show_xy($pdf, "If you like,please try yourself!", 50, 730);
// 结束一页
PDF_end_page($pdf);
// 关闭并保存文件
PDF_close($pdf);
?>
次に、保存します。これを PHP ファイルとして保存し、ブラウザで参照します。PHP は上記のコードを実行し、新しい PDF ファイルを生成して、指定された場所に保存します。
次に、PHP を使用して PDF ファイルを作成するには、次の 4 つの手順を実行します。 1. ドキュメントのフォントと色を登録します。 PDFLib を使用してファイルをファイルに追加します。 4. ドキュメントを保存します。
まず 、PDF ドキュメント ハンドルを作成します。構文は次のとおりです:
$pdf = PDF_new(); このタスクは PDF_new() 関数によって完了します。この関数は、後続のすべての操作で使用される PDF ドキュメントへのハンドルを返します。
次のステップは、PDF_open_file() 関数によって PDF ファイルに名前を付けることです。これには、パラメーターとして、以前に作成したファイル ハンドルとカスタマイズされたファイル名が必要です。 🎜 >
PDF_open_file($pdf, "PDFTest.pdf");
ドキュメントを作成したら、PDF_begin_page を使用して新しいページを挿入できます。 () function : PDF_begin_page($pdf, 595, 842);
次に PDF_end_page() でページを終了します。 ここで、PDF_begin_page() 関数には他に 2 つのパラメータがあり、それぞれページ サイズの幅と高さを表し、単位はポイント (ポイント、1 ポイントは 1/72 インチに等しい) であることに注意してください。 )、おそらくここでは数学は得意ではありません。PHP では、A4 などのほとんどの標準ページ サイズも提供しています。上記の例では A4 サイズを使用しています。
PDF_begin_page()
関数の呼び出しと PDF_end_page() 関数の呼び出しの間のコードは、PDF ドキュメントに対するものです。コンテンツを記述する場合、コンテンツにはテキスト、画像、幾何学図形などが使用できます。この例では、テキスト行を書き込むだけで、最初にフォントを取得してから、テキストをドキュメントに書き込みます。 PDF_findfont() および PDF_setfont() 関数、 を使用してフォントを選択して登録すると非常に便利です。 PDF_findfont( ) 関数は、ドキュメントで使用するフォントを準備します。必要なパラメーターには、フォントの名前、使用されるエンコーディング、フォントを PDF ファイルに埋め込むかどうかが含まれます。 PDF_findfont()この関数は、PDF_setfont() 関数で使用されるフォント オブジェクトを返します。 フォントを設定したら、
$arial = PDF_findfont($pdf, "Arial", "host", 1);
PDF_setfont($pdf,$arial, 10);
PDF_show_xy()
関数を使用して、フォント上の位置を指定できます。ページ 文字列を書き込みます。 PDF_show_xy($pdf, "This is an exam of PDF Documents, It is a good Lib,",50, 750);
PDF_show_xy($pdf, "If you like,please try yourself!", 50, 730);
PDF_show_xy()
この関数はページにコンテンツを書き込むために使用され、最後の 2 つのパラメーターは次のとおりです。文字列の座標位置。座標の原点 (0, 0) はドキュメントの左下隅にあることに注意してください。テキストが終了したら、ページを閉じることができます PDF_end_page() もちろん、さらにページを書くこともできます。すべてのページが書き込まれた後、PDF_close() 関数を使用してドキュメントを閉じます。この時点で、ドキュメントは呼び出し PDF_open_file() に保存されます。 ) 関数中に指定されたファイル名とパスの下で、ドキュメント ハンドルがそれに応じて破棄されます。 PDFLib ライブラリでは、それ以外のこともできます。前のファイルを例として、テキストの下に画像ファイルを追加してみましょう。 : 是不是很简单?
PDF_open_image_file()函数打开一个图形文件,可以接受的图象类型有:GIF, JPEG, TIFF 和 PNG,该函数返回图象句柄,
PDF_place_image()函数利用前面的图象句柄,把图象插入到PDF文档中。注意这里的坐标位置是指图象的左下角,最后一个参数是图象显示时的比例因子,1是与实际大小一样显示,0.5是按原来尺寸的一半显示。
除了在PDF文档里画出现有的图象以外,PDF模块还提供了许多函数来让我们画出几何图形。比如:直线、圆、长方形等几何图案,下面就是一段画直线的实现方法:
$pdf = PDF_new();
PDF_open_file($pdf, "LineExam.pdf");
PDF_begin_page($pdf, 595, 842);
$arial = PDF_findfont($pdf, "Arial", "host", 1);
PDF_setfont($pdf, $arial, 12);
// 设定直线的颜色
PDF_setcolor($pdf, "stroke", "rgb", 0, 0, 0);
// 在左上角放置一个Logo标识
$image = PDF_open_image_file($pdf, "jpeg", "logo.jpg");
PDF_place_image($pdf, $image, 50, 785, 0.5);
// 在Logo标识下画出直线
PDF_moveto($pdf, 20, 780);
PDF_lineto($pdf, 575, 780);
PDF_stroke($pdf);
// 在页面底部画出另外一条直线
PDF_moveto($pdf, 20,50);
PDF_lineto($pdf, 575, 50);
PDF_stroke($pdf);
// 输出一些文字
PDF_show_xy($pdf, "Meng's Corporation", 200, 35);
PDF_end_page($pdf);
PDF_close($pdf);