Sto tentando di eseguire il rendering di una pagina Web che contiene immagini in un documento PDF utilizzando ABCpdf. Questo viene fatto da un'applicazione web.ABCpdf non esegue il rendering di immagini in un'applicazione Web con IIS6
Quando eseguo l'applicazione sul mio computer di sviluppo in IIS5, tutto funziona correttamente. Quando distribuisco l'applicazione su IIS6, le immagini non compaiono nel pdf.
Per riprodurre il problema, ho creato una semplice applicazione Web per il rendering di un file PDF da una semplice pagina Web e ho scoperto che le immagini che non sono locali sono quelle che non compaiono nel pdf.
Il relativo codice che interagisce con ABCpdf è:
Doc theDoc = new Doc();
theDoc.Rect.Inset(18, 18);
theDoc.HtmlOptions.PageCacheEnabled = false;
theDoc.HtmlOptions.PageCacheClear();
theDoc.HtmlOptions.UseNoCache = true;
theDoc.HtmlOptions.Timeout = 60000;
int theID = theDoc.AddImageUrl(theUrl);
while (true)
{
if (!theDoc.Chainable(theID)) break;
theDoc.Page = theDoc.AddPage();
theID = theDoc.AddImageToChain(theID);
}
for (int i = 1; i <= theDoc.PageCount; i++)
{
theDoc.PageNumber = i;
theDoc.Flatten();
}
theDoc.Save(location);
theDoc.Clear();
la pagina HTML che sto usando per la prova è questa:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>Test page</title></head>
<body>
<p>This is a local image</p>
<img src="http://myserver/test/images/testimage.gif" />
<p>This is a remote image</p>
<img src="http://l.yimg.com/a/i/ww/beta/y3.gif" />
</body>
</html>
Così sto cercando di rendere la pagina a questo url: http://myserver/test/testpage.html (il codice sopra) in un pdf.
In IIS6, la seconda immagine (che non è locale per il server) non viene visualizzata nel pdf.
Sembra essere un problema con i diritti di accesso, ma non riuscivo a capirlo.
Grazie.
hai trovato qualche soluzione al tuo problema? – sptremblay
No. Il progetto è stato comunque abbandonato ... – Paul