kiki2sirom
Messages postés153Date d'inscriptionmardi 17 août 2004StatutMembreDernière intervention23 décembre 2010
-
17 janv. 2008 à 10:49
ecrins38000 -
27 juin 2015 à 15:22
salut à la communauté
j'ai une interrogation :
* quelle serait la meilleure solution pour pouvoir, en cliquant sur un bouton, imprimer à la suite 1 ou plusieurs PDF se trouvant déjà sur le serveur ?
est-il posible de le faire sans ouvrir les PDF ?
sinon est-ce plutôt possible en les ouvrant en background ?
est-ce possible en lançant l'impression sans ouvrir la fenêtre d'impression classique ?
une classe d'impression existerait-elle pour ce faire ?
...
en gros je cherche une solution pour un client où celui-ci clique sur un icône qui va imprimer un ou plusieurs fichiers PDF qui se trouve sous htdocs..../pdf/... : solution idéale, donc une solution la plus transparente possible pour le client
class PDF extends PDF_Javascript
{
function Pointille($x1=0,$y1=0,$x2=210,$y2=297,$epaisseur=0.2,$nbPointilles=50)
{
$this->SetLineWidth($epaisseur);
$longueur=abs($x1-$x2);
$hauteur=abs($y1-$y2);
if($longueur>$hauteur) {
$Pointilles=($longueur/$nbPointilles)/2; // taille des pointilles
}
else {
$Pointilles=($hauteur/$nbPointilles)/2;
}
for($i=$x1;$i<=$x2;$i+=$Pointilles+$Pointilles) {
for($j=$i;$j<=($i+$Pointilles);$j++) {
if($j<=($x2-1)) {
$this->Line($j,$y1,$j+1,$y1); // on trace le pointillé du haut, point par point
$this->Line($j,$y2,$j+1,$y2); // on trace le pointillé du bas, point par point
}
}
}
for($i=$y1;$i<=$y2;$i+=$Pointilles+$Pointilles) {
for($j=$i;$j<=($i+$Pointilles);$j++) {
if($j<=($y2-1)) {
$this->Line($x1,$j,$x1,$j+1); // on trace le pointillé du haut, point par point
$this->Line($x2,$j,$x2,$j+1); // on trace le pointillé du bas, point par point
}
}
}
}
function AutoPrint($dialog=false)
{
//Lance la boîte d'impression ou imprime immediatement sur l'imprimante par défaut
$param=($dialog ? 'true' : 'false');
$script="print($param);";
$this->IncludeJS($script);
}
function AutoPrintToPrinter($server, $printer, $dialog=false)
{
//Imprime sur une imprimante partagée (requiert Acrobat 6 ou supérieur) $script "var pp getPrintParams();";
if($dialog) $script ."pp.interactive pp.constants.interactionLevel.full;";
else $script ."pp.interactive pp.constants.interactionLevel.automatic;"; $script ."pp.printerName '\\\\\\\".$server."\\\".$printer."';";
$script .= "print(pp);";
$this->IncludeJS($script);
}