MySQL sütun genişliği olsun?

6 Cevap php

Ben bir şekilde actial genişlik boyutu piksel bir sütun başlığı metin form MySQL dönüştürebilirsiniz merak ediyordum. Ben veritabanından bir PDF oluşturmak için çalışıyorum ve bunu otomatik olarak sütun genişliklerini ayarlamak istiyorum. Ben birçok tablo için kullanmak gibi, genişliği I like it görmek gerekir böylece farklı olmalıdır: "Bu sütun için başlık şirket kimliği denir nedenle 40 genişliğe sahip olmalıdır." Böyle bir şey elde edebilir miyim? Ben gerçek genişliği metin karakter uzunluğu dönüştürebilir miyim?

Teşekkürler.

6 Cevap

FPDF bir dize genişliğini öngörür bir GetStringWidth() yöntemi var olur.

PDF nesil kütüphane kullanıyor - Sen PDF kullanılacak yazı tipi ölçülerine hesaplama bazı yolu olması gerekir?

Ben kuvvetle olan karakterler eşit genişlikte tüm (belki Courier New,) ve sonra sadece var bir karakteri belirlemek genişliği tarafından dize uzunluğunu çarparak olan bir font kullanmanızı tavsiye ederim rağmen, could biraz kullanabilirsiniz sunucu tarafı kod hile yapmak. Ben burada PHP konuşma olacak. :)

Eğer GD kütüphanesine erişimi Assming, sen dize sınırlayıcı kutusunun koordinatlarını dönmek için imagettfbbox() işlevini kullanabilirsiniz; Aşağıda bir örnek verilmiştir:

<?php
$size = 15;
$angle = 0;
$path = 'name_of_font.ttf';
$bounding = imagettfbbox($size, $angle, $path, "This is some text.");

// $bounding is now an array of values that contain
// information regarding the invisible "box" around
// the text; the only element you're really interested
// in, though, the one that will tell you the width of
// the text, is $bounding[2]
?>

Eğer bir dize genişliğini anlamak için ihtiyacınız olduğunda, sadece bu işlevini çağırın ve size gereken bilgileri almak için çıkan dizinin dizin 2'ye elemanı kullanın. Yardım ettik umuyoruz.

Bunun mümkün olduğundan emin değilim. Ben iyi uzlaşma mysql alan adının dize uzunluğu ile çarpın sonra bir karakter için bir keyfi genişliğini seçmek olacağını hayal ediyorum.

Ben yanlış değilim, bu kullandığınız yazı tamamen bağımlı olduğunu ve MySQL depolanan veri ile ilgisi yoktur. Sen kesinlikle yaklaştığı bir yol ile gelip, ama o ağır kullandığınız yazı özelliklerine bağlıdır. Örneğin, yazı tipi eşaralıklı mı? Değilse, "lll" adlı bir sütun onlar karakter aynı sayıda olmalarına rağmen, "MMMMMM" adında birinin daha ince olacak.

Siz / (Mike Houston dediği gibi) verilen, yazı Bu MySQL ile ilgisi yok içeri icra edileceğini (yüz, boyut, vb), ve baskı yapmak için her bir dize genişliğini hesaplayan bir işlev gerekir metin işleme, böylece PDF kütüphanesi için sabırsızlanıyoruz. Ya da, belki, işletim sisteminin yazdırma / grafik kütüphanesi.