Domanda

Vorrei unire più file PDF a uno. I file PDF si trovano su siti diversi, quindi dovrebbero prima essere scaricati e uniti a uno.

Lavoriamo con PHP e CodeIgniter. Qualcuno conosce una soluzione per il mio problema?

È stato utile?

Soluzione

sì. Ho unito PDF. Ottenere il fpdf e fpdi librerie e inseriscile nella cartella di terze parti del codice accendi. Quindi si tratta solo di leggere il manuale per FPDFI e di fondere i documenti. Usa questo per impostare le librerie

 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/

Quindi questo frammento di codice dovrebbe darti un'idea di come funziona. Nota che ho modificato sezioni di questo per chiarezza. Questo esempio trasmette trasmette il file PDF. Potresti salvare altrettanto facilmente il file altrove.

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

Per quanto riguarda la ricezione di PDF da altri siti, in primo luogo assicurati di essere autorizzato a farlo, è importante usare Curl. (Copia URL). c'è un Biblioteca CodeIgniter per farlo, o puoi usare il Biblioteca PHP.

Altri suggerimenti

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top