Fórum Root.cz
Hlavní témata => Vývoj => Téma založeno: TerkaSoukupova95 12. 06. 2024, 16:17:43
-
Ahojte,
pořídili jsem 58mm pos tiskárnu s 203 DPI (Bisofice) a řeším na ni tisk. Ideálně generuji skrze mpdf v php účetenku. Kvůli firemním záležitostem a rozpočtu to musí být PDFko. Jenže text je lehce "rozpixelizovaný".
Když vezmu stejné rozměry a vytvořím PDFko přes MS Word, je to ok. Když vygeneruji čisté HTMLko a vytisknu, je to ok. Ale když to hodím skrze MPDF, tak vidím, že na kvalitě textu je to problém. Netušíte někdo, v čem je zakopaný pes? Přijde mi, že to $mpdf->dpi = 203; nereaguje. Ale img_dpi reaguje na obrázky dobře.
Moc díky za pomoc. :)
$params = [
'mode' => 'utf-8',
'format' => [ 58, 100 ],
'default_font_size' => 10,
'default_font' => 'Arial',
'margin_left' => 2,
'margin_right' => 2,
'margin_top' => 2,
'margin_bottom' => 2,
'margin_header' => 0,
'margin_footer' => 0,
'orientation' => "P",
'tempDir' => TEMP_DIR."/mpdftemp/mpdf",
];
// PDF
$mpdf = new \Mpdf\Mpdf ($params);
$mpdf->dpi = 203; // Default 96
$mpdf->img_dpi = 203; // Default 96
$mpdf->WriteHTML($t);
-
a nepatří náhodou (img_)dpi taky to $params? náhodou
Je ten text pixelizovaný před tiskem (při vytáhnutí bitmapy z pdf) nebo po? Word(resp. tiskový dialog-Obecné) bude mít taky možnost Tisk jako rastr/Tisk jako vektor
-
Děkuji za odpověď. Může to být v params, ale nemusí. Nemělo to vliv. Rozbitý text je až v tisku, v PDF je OK i při zvětšení.
-
Ořez ze stran teď neřeším, ale vypadá to jinak takto...
-
proc WriteHTML ?
nedela to pak nejake nevhodne preskalovani, neni tam primo WritePDF ?
-
WriteHTML() tam je z důvodu, že chci tisknout formátovaný HTML dokument. Tzn. mám šablonu, ve které měním hodnoty. Výstpem je HTML, ze kterého generuji to PDF. Dělám tak i faktury (ty jsou OK), ale na POS tiskárně se ztrácí kvalita.
Výsledné PDF si buď mohu uložit a popř. stáhnout nebo rovnou poslat do prohlížeče.
-
Já tedy netuším jak to naprogramovat, ale rozlišení tiskové hlavy a rozlišení PDF (nebo prostě tiskového zdroje) jsou dvě úplně jiné hodnoty.
Takže buď to tiskni v 72DPI (to je pro monitor) a nebo klasicky 300DPI, nebo i vyšší (1200DPI - on tam nebude moc velký rozdíl ve velikosti BW souboru).
Prostě tiskárna sežvejká úplně všechno a podle předvoleb tisku (stínování, šedi atd.) to pak pustí na tiskovou hlavu v tiskovém jazyce.
-
Souhlas s předřečníkem. Ještě může být problém v písmu - zkontrolujte, zda jsou v pdf vložené fonty (jako vektorové) či zda je text vložen jako vektory (pak už není font v pdf vůbec potřeba - nejjistější možnost).
-
Já tedy netuším jak to naprogramovat, ale rozlišení tiskové hlavy a rozlišení PDF (nebo prostě tiskového zdroje) jsou dvě úplně jiné hodnoty...
Presne tak, viď. prílohu.