2010-09-15 4 views
0

J'essaie d'afficher par jquery load() un PDF généré dynamiquement créé par PHP avec FPDFlib sur un div mais ce que je reçois est une confiture de caractères. Y a-t-il un moyen de le résoudre?php-jquery-pdf charger un pdf sur un div

merci à l'avance

j'ai essayé de corriger mon code de cette façon, mais continuer à afficher la confiture

$.post("./php/stampa_login.php", 
    {piatta:'<? echo $_POST["piatta"] ?>'}, 
    function(data){ 
     $("#stampa_content").load("./temp/login.pdf") 
}); 

ciao

h.

+0

pouvons-nous voir votre code s'il vous plaît, semble comme un problème de sortie. – RobertPitt

Répondre

2

Cela semble être correct. Le chargement de jQuery() récupère une URL via AJAX; si cette URL est PDF, il apparaît comme "confiture de caractères" pour le navigateur, car PDF et HTML ne sont pas compatibles , les formats sont complètement différents. Ce que vous voulez probablement est d'ouvrir le PDF en tant que <object>, mais alors vous espérez que l'utilisateur a un plugin PDF installé dans leur navigateur. Revenons un peu en arrière: qu'essayez-vous d'accomplir ici, en affichant un PDF?

+0

Je charge par la page php JQuery qui génère des fichiers PDF; Je suppose que c'est le problème, peut être que je peux résoudre amkeing une demande de poste à la page php qui génèrent le pdf, l'enregistrent en local et après la charge pour l'affichage ... – haltman

0

ya, semble être un problème de sortie. Avez-vous essayé la fonction d'en-tête pour la sortir correctement? essayez de sortir correctement ou au lieu d'ouvrir le pdf dans div, il suffit de mettre à jour le lien du pdf là

+0

J'utilise ces entêtes: header ('Accept-Ranges: bytes '); \t \t \t En-tête ("Content-type: application/pdf"); – haltman

+0

Je ne pense pas que cela fonctionnera. Vous devrez mettre à jour le div avec le lien pour le pdf nouvellement généré. –

1

Vous pouvez créer une étiquette vide embed et donner l'attribut src comme lien. dans votre fonction de rappel. Cela va charger le fichier pdf parfaitement.

$("#embed_tag_id").attr("src", "./temp/login.pdf"); 
+0

Je dois essayer cette solution, merci pour l'indice! – haltman

1

Au lieu d'utiliser $ ('# whatever'). Load();

Vous voulez quelque chose comme ceci:

$("#stampa_content").html($('<object>', { data : "./temp/login.pdf", type : "application/pdf", width : 800, height : 600 }); 

Qu'est-ce qui va faire est au lieu d'essayer de charger le contenu du PDF en un DIV, il va créer un bloc qui va commencer votre lecteur PDF (comme Adobe Reader) qui chargera le PDF lui-même et l'affichera.

Sinon, vous pouvez aller pour quelque chose comme ceci: http://dev.funkynerd.com/projects/jquery-pdfdoc/wiki

Questions connexes