meillo@0:
meillo@0:
meillo@0:
meillo@0: PDF concat and detextify
meillo@0:
meillo@0:
meillo@0:
meillo@0:
meillo@0: PDF concat and detextify
meillo@0:
meillo@0: &1 >%s", PDFDETEXTIFY, $file, $newfile);
meillo@0: system($cmd);
meillo@0: return $newfile;
meillo@0: }
meillo@0:
meillo@0:
meillo@0: function
meillo@0: concatpdfs($files)
meillo@0: {
meillo@0: $newfile = sprintf("%s/%s/%s.pdf", dirname(__FILE__), UPLOADDIR,
meillo@0: date('Y-m-d_H-i-s'));
meillo@0: $cmd = sprintf("%s %s 2>&1 >%s", PDFCONCAT, implode(' ', $files),
meillo@0: $newfile);
meillo@0: system($cmd);
meillo@0: foreach ($files as $file) {
meillo@0: unlink($file);
meillo@0: }
meillo@0: return sprintf("%s/%s", UPLOADDIR, basename($newfile));
meillo@0: }
meillo@0:
meillo@0:
meillo@0: function
meillo@0: procfiles()
meillo@0: {
meillo@0: $date = date("Y-m-d H:i:s");
meillo@0: $ip = $_SERVER['REMOTE_ADDR'];
meillo@0: $files = array();
meillo@0: foreach ($_FILES as $key => $val) {
meillo@0: if ($val['error'] == UPLOAD_ERR_NO_FILE) {
meillo@0: continue;
meillo@0: }
meillo@0: if ($val['error'] > 0) {
meillo@0: echo "Errors in transferring $val[name]. Skipping.\n";
meillo@0: echo "($val[error])\n";
meillo@0: continue;
meillo@0: }
meillo@0: if (isset($_POST[$key.'detextify']) && $_POST[$key.'detextify'] == 'on') {
meillo@0: $files[] = detextify($val['tmp_name']);
meillo@0: } else {
meillo@0: $files[] = $val['tmp_name'];
meillo@0: }
meillo@0: }
meillo@0: $newfile = concatpdfs($files);
meillo@0: // log
meillo@0: $logmsg = sprintf("[%s] %s creates `%s'\n", $date, $ip, $newfile);
meillo@0: file_put_contents(LOGFILE, $logmsg, FILE_APPEND);
meillo@0:
meillo@0: return $newfile;
meillo@0:
meillo@0: }
meillo@0:
meillo@0:
meillo@0: // main()
meillo@0:
meillo@0: if (isset($_POST['submit'])) {
meillo@0: echo '';
meillo@0: $outfile = procfiles();
meillo@0: echo '
';
meillo@0: echo '
';
meillo@0: echo '';
meillo@0: echo '
';
meillo@0: }
meillo@0:
meillo@0: ?>
meillo@0:
meillo@0:
meillo@0:
meillo@0: This webservice concatenates PDF files and optionally converts their
meillo@0: text to bitmaps.
meillo@0:
meillo@0:
meillo@0: The files are stored temporary on the webserver. The detextification
meillo@0: function modifies them. Use this service only of you have the
meillo@0: appropriate rights on the files.
meillo@0:
meillo@0:
meillo@0:
meillo@0:
meillo@0:
meillo@0: