web-dev-qa-db-fra.com

Sortie TCPDF sans enregistrer le fichier

Comment utiliser TCPDF pour sortir un fichier pdf dans le navigateur sans enregistrer comme dans ezpdf?

25
Mirgorod

Utilisez I pour "inline" pour envoyer le PDF au navigateur, par opposition à F pour l'enregistrer en tant que fichier.

$pdf->Output('name.pdf', 'I');

48
Alec

C'est ce que j'ai découvert dans la documentation.

  • I : envoie le fichier en ligne au navigateur (par défaut). Le plug-in est utilisé s'il est disponible. Le nom donné par nom est utilisé lorsque l'on sélectionne l'option "Enregistrer sous" sur le lien générant le PDF.
  • D : envoyez au navigateur et forcez le téléchargement d'un fichier avec le nom donné par son nom.
  • F : enregistrer dans un fichier serveur local avec le nom donné par nom.
  • S : retourne le document sous forme de chaîne (le nom est ignoré).
  • FI : équivalent à l'option F + I
  • FD : équivalent à l'option F + D
  • E : renvoyer le document en tant que pièce jointe en plusieurs parties au mime base64 (RFC 2045)
22
Baach

Si vous souhaitez ouvrir une fenêtre de dialogue dans le navigateur pour enregistrer, ne pas ouvrir avec PDF navigateur du navigateur (je cherchais cette solution depuis un certain temps), vous devez utiliser 'D':

$pdf->Output('name.pdf', 'D');
12
Line

Imprimez l'en-tête PDF (en utilisant la fonction header ()) comme: header("Content-type: application/pdf");

puis faites simplement écho au contenu du fichier PDF que vous avez créé (au lieu de l'écrire sur le disque).

3
Chris Hasiński

J'utilise la Output("doc.pdf", "I"); et ça ne marche pas, on me demande toujours de sauvegarder le fichier.

J'ai jeté un œil à la documentation et j'ai constaté que

J'envoie le fichier en ligne au navigateur (par défaut). Le plug-in est utilisé s'il est disponible. Le nom donné par nom est utilisé lorsque l'on sélectionne l'option "Enregistrer sous" sur le lien générant le PDF. http://www.tcpdf.org/doc/classTCPDF.html#a3d6dcb62298ec9d42e9125ee2f5b23a1

Ensuite, je pense que vous devez utiliser un plugin pour l'imprimer, sinon il va être téléchargé.

2
Djonatan

Astuce - avec un fichier de sauvegarde:

$pdf->Output('sandbox/pdf/example.pdf', 'F');
2
siltendo

Cela fonctionne avec I pour inline comme indiqué, mais aussi avec O.

$pdf->Output('name.pdf', 'O');

Il est peut-être plus facile de s'en souvenir (O pour Open).

1
Guppy