DOMpdf
を使用してページのpdfファイルを作成しました。codeignitorの場所に移動してpdfをダウンロードしました
<?php
use Dompdf\Dompdf;
class Pdfgenerator {
public function generate($html, $filename='', $stream=TRUE, $paper = 'A4', $orientation = "portrait")
{
$dompdf = new DOMPDF(array('enable_remote' => true));
$dompdf->loadHtml($html);
$dompdf->setPaper($paper, $orientation);
$dompdf->render();
if ($stream) {
$dompdf->stream($filename.".pdf", array("Attachment" => 0));
} else {
return $dompdf->output();
}
}
}
ビューページにSave As Pdf
ボタンをクリックすると、ページのPDFはDOMpdf
を使用してコントローラ機能で作成され、それが設定され、ダウンロードパスにダウンロードできる場所から、ブラウザで新しいタブでPDFを開きますブラウザ用。私が実際に欲しい
$html = $this->load->view('test/pdfview', $this->data, true);
$this->load->library('pdfgenerator');
$filename = 'testfile';
$this->pdfgenerator->generate($html, $filename, true, 'a4', '');
は、PDFを作成するときに、プロンプト保存するよう指定されたパス上のファイルが既に指定された場所に移動しているが開きますダウンロードすることです。適切な保存場所に移動できる場合は、適切な保存場所に移動できます。 これは、私が見つけたものの、すでに尋ねられたやや似たような質問ですが、私はそれが役に立つと思っていませんでした。
- Force to open “Save As…” popup open at text link click for pdf in HTML
- JavaScript: Create and save file
任意の提案は
これは動作しないようです。私はpdfを作成した後にこのコードを追加しました。つまり、$ this-> pdfgenerator-> generate($ html、$ filename、true、 'a4'、 '')の後、問題は同じで、ブラウザページでpdfが開き、保存ウィンドウは表示されません。 – Whoosis
回答を編集しました。新しい機能を作成し、ビューから保存ボタンで呼び出す必要があります。 –
私はあなたの助けに感謝しますが、私はあなたのスニペットでpdfがどのように生成されるのか理解できません。すなわち、保存ボタン呼び出しで、htmlからpdfに変換する関数が呼び出されます(つまり '$ this-> pdfgenerator-> generate($ html、 $ filename、true、 'a4'、 '') ')、私がsavePDFを呼び出すと、' testfile.pdf'はまだダウンロードされていませんか? – Whoosis