2009-03-31 4 views
3

Nous avons un IFrame sur une page (appelons cette page DocViewer.aspx) dont le src est défini sur une autre page. Appelons cette autre page par DocContent.aspxLe fichier PDF généré par le serveur ne s'affiche pas en IFrame sur la page aspx sur certains PC (mais pas tous)

avant est la charge de page sur DocContent.aspx.vb:

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 

    'get pdf bytes from session 
    Dim pdfBytes As Byte() = CType(Session("PDFBytes"), Byte()) 

    'remove pdf bytes from session 
    Session.Remove("PDFBytes") 

    With Response 
     ' Set the response type to PDF 
     .ClearHeaders() 
     .Buffer = True 
     .ContentType = "application/pdf" 
     .AddHeader("Content-Disposition", "inline; filename=" & "midoc.pdf") 


     .AddHeader("Content-Length", (pdfBytes.GetUpperBound(0) + 1).ToString) 
     Response.OutputStream.Write(pdfBytes, 0, pdfBytes.Length) 

     .End() 
    End With ' response 

End Sub 

et voici la page DocContent.aspx dans toute sa gloire:

<%@ Page Language="vb" AutoEventWireup="false" Codebehind="DocContent" Inherits="OurCompany.OurNamespace.DocContent" %> 

Le raison pour laquelle nous utilisons un IFrame est de nous permettre d'héberger le PDF dans une page qui exécute également des scripts et a plus de contrôles sur (si une certaine condition est remplie, nous ouvrons une boîte de dialogue modale en utilisant l'extension de dialogue modale, mais nous avons désactivé ce comportement et le problème persiste). Ne pas utiliser un IFrame n'est pas non plus une solution faisable. J'ai vérifié les paramètres de sécurité dans IE et ils sont tous réglés pour autoriser les IFrames à être dislayed.

Voici le problème - sur certains PC de testeurs, la page affiche le pdf bien. Sur d'autres, nous avons juste une page blanche.

Nous venons de voir une machine qui n'affiche pas commencer à afficher quand elle a été mise à niveau vers IE7. Ceci est malheureusement pas une solution que nous devons soutenir quoi que ce soit jusqu'à IE5.5 :(

Je serais super reconnaissant pour toute personne a des idées.

Je dois aussi mentionner que ces machines ont pas mal quand la navigation vers une page similaire à docContent directement (au lieu d'être hébergé dans un iframe).

Oh et merci d'avance pour votre aide.

+0

Tous vos testeurs ont-ils la même version de Reader installée sur leurs machines? Et sont-ils capables d'ouvrir le PDF en utilisant Reader sur leur système? – dirkgently

+0

Différentes versions d'Acrobat Reader et divers résultats. Sur ma machine j'ai WinXP/IE7/Acrobate Reader 7.0 (déclassé d'Acrobate Reader 9.0 pour le voir il a fonctionné ... et il l'a fait). Parmi les machines qui ne fonctionnent pas, certaines sont Win2K, d'autres XP, certaines ont 9, 8 et 7 –

+0

et enfin, au moins les machines qui n'affichent pas le pdf peuvent afficher le PDF à l'extérieur le navigateur. Merci d'avoir lu;) –

Répondre

0

Nous avons eu un problème semblable à celui au travail où certains utilisateurs finiraient Le correctif que nous avons fait était de sauvegarder le fichier sur le disque puis de rediriger le navigateur vers ce fichier. du code en place de sorte que lorsqu'un utilisateur demande un fichier, il effectue un nettoyage du dossier (en supprimant tout, disons une heure).

2

Il est possible que les clients qui se comportent mal aient des problèmes avec l'installation d'Adobe Acrobat Reader. Il a des paramètres pour savoir si elle devrait apparaître dans une fenêtre de navigateur ou à l'extérieur.

La solution peut être aussi simple que la désinstallation d'Acrobat Reader, le redémarrage, la réinstallation d'Acrobat Reader avec les paramètres par défaut.

Questions connexes