Pergunta

Eu gostaria de mesclar vários arquivos PDF para um. Os arquivos PDF estão em sites diferentes, para que primeiro sejam baixados e mesclados a um.

Trabalhamos com o PHP e o CodeIgniter. Alguém conhece uma solução para o meu problema?

Foi útil?

Solução

sim. Eu fundi PDFs. Pegue o fpdf e FPDI bibliotecas e coloque -as na pasta de terceiros do código Igniter. Então é apenas uma questão de ler o manual para FPDFI e mesclar os documentos. Use isso para configurar as bibliotecas

 require_once("application/third_party/fpdf/fpdf.php");//http://www.fpdf.org/
 require_once("application/third_party/fpdi/FPDI_Protection.php");//http://www.setasign.de/products/pdf-php-solutions/fpdi/

Então esse trecho de código deve dar uma idéia de como funciona. Observe que editei seções disso para clareza. Este exemplo transmite o arquivo PDF. Você pode facilmente salvar o arquivo em outro lugar.

    $files = array(<file full paths here>);

$pdf = new FPDI_Protection();
if ($data->password)
{
    $pdf->setProtection(array(),$data->password);
}
for ($i = 0; $i < count($files); $i++ )
{
    $pagecount = $pdf->setSourceFile($files[$i]);
    for($j = 0; $j < $pagecount ; $j++)
    {
        $tplidx = $pdf->importPage(($j +1), '/MediaBox'); // template index.
        $pdf->addPage('L','A4');// orientation can be P|L
        $pdf->useTemplate($tplidx, 0, 0, 0, 0, TRUE);                   
    }
    unlink($files[$i]); // you may not want to unlink the files!
}

$dt = new DateTime(NULL, new DateTimeZone($data->user->timezone));
    // set the metadata.
$pdf->SetAuthor($data->user->user_name);
$pdf->SetCreator('website name!');
$pdf->SetTitle('PDF, created: '.$dt->format(MYHMRS_DATETIME_FRIENDLY));
$pdf->SetSubject('PDF subject !');
$pdf->SetKeywords('website name!'.", keywords! ".$data->user->user_name);
$output = $pdf->Output('', 'S');
$name = "PDF".'-'.$dt->format('ymd').'.pdf';

$this->output
    ->set_header("Content-Disposition: filename=$name;")
    ->set_content_type('Application/pdf')
    ->set_output($output);

Quanto a obter PDFs de outros sites, primeiro verifique se você tem permissão para fazer isso, é importante usar o CURL. (copiar URL). existe um biblioteca CodeIgniter para fazer isso, ou você pode usar o Biblioteca PHP.

Outras dicas

Link de referência:http://portfolio.floatbit.com/blog/merge-multiple-pdfs-php-using-shellexec

enter image description here

A fusão em PDF também é uma solução

Link de referência:http://pdfmerger.codeplex.com/releases/view/37934

enter image description here

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top