cirrus3d Posted February 3, 2012 Share Posted February 3, 2012 Καλημέρα, Αντιμετωπίζω ένα πρόβλημα στην εκτύπωση τιμολογιών. Στο Orders > Ivoices αν πάω να εκτυπώσω πχ τα τιμολόγια του τελευταίου μήνα παίρνω το error: "FPDF error: Undefined font: arial_g B" Για κάποιο λόγο δεν αναγνωρίζεται η bold γραμματοσειρά??? Ξέρει κανείς τι παίζει με αυτό το error; Ευχαριστώ Link to comment Share on other sites More sharing options...
cirrus3d Posted February 3, 2012 Author Share Posted February 3, 2012 Οκ, solved. Γενικά το fpdf είναι λίγο για τα μπάζα. Για όσους αντιμετωπίζουν το ίδιο πρόβλημα, οι οδηγίες που βρήκα για να το λύσω είναι εδώ: http://www.prestasho...pdf-vers-tcpdf/ και ουσιαστικά είναι migration από την fpdf engine στην tcpdf που θα υποστηρίζεται και από την έκδοση 1.5 του prestashop. 0) Κατεβάζουμε το tcpdf και το βάζουμε μέσα στο φάκελο tools (tools/tcpdf) 1) Στο config/config.inc.php βάζουμε στο τέλος τη γραμμή /* TCPDF Installation */ define('_PS_TCPDF_PATH_', _PS_TOOL_DIR_.'tcpdf/'); 2) Κατεβάζουμε το PDF.php που βρίσκεται στο link με τις γαλλικές οδηγίες που είναι παραπάνω και το βάζουμε στο /classes 3) Αντικαθιστούμε το /(admin_folder)/tabs/AdminPDF.php με τον ακόλουθο κώδικα (έκδοση prestashop 1.4.6.2) <?php /* * 2007-2011 PrestaShop * * NOTICE OF LICENSE * * This source file is subject to the Open Software License (OSL 3.0) * that is bundled with this package in the file LICENSE.txt. * It is also available through the world-wide-web at this URL: * http://opensource.org/licenses/osl-3.0.php * If you did not receive a copy of the license and are unable to * obtain it through the world-wide-web, please send an email * to [email protected] so we can send you a copy immediately. * * DISCLAIMER * * Do not edit or add to this file if you wish to upgrade PrestaShop to newer * versions in the future. If you wish to customize PrestaShop for your * needs please refer to http://www.prestashop.com for more information. * * @author PrestaShop SA <[email protected]> * @copyright 2007-2011 PrestaShop SA * @version Release: $Revision: 6594 $ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) * International Registered Trademark & Property of PrestaShop SA */ define('_PS_TCPDF_PATH_', _PS_TOOL_DIR_.'tcpdf/'); include_once(PS_ADMIN_DIR.'/tabs/AdminPreferences.php'); include_once(_PS_TCPDF_PATH_.'encodings_maps.php'); class AdminPDF extends AdminPreferences { public function __construct() { global $cookie; $lang = strtoupper(Language::getIsoById($cookie->id_lang)); $this->className = 'Configuration'; $this->table = 'configuration'; /* Collect all font files and build array for combo box */ $fontFiles = scandir(_PS_TCPDF_PATH_.'fonts'); $fontList = array(); $arr = array(); foreach ($fontFiles AS $file) if (substr($file, -4) == '.php' AND $file != 'index.php' AND substr($file, -6) != 'bi.php' AND substr($file, -5) != 'b.php' AND substr($file, -5) != 'i.php') { $arr['mode'] = substr($file, 0, -4); $arr['name'] = substr($file, 0, -4); array_push($fontList, $arr); } /* Collect all encoding map files and build array for combo box */ $encodingFiles = new TCPDF_ENCODING_MAPS();//scandir(_PS_TCPDF_PATH_.'font/makefont'); $encodingList = array(); $arr = array(); foreach ($encodingFiles->encmap AS $key => $file) { $arr['mode'] = $key; $arr['name'] = $key; array_push($encodingList, $arr); } $this->_fieldsPDF = array( 'PS_PDF_ENCODING' => array( 'title' => $this->l('Encoding:'), 'desc' => $this->l('Encoding for PDF invoice'), 'type' => 'selectLang', 'cast' => 'strval', 'identifier' => 'mode', 'list' => $encodingList), 'PS_PDF_FONT' => array( 'title' => $this->l('Font:'), 'desc' => $this->l('Font for PDF invoice'), 'type' => 'selectLang', 'cast' => 'strval', 'identifier' => 'mode', 'list' => $fontList) ); parent::__construct(); } public function postProcess() { if (isset($_POST['submitPDF'.$this->table])) { $fieldLangPDF = array(); $languages = Language::getLanguages(false); foreach ($this->_fieldsPDF as $field => $fieldvalue) foreach ($languages as $lang) if (Tools::getValue($field.'_'.strtoupper($lang['iso_code']))) $fieldLangPDF[$field.'_'.strtoupper($lang['iso_code'])] = array('type' => 'select', 'cast' => 'strval', 'identifier' => 'mode', 'list' => $fieldvalue['list']); if ($this->tabAccess['edit'] === '1') $this->_postConfig($fieldLangPDF); else $this->_errors[] = Tools::displayError('You do not have permission to edit here.'); } } public function display() { global $cookie; $language = new Language((int)($cookie->id_lang)); if (!Validate::isLoadedObject($language)) die(Tools::displayError()); $this->_displayForm('PDF', $this->_fieldsPDF, $this->l('PDF settings for the current language:').' '.$language->name, 'width2', 'pdf'); } } 4) Στο back office του prestashop πηγαίνουμε στο Orders > PDF και επιλέγουμε τη γραμματοσειρά dejavusans και encoding 8859-7 Από εδώ και εμπρός το encoding παίζει κανονικά. Link to comment Share on other sites More sharing options...
panosDelpaso Posted September 26, 2012 Share Posted September 26, 2012 Εχω την τελευταία εκδοση του prestashop και παλι αντιμετωπίζω το ιδιο προβλημα με τα pdf τα ελληνικα τα βγαζει ?????????? μπορεί κάποιος να βοηθήσει ?? Link to comment Share on other sites More sharing options...
spott3rgr Posted October 16, 2012 Share Posted October 16, 2012 (edited) Πήγαινε classes/pdf/pdfgenerator.php Στον κώδικα, βρες το παρακάτω (είναι στην αρχή) class PDFGeneratorCore extends TCPDF { const DEFAULT_FONT = 'freeserif'; και στη γραμμή 37 άλλαξε το helvetica σε freeserif και όλα θα εμφανίζονται μια χαρά. Edited October 16, 2012 by spott3rgr (see edit history) 1 Link to comment Share on other sites More sharing options...
Kogkalidis Posted November 17, 2012 Share Posted November 17, 2012 Λύθηκε αυτό.. Το test email όμως συνεχίζει να μου έρχεται στα σουαχίλι... :P Link to comment Share on other sites More sharing options...
vasileios fasolis Posted December 6, 2012 Share Posted December 6, 2012 και εμένα πλέον το πρόβλημά μου είναι τα ελληνικά το έχει λύσει κάποιος το πρόβλημα με τα e-mail? χρησιμοποιώ το 1.5.2 Link to comment Share on other sites More sharing options...
Kogkalidis Posted December 6, 2012 Share Posted December 6, 2012 και εμένα πλέον το πρόβλημά μου είναι τα ελληνικά το έχει λύσει κάποιος το πρόβλημα με τα e-mail? χρησιμοποιώ το 1.5.2 Όταν λες πρόβλημα τι ακριβώς; Δε στέλνει mail όταν έχεις ελληνικά; Στέλνει αλαμπουρνέζικα; Τι ακριβώς φίλε μου; Γίνε πιο συγκεκριμένος! Link to comment Share on other sites More sharing options...
vasileios fasolis Posted December 7, 2012 Share Posted December 7, 2012 καλημέρα φίλε μου το πρόβλημα είναι ότι όταν η σελ΄δια στέλνει e-mail στον πελάτη, ότι είναι στα ελληνικά βγαίνει με ????? είχα το ίδιο πρόβλημα και με τα pdf και φτιάχτηκε αλλάζοντας το font όπως λέει ο cirrus παραπάνω. η έκδοση που χρησιμοποιώ είναι η 1.5.2 Link to comment Share on other sites More sharing options...
tanasi Posted February 21, 2013 Share Posted February 21, 2013 (edited) Καλησπέρα, για κάποιο περίεργο λόγο και ενω δνε άλλαξα τπτ στο eshop γενικότερα ουτε έκανα κάποια αναβάθμιση (εχω ακόμα την 1.5.2) εξαφανίστηκαν οι ελληνικοί χαρακτήρες απο τα invoices. Αν γυρισω το const DEFAULT_FONT = 'freeserif'; σε helvetica μου εμφανίζει τα γνωστά "????????? ?????" Με το freeserif οπου έχει ελληνικούς χαρακτήρες βγαζει κενό. Καμια ιδέα κανείς? Τελικά ανακάλυψα οτι δεν βγάζει κενό αλλα βγαζει τους χαρακτήρες με το ίδιο χρώμα που έχει το background με συνέπεια να μην φαίνονται. Με copy paste απο το Pdf σε txt βλέπω το κείμενο κανονικα. new edit guys: Οταν ανοιγω το Pdf μέσα στο browser εχω αυτό το πρόβλημα. Οταν το ανοιγω σαν αρχείο ολα καλα.. Οποτε καταλήγω οτι εχει να κάνει ίσως με το plugin pdf reader που αφορά το browser.. Αυτα. Edited February 21, 2013 by tanasi (see edit history) Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now