define('DB_NAME', 'extranet');\r
define('DB_USER', 'root');\r
define('DB_PASSWORD', 'valparaiso');\r
- define('DEV',true);\r
+ define('DEV', true);\r
+ define('WINDOWS',true);\r
+ define('FONT_PATH', 'C:/Windows/Fonts');\r
\r
if (in_array($_SERVER['HTTP_HOST'], $localrel)) {\r
define('WEBROOT', '/cubeExtranet');\r
define('WEBROOT', '');\r
define('SITE_PATH', WEBROOT . '/');\r
}\r
-\r
- $tools = ROOT . '/../inc/tools/';\r
} else {\r
// Définition des variables dans l'environnement de production\r
define('DB_HOST', 'localhost');\r
define('DB_NAME', 'extranet');\r
define('DB_USER', 'ws');\r
define('DB_PASSWORD', 'atacama');\r
-\r
define('WEBROOT', '');\r
define('SITE_PATH', WEBROOT . '/');\r
\r
define('FTPROOT', '/usb/ftpextranet/');\r
- define('DEV',false);\r
+ define('DEV', false);\r
+ define('WINDOWS',false);\r
}\r
\r
if (in_array($_SERVER['HTTP_HOST'], $ws)) {\r
protected $log;\r
protected $log_pointer;\r
protected $infos;\r
+ protected $textes;\r
\r
protected $pages;\r
\r
$pdfinfo->execute();\r
$this->addToLog($pdfinfo);\r
\r
- file_put_contents($this->infos, $pdfinfo->output);\r
+ $pdftk = new cubeCommandLine('pdftk', null, true);\r
+ $pdftk->setArg(null, $this->in);\r
+ $pdftk->setArg(null, 'dump_data');\r
+ $pdftk->execute();\r
+ $this->addToLog($pdftk);\r
+\r
+ file_put_contents($this->infos, $pdfinfo->output . $pdftk->output);\r
}\r
\r
public function getTexts()\r
{\r
- echo 'pdftotext';\r
$pdftotext = new cubeCommandLine('pdftotext', null, true);\r
$pdftotext->setArg('q');\r
$pdftotext->setArg('f', 1);\r
\r
public function makeThumbs()\r
{\r
+ $this->makeShotPNM();\r
+ }\r
+\r
+ public function makeShotGS($resolution = 72, $quality = 90)\r
+ {\r
+ // Fabrication des thumbanails avec ghostscript\r
+ $gs = new cubeCommandLine('gs', null, true);\r
+ // $gs->setEnv('GS_FONTPATH', '/home/typo/fonts');\r
+ $gs->setArg('-dBATCH');\r
+ $gs->setArg('-dNOPAUSE');\r
+ $gs->setArg('-dNOPROMPT');\r
+ $gs->setArg('-sDEVICE=jpeg');\r
+ $gs->setArg('-dUseCIEColor');\r
+ $gs->setArg('-r' . $resolution);\r
+ $gs->setArg('-dJPEGQ=' . $quality);\r
+ // if (!$crop) {\r
+ // $gs->setArg('-dUseCropBox');\r
+ // }\r
+ $gs->setArg('-sOutputFile=' . $this->out . '/te%d.jpg');\r
+ $gs->setArg('-dAutoRotatePages=/None');\r
+ $gs->setArg(null, $this->in);\r
+ $gs->execute();\r
+ $this->addToLog($gs);\r
}\r
\r
- public function addToLog($cl)\r
+ public function makeShotPNM($resolution = 72, $quality = 90)\r
{\r
- $c = '---' . "\n" . $cl->commande . "\n\n" . $cl->output . "\n--\n";\r
+ // Exporte les fichiers\r
+ $pdftoppm = new cubeCommandLine('pdftoppm', null, true);\r
+ $pdftoppm->setArg('f', 1);\r
+ $pdftoppm->setArg('l', 10000);\r
+\r
+ $pdftoppm->setArg('-freetype yes');\r
+ $pdftoppm->setArg('-aa yes');\r
+ $pdftoppm->setArg('-aaVector yes');\r
+ if (!WINDOWS) {\r
+ $pdftoppm->setArg('-t1lib yes');\r
+ }\r
+ $pdftoppm->setArg('r', $resolution);\r
+ $pdftoppm->setArg(null, $this->in);\r
+ $pdftoppm->setArg(null, $this->out . 'ppm');\r
+ $pdftoppm->execute();\r
+ $this->addToLog($pdftoppm);\r
+\r
+ for($i = 1;true;$i++) {\r
+ $ppmfile = $this->out . 'ppm-' . cubeMath::fill($i, 6) . '.ppm';\r
+ $jpegfile = $this->out . 'te' . $i . '.jpg';\r
+ if (!file_exists($ppmfile)) {\r
+ break;\r
+ }\r
+ $pnmtojpeg = new cubeCommandLine('pnmtojpeg', $jpegfile, false);\r
+ $pnmtojpeg->setArg('-quality=' . $quality);\r
+ $pnmtojpeg->setArg('-density=' . $resolution . 'x' . $resolution . 'dpi');\r
+ $pnmtojpeg->setManualArg($ppmfile);\r
+ $pnmtojpeg->execute();\r
+\r
+ $this->addToLog($pnmtojpeg, false);\r
+ }unlink($ppmfile);\r
+ }\r
+ }\r
+\r
+ public function addToLog($cl, $output = true)\r
+ {\r
+ $c = '---' . "\n" . $cl->commande . "\n\n";\r
+ if ($output) {\r
+ $cl->output . "\n\n";\r
+ }\r
fwrite($this->log_pointer, $c);\r
}\r
\r