Я знаю, что у нас уже есть несколько постов в SO, и это может быть дубликатом.

Но я работал над этим последние 24 часа без какого-либо успеха. Я просмотрел все посты, и у меня ничего не получалось.

То, что я пробую, довольно просто, и я видел много примеров, которые, как говорят люди, работают для них, но никогда не работали для меня.

Ниже приведен код, который я пробую без всякой удачи. В комментируемой части есть способы, которые я пробовал. Пожалуйста, помогите мне в этом отношении.

<?php
    error_reporting(E_ALL);

/*
    require __DIR__ . '/vendor/autoload.php';
    use iio\libmergepdf\Merger;
    use iio\libmergepdf\Pages;


    $m = new Merger();
    $m->addFromFile($file1);
    $m->addFromFile($file2);
    file_put_contents($outputName, $m->merge());

    $fileArray= array($file1, $file2);

    // Using Ghostscript
    $cmd = "gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=$outputName ";
    //Add each pdf file to the end of the command
    foreach($fileArray as $file) {
        $cmd .= $file." ";
    }
    echo $cmd;
    $result = shell_exec($cmd);

    //using fpdf

    require('fpdf181/fpdf.php');
    require('fpdi162/fpdi.php');

    $pdf = new FPDI();

    foreach ($fileArray as $file) {
        print_r($file);
        $pageCount = $pdf->setSourceFile($file);
        for ($i = 0; $i < $pageCount; $i++) {
            echo $i;
            $tpl = $pdf->importPage($i + 1, '/MediaBox');
            $pdf->addPage();
            $pdf->useTemplate($tpl);
        }
    }

    // output the pdf as a file (http://www.fpdf.org/en/doc/output.htm)
    $pdf->Output('F', $outputName);

*/
    $file1 = "pdf1/file1.pdf";
    $file2 = "pdf2/file2.pdf";
    $datadir = "merged_pdf/";
    $outputName = $datadir."merged.pdf";

    include 'PDFMerger/PDFMerger.php';

    $pdf = new PDFMerger; // or use $pdf = new \PDFMerger; for Laravel

    $pdf->addPDF($file1);
    $pdf->addPDF($file2);

    $pdf->merge('file', "merged.pdf"); // generate the file

    // $pdf->merge('download', 'samplepdfs/test.pdf'); // force download

    // REPLACE 'file' WITH 'browser', 'download', 'string', or 'file' for output options


?>
php
0
Rupesh Jain 28 Май 2017 в 04:33

2 ответа

Лучший ответ

Я использовал pdftk и решил мою проблему.

0
Rupesh Jain 2 Июн 2017 в 12:27

Просто перейдите по этой ссылке, я надеюсь, что это более полезно

http://pdfmerger.codeplex.com/

<?php
include 'PDFMerger.php';

$pdf = new PDFMerger;

$pdf->addPDF('samplepdfs/one.pdf', '1, 3, 4')
    ->addPDF('samplepdfs/two.pdf', '1-2')
    ->addPDF('samplepdfs/three.pdf', 'all')
    ->merge('file', 'samplepdfs/TEST2.pdf');

    //REPLACE 'file' WITH 'browser', 'download', 'string', or 'file' for output options
    //You do not need to give a file path for browser, string, or download - just the name.
?>
2
Arun 28 Май 2017 в 01:50