source: spip-zone/_plugins_/convertisseur/trunk/spip-cli/pdf2img.php @ 95086

Last change on this file since 95086 was 95086, checked in by booz@…, 4 years ago

regler la compression ou le rognage des images converties pouvoir surcharger une conversion dans mes_fonctions

File size: 2.9 KB
Line 
1<?php
2
3/***
4
5        Convertir des fichiers PDF format JPG avec imagemagick convert.
6        Installer Image Magick pour que cela fonctionne. (brew install imagemagick sous Mac)
7       
8        Mettre un PDF dans conversion_spip/ et lancer la commande spip-cli  : spip pdf2img
9        Si votre PDF source est ailleurs ou si vous vouler mettre les images ailleurs, lancer la commande : spip pdf2img -s "path/to/pdf" -d "path/to/dest"
10
11*/
12
13
14use Symfony\Component\Console\Command\Command;
15use Symfony\Component\Console\Input\InputArgument;
16use Symfony\Component\Console\Input\InputInterface;
17use Symfony\Component\Console\Input\InputOption;
18use Symfony\Component\Console\Output\OutputInterface;
19
20class pdf2img extends Command {
21        protected function configure() {
22                $this
23                        ->setName('conversion:pdf2img')
24                        ->setDescription('Conversion d\'un PDF en images')
25                        ->setAliases(array(
26                                'pdf2img' // abbréviation commune pour ca
27                        ))
28                        ->addArgument(
29                'pdf',
30                InputArgument::OPTIONAL,
31                'PDF à convertir.',
32                ''
33            )                   
34                        ->addOption(
35                                'source',
36                                's',
37                                InputOption::VALUE_OPTIONAL,
38                                'Répertoire source',
39                                'conversion_spip'
40                        )
41                        ->addOption(
42                                'dest',
43                                'd',
44                                InputOption::VALUE_OPTIONAL,
45                                'Répertoire de destination',
46                                'conversion_spip'
47                        )
48                        ->addOption(
49                                'shave',
50                                'c',
51                                InputOption::VALUE_OPTIONAL,
52                                'Rogner avec -shave XxY',
53                                ''
54                        )
55                ;
56        }
57
58        protected function execute(InputInterface $input, OutputInterface $output) {
59                global $spip_racine;
60                global $spip_loaded;
61               
62                include_spip("iterateur/data");
63               
64                $source = $input->getOption('source') ;
65                $dest = $input->getOption('dest') ;
66                $shave = $input->getOption('shave') ;
67                $pdf = $input->getArgument('pdf');
68               
69                var_dump($shave);
70               
71                if ($spip_loaded) {
72                        chdir($spip_racine);
73
74                        if (!function_exists('passthru')){
75                                $output->writeln("<error>Votre installation de PHP doit pouvoir exécuter des commandes externes avec la fonction passthru().</error>");
76                        }
77                        // Si c'est bon on continue
78                        else{
79                                $output->writeln("<info>C'est parti pour une petite conversion de PDF en images !</info>");
80                               
81                                # Conversion d'un pdf  ?
82                                if($pdf !== ""){
83                                        $output->writeln("<info>conversion de $pdf dans $dest/</info>");
84
85                                        // var_dump('plugins/convertisseur/scripts/pdf2img.sh ' . "$pdf" . ' ' . $dest  . ' ' . $shave);
86                                       
87                                        // Conversion imagemagick
88                                        passthru('plugins/convertisseur/scripts/pdf2img.sh ' . "$pdf" . ' ' . $dest  . ' ' . $shave);
89
90                                }else{ 
91                                        $fichiers_pdf = preg_files($source . "/", "\.pdf$");
92                                       
93                                        $output->writeln("<info>" . sizeof($fichiers_pdf) . " PDF(s) à convertir dans $source/</info>");
94       
95                                        foreach($fichiers_pdf as $f){
96                                                // Conversion imagemagick
97                                                passthru('plugins/convertisseur/scripts/pdf2img.sh ' . $f . ' ' . $dest);
98                                        }
99                                }
100                        }
101                }
102                else{
103                        $output->writeln('<error>Vous n’êtes pas dans une installation de SPIP. Impossible de convertir le texte.</error>');
104                }
105        }
106}
Note: See TracBrowser for help on using the repository browser.