Autor Zpráva
IdemeNaHavaj
Profil
Skúšam vytvoriť PDF cez FPDF s diakritikou a nech robim čo robim nie a nie to ísť. Skušal sim iconv, nastaviť charset, aj cp1250 aj UTF8 a nič.. Teraz som sa zasekol pri konvertovaní diakritiky na HTML entity. Mám napríklad "Č" ako "Č" a problém je že v PDF sa nezobrazuje ako Č ale ako Č. Vie niekto ako povolím aby fpdf zobrazoval miesto HTML entitov to, čo ten entit znamená?
Keeehi
Profil
FPDF není úplně nejlepší pro jazyky s diakritikou. 1) nezvládá utf-8, jen ISO-8859-1 nebo Windows-1252 (což ani jedno není to co jsi zkoušel), 2) v základu nemá jediný font s českou diakritikou - musíš si ho nejdříve sám vygenerovat.
Osobně bych zkusil nějakou alternativu, která s utf-8 pracovat umí. mpdf nebo wkhtmltopdf.

Taky jsi nám neukázal co jsi vytvořil a nefunguje ti to.
IdemeNaHavaj
Profil
Hladal som nieco na vytvaranie peknych faktur a nasiel som toto github.com/farjadtahir/pdf-invoicr ma to pekne ukazky ale ten system pouziva prave fpdf. Skusal som kombinovat vsetky mozne kodovania v iconv aj windows 1252 aj iso
user
Profil *
www.fpdf.org/en/script/script92.php
IdemeNaHavaj
Profil
To znie pekne aj som to skúsil ale donekonečna sa vytváranie PDF načítava.. myslel som si že mám ja niekde chybu ale ked vidím že sa donekonečna načítava aj odtiaľ stiahnutý príklad "ex.php" tak v tom asi niečo bude :/

Edit:
nejde mi to PDF otvoriť iba v prehliadačoch a neviem prečo , cez telefon ide, cez chrome ani edge nie, aj stiahnut sa da cez winsc z ftp.. teraz nechapem vobec co s tym moze byt

Edit2:
nejde mi vobec ziadne PDF zobrazit v chrome
user
Profil *
IdemeNaHavaj:
myslel som si že mám ja niekde chybu ale ked vidím že sa donekonečna načítava aj odtiaľ stiahnutý príklad "ex.php" tak v tom asi niečo bude :/

To bude chyba u tebe, mě to jde v pohodě.
IdemeNaHavaj
Profil
Už sa mi to podarilo spojazdniť, ale ajtak tam nieje tá diakritika a použil som príklad ktorý tam bol priložený. Posielam screenshot:



Tak ako vidim ani ten tFPDF nejak nejde, asi fakt sa na to vykašlať a najsť iny system
user
Profil *
Musíš tam mít chybu. Pošli zdroják.
Zkus případně odstranit souboru .mtx.php ve složce tfpdf/font/unifont
IdemeNaHavaj
Profil
Posielam zdrojak, je rovnaký ako ked som ho stiahol

ex.php
<?php

// Optionally define the filesystem path to your system fonts
// otherwise tFPDF will use [path to tFPDF]/font/unifont/ directory
// define("_SYSTEM_TTFONTS", "C:/Windows/Fonts/");

require('tfpdf.php');

$pdf = new tFPDF();
$pdf->AddPage();

// Add a Unicode font (uses UTF-8)
$pdf->AddFont('DejaVu','','DejaVuSansCondensed.ttf',true);
$pdf->SetFont('DejaVu','',14);

// Load a UTF-8 string from a file and print it
$txt = file_get_contents('HelloWorld.txt');
$pdf->Write(8,$txt);

// Select a standard font (uses windows-1252)
$pdf->SetFont('Arial','',14);
$pdf->Ln(10);
$pdf->Write(5,'The file size of this PDF is only 12 KB.');

$pdf->Output("test.pdf", "I");

?>

HelloWorld.txt
English: Hello World
Greek: Γειά σου κόσμος
Polish: Witaj świecie
Portuguese: Olá mundo
Russian: Здравствулте мир
Vietnamese: Xin chào thế giới
Slovensky: Čau svet! Ako sa máš?
Monkeys
Profil *
IdemeNaHavaj:

FPDF nepodporuje UTF-8.
Mam svoj system na generovanie faktur a vyriesil som to cez funkciu ktora zmeni kodovanie.
Funguje mi to na vsetku diakritiku.

Napis si funkciu cez ktoru budes vracat upravene retazce.
function getUTF8( $string ){
$str = stripslashes( $string );
$str = iconv('UTF-8', 'windows-1250//IGNORE', $str) . PHP_EOL;
return $str;
}

M.
IdemeNaHavaj
Profil
Monkeys:
iconv som skúšal už na viac spôsobov, tvoja funkcia urobí z príkladu vyššie toto:


Niekde je proste problém a netuším kde, skúšal som rôzne kódovania a ked to nefunguje ani na príklade tak už neviem. Viem ale že to nieje chyba v mojom PC lebo cez mobil mi to otvorí rovnako.

mb_detect_encoding() vráti UTF-8 bez použitia iconv.
Monkeys
Profil *
IdemeNaHavaj:

zakomentuj tieto dva riadky
// Load a UTF-8 string from a file and print it
$txt = file_get_contents('HelloWorld.txt');
$pdf->Write(8,$txt);

a miesto toho napis

$pdf->Write(5, getUTF8( 'ľščťžýáíéäňú§ô' ) );

Pozri sa na vystup:
Ak vypis bude spravny problem mas s externym suborom.

M.


pripadne ma este napadlo:

$txt = getUTF8(file_get_contents('HelloWorld.txt'));

M.
IdemeNaHavaj
Profil
Monkeys:
Naozaj dakujem ze sa snazis mi pomoct ale..


nejde.. ale našiel som v systéme čo robí faktúry nejaké iconv funkcie ktoré som pomazal a faktúra mi teraz diakritku tak napoli berie.. nefunguje touppercase() na písmeno "á" (napr. DáTUM VYSTAVENIA) a tiež euro symbol je otánik ? 1.00

edit: to s malým "á" som už vyriešil už len nejak ten euro symbol a budem mať po probléme
edit2: mám to vyriešené - našiel a vymazal som ďalšie iconv funkcie.. tie prvé maly kódovanie nejaké ISO a tieto druhé windows 1250
user
Profil *
Monkeys:
FPDF nepodporuje UTF-8.
Ano, ale tFPDF podporuje.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: