Question

Je voudrais fusionner plusieurs fichiers PDF à un. Les fichiers PDF sont sur différents sites, ils doivent donc être téléchargés et fusionnés pour un.

Nous travaillons avec PHP et CodeIgniter. Quelqu'un connaît-il une solution pour mon problème?

Était-ce utile?

La solution

oui. J'ai fusionné PDF. Obtenir le FPDF et FPDI bibliothèques et les mettre dans le dossier tiers du Code Igniter. Ensuite, il s'agit de lire le manuel du FPDFI et de fusionner les documents. Utilisez-le pour configurer les bibliothèques

 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/

Ensuite, cet extrait de code devrait vous donner une idée de son fonctionnement. Remarque J'ai édité des sections de cela pour plus de clarté. Cet exemple diffuse le fichier PDF. Vous pouvez tout aussi facilement enregistrer le fichier ailleurs.

    $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);

En ce qui concerne l'obtention des PDF à partir d'autres sites, assurez-vous d'abord que vous êtes autorisé à le faire, alors il s'agit d'utiliser Curl. (copier le lien). Il y a un Bibliothèque Codeigniter pour le faire, ou vous pouvez utiliser le Bibliothèque PHP.

Autres conseils

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top