/**
  * Retorna DocumentoImagem Anterior ou Null
  * @return DocumentoImagemAbstract
  */
 protected function _hasPreviousFile()
 {
     try {
         return DocumentoImagemFactory::factory($this->_digital);
     } catch (\Exception $exc) {
         return null;
     }
 }
Exemplo n.º 2
0
<?php

use Documento\Imagem, Documento\Imagem\IDocumentoImagem;
$documentoImagemAgg = Imagem\DocumentoImagemFactory::factory($_REQUEST['digital']);
$imagesToRead = $documentoImagemAgg->getImagesToRead(array($_REQUEST['page']));
$imagesToRead[0]->show();
/* ------------------------------------------ */
/* this is where regular request code goes.. */
$response = null;
if (isset($_FILES)) {
    //&& count($_FILES)
    try {
        $fileDigitais = array('name' => $_FILES['files']['name'][0], 'type' => $_FILES['files']['type'][0], 'tmp_name' => $_FILES['files']['tmp_name'][0], 'error' => $_FILES['files']['error'][0], 'size' => $_FILES['files']['size'][0]);
        /**
         * Utilizada criação de objeto concreto por ser permitido somente o
         * upload de arquivos PDF. Caso seja liberado para outros tipos, 
         * utilizar fábrica para criação de objetos.
         */
        $session = \Session::get('_upload');
        $digital = $session['digital'];
        //Crio documento Imagem Anterior para qualquer tipo de conversão de passivo necessária
        $documentoImagemAnterior = \Documento\Imagem\DocumentoImagemFactory::factory($digital);
        $documentoImagemNovo = new \Documento\Imagem\DocumentoImagemPDF();
        $documentoImagemNovo->upload($fileDigitais);
        // Make Result
        $response = array('name' => $_FILES['files']['name'][0], 'size' => $_FILES['files']['size'][0], 'type' => $_FILES['files']['type'][0], 'status' => 'success');
    } catch (Exception $e) {
        // Make Result
        $response = array('name' => $_FILES['files']['name'][0], 'size' => $_FILES['files']['size'][0], 'type' => $_FILES['files']['type'][0], 'error' => $e->getMessage());
    }
} else {
    $response = array('name' => 'Não existe', 'size' => '0 KB', 'type' => 'Não existe', 'error' => "Não foi possível efetuar o Upload");
}
// Print Result
print '[' . json_encode($response) . ']';
/* end where regular request code runs..     */
/* ------------------------------------------ */
Exemplo n.º 4
0
    $documentoImagemAgg->getPDF()->show();
}
//Se for um processo, precisamos realizar um merge dos PDFs
//@todo refazer em classe apropriada
if (isset($_REQUEST['numero_processo']) && strlen($_REQUEST['numero_processo']) > 0) {
    $images = Imagens::factory()->recoverInformationDBByProcess($_REQUEST['numero_processo']);
    $cfg = Config::factory();
    $pdfMergedAbsoluteFilename = $cfg->getParam('config.basepath') . '/cache/TEMP_PDF_PROCESSO_' . md5($_REQUEST['numero_processo'] . microtime());
    $arrPDFs = array();
    $documentoImagem = null;
    $i = 0;
    $digital = '';
    foreach ($images as $image) {
        if ($digital != $image['DIGITAL']) {
            $digital = $image['DIGITAL'];
            $documentoImagem = Imagem\DocumentoImagemFactory::factory($digital);
            $pdfDocAbsoluteFilename = sprintf("{$pdfMergedAbsoluteFilename}_%04d.pdf", ++$i);
            $arrPDFs[] = $pdfDocAbsoluteFilename;
            //Salva em arquivos PDFs temporários
            file_put_contents($pdfDocAbsoluteFilename, $documentoImagem->getPDF()->getData());
        }
    }
    $cmd = "gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile={$pdfMergedAbsoluteFilename}.pdf ";
    foreach ($arrPDFs as $pdfFilename) {
        $cmd .= $pdfFilename . " ";
    }
    shell_exec($cmd);
    foreach ($arrPDFs as $pdfFilename) {
        unlink($pdfFilename);
    }
    header("Content-type:application/pdf");