En visitant ce site, vous acceptez l'utilisation de cookies afin de vous proposer les meilleurs services possibles.

Imprimer sa commande en PDF

  • studio42
  • Portrait de studio42
  • Hors Ligne
  • Modérateur
  • Modérateur
  • Dev Joomla & Virtuemart
Plus d'informations
il y a 10 ans 2 heures #31 par studio42
Réponse de studio42 sur le sujet Imprimer sa commande en PDF
Les fichiers sont les même que l'affichage normal. Donc faites un overide de vos fichiers default.
Voir www.st42.fr/astuce-joomla/29-surcharge-joomla-3 pour faire un overide

www.st42.fr Truc et astuce Joomla et virtuemart
shop.st42.fr téléchargement Joomla et extension pour virtuemart
Gratuit ! Nettoyage des medias : shop.st42.fr/fr/produits/virtuemart-netoyage-des-medias.htm Nouveau!

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 10 ans 2 heures #32 par vsmc
Réponse de vsmc sur le sujet Imprimer sa commande en PDF
pour le panier j'ai effectivement fait un override du fichier default
mais si je desire que certaines choses visibles sur la page web ne soient pas affiché sur le pdf comment dois je faire ?

par exemple si je ne veux pas que les boutons soient affichés si je modifie le fichier default ils ne seront plus visible ni sur le site ni sur le pdf.

Que me conseillez-vous ?.

Connexion ou Créer un compte pour participer à la conversation.

  • studio42
  • Portrait de studio42
  • Hors Ligne
  • Modérateur
  • Modérateur
  • Dev Joomla & Virtuemart
Plus d'informations
il y a 10 ans 1 heure #33 par studio42
Réponse de studio42 sur le sujet Imprimer sa commande en PDF
Il faut vérifier la valeur format
par exemple en debut de fichier dans le default.php :
$this->isPDF = JFactory::getApplication()->input->getString('format') === 'pdf';
aprés
if($this->isPDF) {
//votre code pour le PDF
} else {
//votre code si pas un PDF
}

www.st42.fr Truc et astuce Joomla et virtuemart
shop.st42.fr téléchargement Joomla et extension pour virtuemart
Gratuit ! Nettoyage des medias : shop.st42.fr/fr/produits/virtuemart-netoyage-des-medias.htm Nouveau!

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 9 ans 11 mois #34 par vsmc
Réponse de vsmc sur le sujet Imprimer sa commande en PDF
Impossible de modifier l'aperçu du pdf
j'obtiens erreurs sur erreurs

merci en tout cas pour le patch
Si vous avez d'autres idées pour que mon rendu pdf puisse être différent de la page affiche je prend ;-)
comme par exemple avoir le logo affiché mais pas tout le header.

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 9 ans 11 mois #35 par vsmc
Réponse de vsmc sur le sujet Imprimer sa commande en PDF
Lorsque la page en pdf est générée il y a bien des critères définis pour la largueur des marges par exemple ou pour la taille de la police.
Pouvez-vous me dire ou je peux trouver cela ?

par exemple dans mon template la H1 est en uppercase et lorsque je passe la page au format PDF la H1 est devenu lowercase de même que la police à l'ecran et sur le PDF ne sont pas même
Ou puis-je trouver ces données afin de les changer ?

J'avoue ne pas comprendre ce qui se passe lorsque j'ajoute le fameux format=pdf à la fin de l'url donc il est difficile pour moi de trouver comment adapter mon rendu pdf au mieux

merci d'avance pour votre aide précieuse

Connexion ou Créer un compte pour participer à la conversation.

  • studio42
  • Portrait de studio42
  • Hors Ligne
  • Modérateur
  • Modérateur
  • Dev Joomla & Virtuemart
Plus d'informations
il y a 9 ans 11 mois #36 par studio42
Réponse de studio42 sur le sujet Imprimer sa commande en PDF
Le format=pdf utilise la vue normal, donc les fichiers default.php.
SI vous n'avez pas de connaissance sur le format pdf et voulez utiliser tcpdf, il faudra apprendre, car c'est assez comple sans aucune connaissance de modifier un rendu PDF. Calculez quelques heures, même si vous êtes un pro.
SI vous avez des erreurs alors il faut afficher les erreurs PHP et comprendre PHP.
Si vous avez besoin de mes services. Visitez la page shop.st42.fr/fr/support-virtuemart-et-joomla.htm, le tarif est pour 2 heures ou moins.
Quelques liens pour comprendre les diférences entre le PDF: www.tcpdf.org/examples.php
Pour le PHP, vous trouvez pleins de site avec tuto et doc ;)

www.st42.fr Truc et astuce Joomla et virtuemart
shop.st42.fr téléchargement Joomla et extension pour virtuemart
Gratuit ! Nettoyage des medias : shop.st42.fr/fr/produits/virtuemart-netoyage-des-medias.htm Nouveau!

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 9 ans 11 mois #37 par vsmc
Réponse de vsmc sur le sujet Imprimer sa commande en PDF
Bonjour,

Une question par rapport à votre addon
Je souhaite ajouter un logo dans le header j'ai bien compris qu'il fallait que je définisse la variable
var $header_logo = '';
mais comment je dois faire pour faire apparaître une image qui se trouve dans mon répertoire image à la racine du site ?

Pouvez-vous m'aider sur ce point ou me renvoyer vers un tuto qui me permettrait d'apprendre comment obtenir l'affichage du logo comme dans l'exemple de tcpdf.org :
http://www.tcpdf.org/examples/example_001.pdf

merci d'avance pour votre aide

Connexion ou Créer un compte pour participer à la conversation.

  • studio42
  • Portrait de studio42
  • Hors Ligne
  • Modérateur
  • Modérateur
  • Dev Joomla & Virtuemart
Plus d'informations
il y a 9 ans 11 mois #38 par studio42
Réponse de studio42 sur le sujet Imprimer sa commande en PDF
Pour un site Joomla :
$headerlogo = juri::root().'images/votrelogo.jpg';
C'est pas un soucis de vous aider, mais je vous dit que il y en à pour plusieurs heures et que si vous voulez le faire par vous même,il faudra d'abord apprendre un peu PHP,tcpdf et Joomla, sinon vous y serais encore certainement dans quelques jours.

Pur ajouter le logo en utilisant ma librairies PDF.
$doc = JFactory::getDocument();
$doc->set('header_logo',JPATH_SITE.'/images/votrelogo.jpg');

Voila les principaux paramétres modifiable par cette méthode :
	var $_name		= 'joomla';

	var $_header	= null;
	var $_headerContent = null;
	var $_header_font = 'courier';
	var $_footer_font = 'courier';

	var $_margin_header	= 5;
	var $_margin_footer	= 5;
	var $_margin_top	= 20;
	var $_margin_bottom	= 10;
	var $_margin_left	= 5;
	var $_margin_right	= 5; 
	// Destination where to send the document.
	var $_destination = "S";
	
	// file path to save the PDF.
	var $_pdfFilepath ='';
	// Scale ratio for images [number of points in user unit]
	var $_image_scale	= 4;

	// header values
	var $header_logo = '';
	var $header_title = '';
	var $header_string = '';
	var $header_text_color = '';
	var $header_line_color = '';
	
	var $orientation = 'P';
	var $unit = 'mm';

Et certains autres

www.st42.fr Truc et astuce Joomla et virtuemart
shop.st42.fr téléchargement Joomla et extension pour virtuemart
Gratuit ! Nettoyage des medias : shop.st42.fr/fr/produits/virtuemart-netoyage-des-medias.htm Nouveau!

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 9 ans 11 mois #39 par vsmc
Réponse de vsmc sur le sujet Imprimer sa commande en PDF
Oui je sais que cela va prendre un peu de temps, j'ai des notions de php et je connais joomla donc je pense que je peux y arriver bon évidemment avec votre aide ça irait plus vite c'est sur.

Merci pour votre réponse. SI j'ai tout bien compris je met

$doc = JFactory::getDocument();
$doc->set('header_logo',JPATH_SITE.'/images/votrelogo.jpg');
au debut du fichier pdf.php
et je modifie le parametre var $header_logo = '';
par $header_logo = juri::root().'images/votrelogo.jpg';
c'est bien cela ?
Parce que je dois faire quelque chose d'incorrect car j'ai une erreur et mon log d'erreur php me dit
[31-Mar-2016 19:26:00 Europe/Paris] PHP Parse error:  syntax error, unexpected '(', expecting ',' or ';' 
in C:\wamp\www\site\libraries\joomla\document\pdf\pdf.php on line 57

[31-Mar-2016 19:26:00 Europe/Paris] PHP Stack trace:

[31-Mar-2016 19:26:00 Europe/Paris] PHP   1. {main}() C:\wamp\www\site\index.php:0

[31-Mar-2016 19:26:00 Europe/Paris] PHP   2. JApplicationCms->execute() C:\wamp\www\site\index.php:45

[31-Mar-2016 19:26:00 Europe/Paris] PHP   3. JApplicationSite->doExecute() C:\wamp\www\site\libraries\cms\application\cms.php:252

[31-Mar-2016 19:26:00 Europe/Paris] PHP   4. JApplicationSite->route() C:\wamp\www\site\libraries\cms\application\site.php:215

[31-Mar-2016 19:26:00 Europe/Paris] PHP   5. JApplicationCms->route() C:\wamp\www\site\libraries\cms\application\site.php:763

[31-Mar-2016 19:26:00 Europe/Paris] PHP   6. JApplicationBase->triggerEvent() C:\wamp\www\site\libraries\cms\application\cms.php:1098

[31-Mar-2016 19:26:00 Europe/Paris] PHP   7. JEventDispatcher->trigger() C:\wamp\www\site\libraries\joomla\application\base.php:106

[31-Mar-2016 19:26:00 Europe/Paris] PHP   8. JEvent->update() C:\wamp\www\site\libraries\joomla\event\dispatcher.php:160

[31-Mar-2016 19:26:00 Europe/Paris] PHP   9. call_user_func_array:{C:\wamp\www\site\libraries\joomla\event\event.php:69}() 
C:\wamp\www\site\libraries\joomla\event\event.php:69

[31-Mar-2016 19:26:00 Europe/Paris] PHP  10. PlgSystemSef->onAfterRoute() C:\wamp\www\site\libraries\joomla\event\event.php:69

[31-Mar-2016 19:26:00 Europe/Paris] PHP  11. JFactory::getDocument() C:\wamp\www\site\plugins\system\sef\sef.php:29

[31-Mar-2016 19:26:00 Europe/Paris] PHP  12. JFactory::createDocument() C:\wamp\www\site\libraries\joomla\factory.php:216

[31-Mar-2016 19:26:00 Europe/Paris] PHP  13. JDocument::getInstance() C:\wamp\www\site\libraries\joomla\factory.php:739

donc j'ai une erreur à la ligne 57 du fichier pdf.php ou j'ai écris var $header_logo = juri::root().'images/votrelogo.jpg';


En fait sur mon PDF final il me manque à (voir image jointe):
1- ajouter un logo dans le header
2- gérer la hauteur des lignes dans le texte qui est bien trop grande (elle est correcte dans le tableau)
3- supprimer l'apparition de plusieurs // // // // en bas de la page
4- faire en sorte que le "imprimer la page" en bas de page n'apparaisse pas sur le PDF

Combien de temps vous faudrait-il pour faire cela ?
Pièces jointes :

Connexion ou Créer un compte pour participer à la conversation.