FPDF - 7. leckét, hozzátéve, az új betűtípusok, és támogatja a különböző kódolások
Ma befejezem a szabad fordításban a tanulságot a hivatalos oldalon FPDF könyvtárban. Előző én fordítások:
Ebben a leckében megnézzük, hogyan kell használni a Type1 vagy TrueType, hogy mi jönne nem csak szabványos betűtípusok. Másik jellemzője, hogy meg lehet választani a kódolását, amely lehetővé teszi, hogy ne csak a nyugati, hanem más nyelvek (szabványos betűk túl kevés a rendelkezésre álló karakterek).
Kétféle módon lehet használni egy új betűtípus: beágyazott betűtípusok PDF vagy a dugót. Ha megadott betűtípus nincs beágyazva, akkor keresett a rendszerben. Az előnye, hogy plug-betűtípusok, hogy a PDF-fájl sokkal könnyebb súlya, másrészt, ha ez nem áll rendelkezésre, akkor a normál betűtípus cserélni. Ezért kívánatos, hogy a betűtípus telepítve van a kliens rendszerek. Ha a fájl kell tekinteni nemcsak a helyi számítógépen, feltétlenül helyezze be PDF.
Ha új betűtípus TrueTypes kell tenniük három lépésből áll:
- Létrehoz mutatókat fájlt (.afm)
- Létrehoz egy font fájl (.php)
- Állapítsa meg a betűtípust a script
Generációs metrikus fájl
Vegyük például a betűtípus Comic Sans MS Regular:
ttf2pt1 -a c: \ windows \ fonts \ comic.ttf képregény
Ezzel az eszközzel hoz létre két fájlt amelyek közül az egyik egy kiterjesztésű fájl .afm ténylegesen szüksége van ránk.
Fájlgenerálási meghatározására font
A második lépés, hogy hozzon létre egy PHP fájlt, amely tartalmazza az összes szükséges információt az FPDF. Annak érdekében, hogy ezt, a könyvtár font / makefont találhat további script a fale makefont.php. amely az alábbi funkciókat tartalmazza:
MakeFont (string fontfile, karakterlánc afmfile [, string ENC [, array tapasz [, string típusú]]])
Értékek amely elfogadja a módszer, mint paraméterek:
- fontfile - Az útvonal a kiterjesztésű fájl .ttf vagy .pfb.
- afmfile - Az útvonal a fájl kiterjesztését .afm.
- ENC - A név a használt kódolás. Alapértelmezett cp1252.
- tapasz - További kapcsolódó változtatásokat kódolást. Az alapértelmezett üres.
- típusú - írja a betűtípus (TrueType vagy Type1). Alapértelmezett TrueType.
Az első paraméter nevének kell lennie, és utat a font. Extension kell .ttf vagy .pfb. Ha van egy Type1 font ASCII formátumban kiterjesztésű .pfa, akkor konvertálni a bináris formátumban t1utils segédprogramot.
AFM korábban generált fájl
Kódolás meghatározza a kapcsolat egy kódot (0-tól 255) és a karakter. Az első 128 rögzítettek, és megfelelnek az ASCII, míg a következő változó. Encodings tárolják .map fájlokat. Kódolások a következők:
- CP1250 (Közép-Európa)
- cp1251 (cirill)
- cp1252 (Nyugat-Európa)
- cp1253 (görög)
- cp1254 (török)
- cp1255 (Hebrew)
- cp1257 (Baltic)
- cp1258 (vietnámi)
- cp874 (thai)
- ISO-8859-1 (Nyugat-Európa)
- ISO-8859-2 (Közép-Európa)
- ISO-8859-4 (Baltic)
- ISO-8859-5 (Cirill)
- ISO-8859-7 (görög)
- ISO-8859-9 (török)
- ISO-8859-11 (thai)
- ISO-8859-15 (Nyugat-Európa)
- ISO-8859-16 (Közép-Európa)
- KOI8-R (orosz)
- KOI8-U (ukrán)
A font választhat tartalmaznia kell a megfelelő karaktereket a kiválasztott kódolásban.
Különleges esetekben, amikor a betűtípus karakterek nem betűket, mint például a Symbol vagy ZapfDingbats, meg kell, hogy adja át egy üres karakterlánc.
Kódolások kezdődnek, CP használják a Windows. Linux rendszerek általában az ISO.
Megjegyzés. szabvány fontoké cp1252 kódolást.
A negyedik paraméter megadja a lehetőséget, hogy változtassa meg a kódolást. Néha akkor is hozzá néhány karaktert. Például ISO-8859-1 nem tartalmazza az euró szimbóluma. Hozzáadásához azt egy olyan helyzetbe 164, pass - array (164 => 'Euro').
Az utolsó paraméter továbbítására használjuk a betűtípust, ha az nincs beépítve (azaz, ha az első paraméter üres).
Miután kitöltötte az összes paramétert a funkció, akkor hozzon létre egy új fájlt csatlakoztatja a makefont.php, vagy egyszerűen csak hozzá függvényhívás közvetlenül a fő fájl. Miután a függvény végrehajtása több fájlt hoz létre: .php és .afm. Akkor nevezd át a fájlt, ha akarja. Ezen túlmenően, a script létrehoz egy fájlt a .Z, amely egy sűrített (kivéve azokat az eseteket, amikor a tömörítés funkció nem elérhető, ehhez Zlib). Akkor nevezd is, de ebben az esetben meg kell változtatni a változó $ fájlt a .php fájlt egy megfelelő nevet.
A fenti példa létrehoz két fájlt: comic.php és comic.z.
Amikor megkapja ezeket a fájlokat, akkor le kell másolni a könyvtár betűtípusokat. Ha a betűtípus fájl nem fogást majd másolja a kiterjesztésű fájlok .ttf vagy .pfb. ahelyett, hogy a .z.
Az utolsó lépés a legegyszerűbb. Csak azt kell hívni AddFont () metódust. Például:
Kódolás ISO-8859-1 elterjedt, de nem tartalmazza az euró jele. Ha szükség van rá, a legegyszerűbb dolog, amit tehetünk, használat cp1252 vagy ISO-8859-15 helyett kódolás, mert szinte azonos, de tartalmazzák az értékes jelképe.
Ahelyett, hogy az ISO-8859-2, akkor az ISO-8859-16, de ez a kódolás tartalmaz sok különbség. Így könnyebb ide, hogy a karakterkódolást a fent leírtak szerint. Ugyanez igaz más kódolásokat.
Csatlakozás a Windows betűtípusok
Ha a betűtípus kiválasztott nem áll rendelkezésre egy adott stílus, a Windows képes csatlakoztatni a rendszeres változata. Például, van Comic Sans MS dőlt, de építhető Comic Sans MS Regular. Ez a funkció használható a PDF-fájlban, de sajnos megköveteli, hogy a rendszeres font van jelen a rendszerben. Itt van, hogyan kell csinálni:
- Hozzon létre egy fájlt, hogy meghatározza a normál betűtípus mellékletek nélkül (is nevezhetjük, hogy tükrözze a kívánt stílus)
- Nyisd ki, és adjunk a változó $ name után vesszőt a kívánt stílust (dőlt, félkövér vagy Bold)
Például comici.php ez a fájl így fog kinézni:
Akkor tudod használni, mint egy normál font:
Méretének csökkentése TrueType betűtípusok
A betűtípus fájlok gyakran igen terjedelmes méretű (több mint 100, és még 200 KB), annak a ténynek köszönhető, hogy a bennük található szimbólumok, amelyek megfelelnek a sok kódolást. Zlib tömörítés csökkenti őket, de továbbra is meglehetősen nagy. Mégis van egy technika, amely segít tovább csökkentik. A technika lényege, hogy a Type1 font átalakítás segítségével ttf2pt1 kell adni a kódolást, hogy szükség van, és az összes megfelelő karaktereket más kódolásokat figyelmen kívül hagyja.
Például a betűtípus arial.ttf szállított Windows 98 súlya 267KB (ez tartalmazza 1296 karakter). Miután tömörítés 147. Nézzük átalakítani, hogy Type1, miközben csak a szükséges karakter kódoláshoz CP1250:
ttf2pt1 -b -L cp1250.map c: \ windows \ fonts \ arial.ttf Arial
.map fájlok találhatók a betűtípus / makefont / könyvtárban. Ha a parancs létrehoz néhány fájlt, beleértve: arial.pfb és arial.afm. Fájl Súly arial.pfb tömörítés előtt volt 35KB, 30KB és után.
Akkor még tovább mennek. Ha érdekel csak bizonyos jelképek összesen 217 karakter, akkor nyissa meg a fájlt a kiterjesztés .map, és távolítsa el a nem kívánt sorokat, illetve, hogy csökkenteni fogja a fájlt súlyát.
Jó szerencse, hogy használja!
Kedves Michael! Köszönöm szépen. Azt kell, hogy létrehoz egy fájlt a dokumentumot. amelyet megküld a jelentés az intézet, és ezzel egyidejűleg be az adatbázisba, az összes adatot a jelentés egy konferencián munkatársaink.
Beletelt pdflib - minden világos, de mi a helyzet az orosz nyelvet.
Miután talált egyértelmű választ.
Most próbálom eredményeként jönnek St. Petersburg, amit megtehetsz otthon.
Veronica Nikolaevna - vezető oldalon és adatbázis Fizikai-Műszaki Intézet RAS.
Guman Veronica. mindig szívesen segít. Ha én Szentpéterváron megpróbálom hozzád.
Guman Veronica. ahogy amit leírt a cikkben FPDF - Könyvtár a PDF-fájlokat a PHP nem egy probléma. Be kell használni egy módosított Furse FPDF - tFPDF. Megtalálható a hivatalos oldalon FPDF, a Scripts részben.