Concactener des PDF

Mammouth du PHP | 965 Messages

09 nov. 2007, 13:17

Code : Tout sélectionner

cd c:\mbtPdfAsm.exe -mhttp://localhost/mypdf1.pdf;http://localhost/mypdf2.pdf -oO -as -NouveauPdf.pdf
:D

Bon bah retires moi ces http://localhost/ et travailles avec des fichiers en local et des chemins d'accès en relatif (ou éventuellement en absolu depuis la racine de ton serveur...)
Demander de concaténer des fichiers en donnant leur url, c'est quand même en demandé beaucoup je pense à un petit utilitaire gratuit ;-)
Avec les chemins direct c'est la même chose finalement j'ai utiliser la librairie FPDF pour utiliser cette fonction que je recommande :
class concat_pdf extends FPDI {

    var $files = array();

    function setFiles($files) {
        $this->files = $files;
    }

    function concat() {
        foreach($this->files AS $file) {
            $pagecount = $this->setSourceFile($file);
            for ($i = 1; $i <= $pagecount; $i++) {
                 $tplidx = $this->ImportPage($i);
                 $s = $this->getTemplatesize($tplidx);
                 $this->AddPage($s['h'] > $s['w'] ? 'P' : 'L');
                 $this->useTemplate($tplidx);
            }
        }
    }
		}

$pdf =& new concat_pdf();
$pdf->setFiles(array("../**/".$_GET['list'][1], "../**/".$_GET['list'][2]));
$pdf->concat();
Bon ouf il me creer bien un fichier lorsque je rentre manuellement les chemins trouvé dans les $_GET.


En fait je fais tout passer par un formulaire et je renvois le chemin des fichiers a concaténer en url par un GET, par exemple $_GET['list'] est mon tableau contenant chacun un chemin different.

Et je voudrais que la fonction setFiles(array()) puisse contenir tout les $_GET['list'] j'ai tenter de mettre des boucles foreach ou for pour faire en sorte qu'il les affiche tous mais il ya un probleme de synthaxe, tu m'étonne un foreach dans un array ca marche pas trop.

Comment est ce que je peux faire en sorte qu'il prenne directement le tableau en $_GET j'ai tenter de faire
$pdf->setFiles($_GET['list']);
mais il ne semble pas accepter ce tableau ... une idée ?

Mammouth du PHP | 965 Messages

09 nov. 2007, 14:24

j'ai résolu le probleme du tableau comme ca :
class concat_pdf extends FPDI {

    var $files = array();

    function setFiles($files) {
        $this->files = $files;
    }

    function concat() {
        foreach($this->files AS $file) {
            $pagecount = $this->setSourceFile($file);
            for ($i = 1; $i <= $pagecount; $i++) {
                 $tplidx = $this->ImportPage($i);
                 $s = $this->getTemplatesize($tplidx);
                 $this->AddPage($s['h'] > $s['w'] ? 'P' : 'L');
                 $this->useTemplate($tplidx);
            }
        }
    }
		}



$pdf =& new concat_pdf();

$Count_list = count($_GET['list']);
for($i = 0; $i < $Count_list; $i++){ 
$array = array("../**/".$_GET['list'][$i]);
}
$pdf->setFiles($array);
$pdf->concat();

$pdf->Output("PdfProgramme_".$_SESSION['login']."_".$_GET['Id'].".pdf", "D");
Donc maintenant il me genere bien un PDF youpi \o/

sauf que ...

les pdf sont vides et qu'il me marque a l'ouverture :
XObject introuvable: TPL1.
Qu'est ce qu'un XObject ?

:roll:

Mammouth du PHP | 965 Messages

09 nov. 2007, 16:26

Le fichier pese bien la bonne taille et recupere bien le nombre de pages total mais il m'affiche uniquement des pages blanches avec comme erreur l'XObject, je vois pas trop le rapport avec un script JAVA la dedans, enfin si vous avez une piste....

ViPHP
ViPHP | 4674 Messages

10 nov. 2007, 14:46

Avec quel programme visualises-tu ton PDF ?
« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

Hoa : http://hoa-project.net (sur @hoaproject).

Mammouth du PHP | 965 Messages

10 nov. 2007, 22:43

Avec quel programme visualises-tu ton PDF ?
Adobe acrobat reader.

ViPHP
ViPHP | 4674 Messages

10 nov. 2007, 22:58

Et ça va c'est pas trop long :lol: ? Essaye avec un truc programme pour voir. Sur Windows tu dois avoir Foxit Reader (j'imagines que tu es sous Windows puisque Acrobat) qui est gratuit. Tentes avec ce logiciel (moins capricieux normalement).
« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

Hoa : http://hoa-project.net (sur @hoaproject).

Mammouth du PHP | 965 Messages

10 nov. 2007, 23:02

Et ça va c'est pas trop long :lol: ? Essaye avec un truc programme pour voir. Sur Windows tu dois avoir Foxit Reader (j'imagines que tu es sous Windows puisque Acrobat) qui est gratuit. Tentes avec ce logiciel (moins capricieux normalement).
Merci je vais tester avec ce logiciel :)

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

11 nov. 2007, 00:53

Et ça va c'est pas trop long :lol: ?
La dernière version d'Adobe Reader (8.1.1) est beaucoup beaucoup plus rapide que les précédentes (c'est ce qui m'a fait revenir d'ailleurs de FocIt à Adobe Reader :-) )
Quand tout le reste a échoué, lisez le mode d'emploi...

ViPHP
ViPHP | 4674 Messages

11 nov. 2007, 12:31

Ah ? Probable alors :). Au temps pour moi. Mais même si sont plus rapides que les précédentes versions, ils doivent rester long tout même.

Mes lecteurs PDF : Aperçu, et QuickLook ^^. C'est assez rapide ;-).
« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

Hoa : http://hoa-project.net (sur @hoaproject).