13

ユーザーが必要なときにPDFファイルをマージする必要があります。ファイルはすでに存在しており、すべて問題ありません。私は休眠コードを使用してファイルをマージしています:

class concat_pdf extends FPDI 
{
    var $files = array();

    function setFiles($files) 
    {
        $this->files = $files;
    }

    function concat() 
    {
        foreach($this->files AS $file) 
        {
            $pagecount = $this->setSourceFile($file);

            for($i = 1; $i <= $pagecount; $i++) 
            {
                $this->AddPage('P');
                $tplidx = $this->ImportPage($i);
                $this->useTemplate($tplidx);
            }
        }
    }
}

$pdf = new concat_pdf();
$pdf->setFiles($files); //$files is an array with existing PDF files.
$pdf->concat();
$pdf->Output("bulk.pdf", "D");

すべてのファイルがマージされ、すべてのコンテンツがそこにあります。問題は、新しいファイルの各ページの上部に黒い線が表示されることです。内容や余白などはすべて元のファイルとまったく同じですが、この行はどこからともなく出てきます(私にはわかります)。厚くはありませんが、はっきりと見えます。他のコンテンツなどを台無しにすることはありませんが、そこでは必要ないので、削除する必要があります。

関数の2番目のパラメーターを、ドキュメントImportPage()に記載されているすべてのオプションに変更しようとしましたが、違いはありません。この数行のコードで変更できるのはこれだけなので、黒い線が表示される原因は本当にわかりません。私は同様の問題を検索しましたが、これまでのところ、運がありません。誰かアイデアがありますか?前もって感謝します!

前 後

4

3 に答える 3

24

ソースを変更する必要がないため、次の行を追加することをお勧めします。

    $this->setPrintHeader(false);
    $this->setPrintFooter(false);

concat() 関数の先頭に。

于 2012-06-04T20:43:34.240 に答える
1

私はこの問題の解決策を持っています。tcpdfのデフォルトのヘッダーとフッターには行が含まれています。4214行目のtcpdfクラスのメソッドfooter()とheader()の本体を消去する必要があります。

于 2012-05-17T11:23:41.680 に答える