0

事前に作成されたPDFを開き、PHPを介してデータを入力するPHPプロジェクトがあります。私が抱えている問題は、テキスト要素の1つが表示されないことです。PDFページの右下に配置しています。少し左に動かすと現れます。まるでクリッピングか何かがあるかのようです。

TCPDFを使用していますが、既存のPDFを変更する必要があるため、FPDIクラスも使用する必要があります。FPDIは通常FPDFと統合されているように見えるので、私はFPDFメソッドを使用してPDFを作成してきました。OK、これが私のコード(または関連する部分)の一部です...

$pdf = new PDF();
$pdf->AddPage( 'L', 'Letter' );
$pdf->SetAutoPageBreak(false);
$pdf->SetXY(261,200);
$pdf->Write(5, 'test');

値が。のテキストを配置すると、テキストの右側に少なくとも1センチの空白があります260261上記のコードのように、もう1ユニット移動すると、消えてしまいます。これまでのところ、文字の上半分だけが表示されるようにページの下部にテキストを配置することはできますが、ページの右側に近づくことさえできません。そうしないと、テキストが完全に消えてしまいます。をfalseに設定したSetAutoPageBreakので、新しいページは作成されません。また、余白をゼロにすることもできます。

4

4 に答える 4

2

ゲームに少し遅れるかもしれません...

fpdf.phpファイルを見てみると、1cmのマージンが追加されているようです。

下げると、ページの端にテキストを近づけることができます。以下は元の行です。

// Page margins (1 cm)
$margin = 28.35/$this->k;

しかし、あなたがそれを次のようなものに変更すると

$margin = 10/$this->k;

これにより、ドキュメントの端に近づくことができます。

于 2013-09-19T06:04:04.817 に答える
0

セルを使用してテキストを配置するのが最善の方法でした。何らかの理由で、単にテキストをドキュメントに書き込むよりも正確で操作が簡単であることが示されています。

$pdf->SetXY(261,200);
$pdf->Cell(0,10,'My text',0,1, 'C');

ドキュメント:http ://www.fpdf.org/en/doc/cell.htm

于 2011-11-08T15:00:38.693 に答える
0

Write()は、テキストのフローに使用されます(内部的には複数のCell()呼び出しを使用します)。右マージンに達すると、自動改行が実行され、次の単語/文字が左マージンで新しい行を開始します。単語は消えませんが、左下の領域に表示されます。この単純なスクリプトで流れる文字を見ることができます。

$pdf = new FPDF();
$pdf->AddPage( 'L', 'Letter' );
$pdf->SetAutoPageBreak(false);
$pdf->SetFont('Helvetica');
$pdf->SetXY(261,200);
$pdf->Write(5, 't e s t');
$pdf->Output();
于 2011-11-09T12:30:32.510 に答える
0

次のことを試してください。

$pdf->SetAutoPageBreak('auto',0);
于 2013-09-10T14:32:24.730 に答える