Avatar billede thomasmyg Nybegynder
09. januar 2014 - 09:35 Der er 1 løsning

HTML til PDF vises i browser

Jeg har et site som har kørt på en ældre IIS og så er blevet flyttet over på en IIS 7.5

I sitet er der en component der hedder ABCpdf som bliver brugt til at konvertere html til pdf og så vise .pdf'en i browseren. Efter sitet er blevet flyttet til IIS 7.5 så virker den funktion ikke mere. Jeg har fundet ud af at det er denne her linje der er problemet, theID = PDFObj.AddImageUrl(theURL, True, 0, False), Når jeg udkommentere den linje så får jeg mulighed for at downloade .pdf filen, men nr jeg så åbner den så er den tom. Jeg har så googlet mig frem til at problemet ligger i IIS 7.5 og man kan læse om det her http://support.microsoft.com/kb/316451

Jeg vil gerne have det til og virke igen, men det er lidt uden for mine evner, kan I hjælpe?

Koden til den fil der konvertere og vise pdf'en er herunder.

<!--#include file = "codelibrary.asp"-->
<%
'If administrator login or customer logged in then OK

QStrID = Trim(Request.QueryString("ID"))

If (Session("SessionUserName") <> "" OR Session("SessionCustNo") <> "") AND QStrID <> "" Then
    OpenDBConn(True)
   

    'Get certificate data
    If Session("SessionUserName") <> "" Then
        SQL = "SELECT * FROM CerfTbl WHERE (RecID = " & QStrID & ")"
    Else
        SQL = "SELECT * FROM CerfTbl WHERE (RefCustNo = '" & Session("SessionCustNo") & "' AND RecID = " & QStrID & ")"
    End If
    Set Rs = Conn.Execute(SQL)

    If NOT Rs.EOF Then
       
        'Get template data
        SQL = "SELECT Top 1 RecID FROM TemplateTbl WHERE (CertType = '" & Rs("CertType") & "' AND DateFld <= '" & SQLDateFormated(CDate(Rs("DateFld"))) & "') ORDER BY DateFld DESC"
        Set RsRecID = Conn.Execute(SQL)


If NOT RsRecID.EOF Then

SQL = "SELECT * FROM TemplateTbl WHERE (RecID = " & RsRecID("RecID") & ")"
Set RsTemplate = Conn.Execute(SQL)
           
            Set PDFObj = Server.CreateObject("ABCpdf9.Doc")
            'PDFObj.Rect.SetRect 25, 25, 600, 750
            theURL = "http://" & Request.ServerVariables("SERVER_NAME") & "/_getcerfHTML.asp?RefCustNo=" & Rs("RefCustNo") & "&ID=" & QStrID
            theID = PDFObj.AddImageUrl(theURL, True, 0, False)
            For i = 1 To 5 ' add up to 5 pages
                If PDFObj.GetInfo(theID, "Truncated") <> "1" Then Exit For
                PDFObj.Page = PDFObj.AddPage()
                theID = PDFObj.AddImageToChain(theID)
            Next
            PDFObj.PageNumber = 1
           
            Response.Buffer = True
            Response.Expires = -1000
            PDFData = PDFObj.GetData()
            Response.ContentType = "application/pdf"
            Response.AddHeader "content-length", UBound(PDFData) - LBound(PDFData) + 1
            'If Request.QueryString("attachment") <> "" Then
                Response.AddHeader "content-disposition", "attachment; filename=" & Rs("CertNo") & ".pdf;"
            'Else
            '    Response.Addheader "content-disposition", "inline; filename=" & Rs("CertNo") & ".pdf;"
            'End If
            Response.BinaryWrite PDFData
           
            Set PDFObj = Nothing
           
           
        Else
            Response.Write "<pre>No template found for creation of this certificate</pre>" & vbcrlf
        End If

        Set RsTemplate = Nothing
       
       
    Else
        Response.Write "<pre>No certificate data found</pre>" & vbcrlf
    End If

   
Set RsRecID = Nothing
    Set Rs = Nothing


    OpenDBConn(False)

End If
%>
Avatar billede thomasmyg Nybegynder
26. juni 2014 - 09:06 #1
Lukkes.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester