Takma hat PDF içine tatili

7 Cevap php

Merhaba, bu garip bir soru gibi görünebilir. Her neyse, ben PHP ve buldum bazı üçüncü parti kodunu kullanarak anında bazı PDF dosyası oluşturma ediyorum. Benim sorunum PDF dosyasına eklenecek metnin bazı bölümlerinde satır sonları eklemek için ihtiyaç vardır. Gibi bir şey:

$ Pdf-> InsertText ('Satır bir \ n \ nLine iki');

Bu yüzden yazdırır

Çizgi biri

Hat iki

Ben \ n PDF çalışmak değil biliyorum, ama siz bu dosyaların bir satır sonu temsil eden herhangi bir karakter veya bir şey biliyor musunuz?

Teşekkür ederim.

7 Cevap

Eğer FPDF kullanıyorsanız, hattı kullanmak mümkün olması için bir multi-line text cell as described here kullanmanız gerekecektir kırar.

Bu kullanıyorsanız, sonra metin satır sonları yorumlanması gerektiğini ve doğru dönüştürülür.

Sadece hızlı bir örnek:

$pdf->Multicell(0,2,"This is a multi-line text string\nNew line\nNew line");

Burada, 2 çok satırlı metin kutusu yüksekliği. Ben ya da sadece 0'a ayarlayın ve bunu görmezden eğer ölçülür olduğunu hangi birimleri bilmiyorum. Ilk başta bu işe yaramazsa belki de çok sayıda deneyin.

Sizin kod okur

$pdf->InsertText('Line one\n\nLine two');

Ben kullandığınız PDF kütüphanesi hakkında bilmiyorum ama \ n bir satır sonu olarak yorumlanabilir istiyorsanız, normalde, örneğin, PHP çift tırnak kullanmanız gerekir

$pdf->InsertText("Line one\n\nLine two");

Sen belirtmeleri

2 çok satırlı metin kutusu yüksekliği

No it's not. 2 is the distance between lines of text.

Sana GetY() kullandığınız sürece, gerçek edilen metin kutusunun yüksekliğini hesaplamak için gerçek bir yol olduğunu düşünüyorum ve sonra için SetXY() deyiminde kullanılan orijinal Y değerini çıkarma yok İlk etapta, çok hücreli bir yerleştirme.

$pdf->SetY($Y_Fields_Name_position);
$pdf->SetX(#);
$pdf->MultiCell($height,$width,"Line1 \nLine2 \nLine3",1,'C',1);

Eğer kurmadan önce her bir sütunda, X Pozisyonu ilk Y konumunu belirtmek, bu yüzden bu gibi oldu

Sütun 1

$pdf->SetY($Y_Fields_Name_position);
$pdf->SetX(#);
$pdf->MultiCell($height,$width,"Line1 \nLine2 \nLine3",1,'C',1);

Sütun 2

$pdf->SetY($Y_Fields_Name_position);
$pdf->SetX(#);
$pdf->MultiCell($height,$width,"Line1 \nLine2 \nLine3",1,'C',1);

Umarım yardımcı olur ..

Ya da sadece yeni bir hat için her metin geçtikten sonra bu deneyin.

$pdf->Write(0, ' ', '*', 0, 'C', TRUE, 0, false, false, 0) ;

Kullanımı \n tüm iyi ve iyi, ama bu çok çalışıyor ve çok daha kolaydır:

$pdf->MultiCell(0,5,"Line one here
Line 2 here
Line 3 here",0);