Bonjour,
Voila je rencontre un petit problème avec mon code.
je veux charcher la librairie tcpdf depuis mon layout du plugin Administration il se trouve dans le repertoire
localhost/monprojet/plugins/Administration/Lib/PDF
require_once ROOT . DS.'plugins'. DS.'Administration' .DS. 'Lib' . DS .'PDF' . DS;
que le repertoire soit charger dans mon layout
failed to open stream: Permission denied [ROOT\plugins\Administration\src\Template\Layout\pdf\default.ctp, line 4]
Je suis sur windows et je ne sais pas comment faire pour ajouter ces permissions
cordialement
Es-tu sur d'avoir renseigné la constante "ROOT" ? Je suis étonné de l'url en erreur "ROOT\plugins"
Renseigner comment? voila ce que je fais
require_once ROOT . DS.'plugins'. DS.'Administration' .DS. 'Lib' . DS .'PDF' . DS;
Bonjour.
Il y a un gros problème dans ta ligne de code.
Car require
, include
et leurs dérivés permettent de charger un fichier, sauf que toi tu donnes seulement un chemin vers un répertoire/dossier.
Donc ton require_once
ne doit pas se terminer par un DS
, mais par un fichier.
Merci j'ai fait ce constat sauf que d'après ce tutos lien
je ne comprends pas comment l'auteur dit que cela fonctionne or que moi j'y arrive pas
Parce que tu n'as pas vu la fin de la ligne :
// inclusion de la librairie TCPDF require_once ROOT . DS . 'vendor' . DS . 'tecnick.com' . DS . 'tcpdf' . DS . 'tcpdf.php';
Regardes bien en bas des cadres de code, tu as un ascenseur.
Aussi une dernière question, j'ai ma bibliothèque html2pdf qui se trouve dans le repertoire src/lib de mon projet j'aimerai charger son fichier html2pdf.php depuis mon layout qui se trouve dans mon plugin Administration/src/Template/Layout/default.ctp
comment j'y procède? SVP
Non mon appliest avec la V3 de cake, la V2 concernait un prlobème posé par un membre ici et dont je donnais des pistes. Moi mon Appliest fait avec cakephp3,
mon soucis est que je veux générer mes documents en pdf sans passer par un plugin, mais en utilisant la librairie html2pdf.
d'après mes recherches, j'ai téléchargé la librairie et transférer dans src/Lib/html2pdf.
étant dans mon plugin, Administration, j'aimerai charger la librairie dans mon layout d'ou mon problème
Il te suffit de mettre dans le layout de ton plugin :
require_once APP . 'lib' . DS /** suite du chemin avec le fichier à charger **/;
c'est ce que je fait depuis sauf voila le message d'erreur
Warning (2): fopen(file://F:\wamp64\www\myproject\src\files\pdf.pdf) [<a href='https://secure.php.net/function.fopen'>function.fopen</a>]: failed to open stream: No such file or directory [APP/Lib\tcpdf\include\tcpdf_static.php, line 2440]
par contre dans le dans le src/Lib/tcpdf/include/ j'ai bien le fichier tcpdf_static.php
L'erreur retourne qu'il n'est pas possible d'ouvrir le fichier pdf.pdf qui devrait se trouver dans src/files.
Il n'est à aucun moment dit dans l'erreur qu'il n'arrive pas à ouvrir le fichier __tcpdf_static.php__.
Merci @Lartak, j'ai pu intégré mes fichiers dans mon plugin mais j'ai un autre soucis en effet dans mon layout /pdf/export.ctp, j'ai ceci:
<?php
header("Content-type: application/pdf");
require_once APP . 'Lib'. DS . 'html2pdf'. DS . 'tcpdf' . DS . 'tcpdf.php';
require_once APP . 'Lib'. DS . 'html2pdf'. DS . 'tcpdf' . DS . 'tcpdf_autoconfig.php';
require_once APP . 'Lib'. DS . 'html2pdf'. DS . 'tcpdf' . DS . 'tcpdf_barcodes_1d.php';
require_once APP . 'Lib'. DS . 'html2pdf'. DS . 'tcpdf' . DS . 'tcpdf_import.php';
require_once APP . 'Lib'. DS . 'html2pdf'. DS . 'tcpdf' . DS . 'config'. DS .'tcpdf_config.php';
require_once APP . 'Lib'. DS . 'html2pdf' . DS . 'html2pdf.php';
require_once APP . 'Lib'. DS . 'html2pdf' . DS . 'HTML2PDF_locale.php';
require_once APP . 'Lib'. DS . 'html2pdf' . DS . 'HTML2PDF_myPdf.php';
require_once APP . 'Lib'. DS . 'html2pdf' . DS . 'HTML2PDF_exception.php';
require_once APP . 'Lib'. DS . 'html2pdf' . DS . 'HTML2PDF_parsingCss.php';
require_once APP . 'Lib'. DS . 'html2pdf' . DS . 'HTML2PDF_parsingHtml.php';
$pdf = new HTML2PDF('P', 'A4', 'fr', true, 'UTF-8', array(0, 0, 0, 0));
$pdf->pdf->SetDisplayMode('fullpage');
$pdf->writeHTML($this->fetch('content'));
$pdf->Output(APP . 'src' . DS . 'Lib' . DS . 'd.pdf', 'I');
?>
et dans ma vue impressions/pdf/export.ctp j'ai ceci
texte à afficheé
dans mon action export de mon controller impressions j'ai ceci
public function export()
{
$this->response->type('pdf');
return $this->response;
}
lorsque j'execute l'action export, le navigateur m'afiche une tentative d'affichage de page pdf avec un message du genre :
il est possible que ce document ne s'affiche pas correctement
la je ne comprends pas SVP