2010-03-19 3 views
0

Assez exotique il me semble. Nous avons récemment mis à niveau/migré de Windows Server 2003 vers 2008, et il semble maintenant que les images ne puissent pas être rendues en utilisant Doc.AddImageUrl(). (lorsque le pdf est enregistré, les images apparaissent aux dimensions correctes, mais l'image manquante IE8 apparaît). Si je comprends bien, ABCpdf utilise le rendu IE en interne pour ce genre de choses.ABCpdf7 Pas de rendu d'images avec AddImageUrl

Nous avons pensé que cela pourrait être un problème de permission, mais nous avons vérifié IE ESC et cela semble être configuré comme ils le suggèrent. Est-ce que quelqu'un d'autre a rencontré un problème similaire? Peut-être qu'une configuration de code est nécessaire?

Pas l'extrait entier, mais les choses ABCpdf7:

using (Doc doc = new Doc()) 
     { 
      doc.HtmlOptions.PageCacheEnabled = false; 
      doc.HtmlOptions.UseNoCache = true; 
      doc.HtmlOptions.PageCacheClear(); 
      doc.HtmlOptions.PageCachePurge(); 
      doc.HtmlOptions.UseResync = true; 
      doc.HtmlOptions.ImageQuality = 25; 

      int pageID = doc.AddImageUrl(url + "&guid=" + url.GetHashCode()); 

      while (true) 
      { 
       if (!doc.Chainable(pageID)) 
        break; 
       doc.Page = doc.AddPage(); 
       pageID = doc.AddImageToChain(pageID); 
      } 

    // file saving etc. 
    } 
+1

Avez-vous essayé d'afficher l'URL dans Internet Explorer sur la boîte 2008 sur laquelle il s'exécute pour voir s'il s'affiche correctement? – Jakkwylde

+1

Avez-vous regardé votre trafic dans un débogueur réseau (par exemple www.fiddler2.com) pour vous assurer que les images sont correctement transférées et avec les en-têtes MIME appropriés? – EricLaw

+0

Nous avions fait ces deux choses correctement auparavant (et c'est ce qui nous a conduit à la configuration IE ESC en 2008 qui a été mal gérée). – ddango

Répondre

0

Extrait un test unitaire hors du code pour tester sur plusieurs environnements. Il s'est avéré que notre serveur dev db (qui est le seul autre serveur courant 2008) a pu exécuter le test unitaire avec presque exactement la même configuration.

Cette information en main, nous avons été en mesure de le réduire à la dll sur la production. Même si l'ABCpdf.dll était correct (32 bits), un 64 bits du noyau (ABCpdf7ce.dll) était en production.

Je suppose que puisque le noyau du composant est COM (iirc), nous n'avons pas jeté d'erreurs. De plus, le fait que nous ayons pu générer le pdf à partir du html, sans images, est bizarre pour moi. Et, pour couronner le tout, il n'y a aucun enregistrement d'une DLL de 64 bits dans notre dépôt, et la DLL 32 bits était dans notre GAC. Autant que je sache, la DLL principale n'est utilisée que pour la construction, nous avons donc supprimé ces DLL des environnements affectés et nous semblons en bonne condition.