Ben kullanarak bir PDF dosyası döndüren bir yöntem var DOMPDF. Her doğru başlıklarını gönderir. O (her yerde sunucuda depolanan değil) anında oluşturulur.
Şimdi giden e-postalar için bu PDF takmak zorunda. I Kohana 3 Bu yaptım
$routeUrl = Route::get('secure_view_pdf')->uri(array('id' => $id));
$response = Request::factory($routeUrl)->execute();
$tempFile = DOCROOT . 'tmp/pdf-' . $id . '.pdf';
file_put_contents($tempFile, $response);
$swift = email::connect();
$message = Swift_Message::newInstance();
$message->setSubject('My Subject')
->setFrom(array('info@example.com.au' => 'Example'))
->setTo(array($clientEmail => html::chars($clientName)))
->setBody($body)
->addPart($body, 'text/html')
->attach(Swift_Attachment::fromPath($tempFile));
$swift->send($message);
Bu talep ediyor rota sadece download için başlıkları gönderir ve son kullanıcı böylece indirebilirsiniz PDF akarsuları. Ayrıca, Swift Mailer kitaplığını kullanır.
Ben tarayıcıda bu isteği çalıştırdığınızda dışında, dosyayı indirmek isteyip istemediğimi soruyor. I $response
olarak çıktı almak ve indirmek başlıkları göz ardı etmek istiyorum Content-Disposition: attachment; filename="file #1.pdf"
.
Bu isteği as-is almak ve sonra ben yukarıda açıklanan gibi bir dosyaya kaydetmek mümkündür.
Yoksa dosya PDF'leri otomatik nesil değiştirmek, ve sonra sadece Swift ile o dosyaya işaret etmelidir?
Çok teşekkürler