24. februar 2007 - 17:51Der er
11 kommentarer og 1 løsning
Flyttet kode til en sub, men får fejl
Når koden er udenfor Sub fungerer det perfekt, men så snart jeg flytter kode med billededel ind i en sub, så fungerer det ikke.
Det forstår jeg ikke! Anvender pdf komponenten fra asppdf.com
Bruger følgende script og det fungerer perfekt
Dim DemoPage As IPdfPage = objDoc.Pages.Add(700, 1050, Missing.Value)
Dim ImageDemo As String = "../graf/demo.gif" Dim Picture_Demo As IPdfImage = objDoc.OpenImage(Server.MapPath(ImageDemo), Missing.Value) DemoPage.Canvas.DrawImage(Picture_Demo, "x=0, y=0, ScaleX = 1, ScaleY = 1")
Rapport(DemoPage)
og Sub ser således ud.
Sub Rapport(ByVal Rapport_PageNumber As IPdfPage) Dim objPdf As IPdfManager = New PdfManager Dim objDocDemo As IPdfDocument = objPdf.CreateDocument(Missing.Value) Dim objFont As IPdfFont = objDocDemo.Fonts("Helvetica", Missing.Value) End Sub
Men når jeg flytter billededannelse ned i Sub´en så laves der ingen billder. Koden ser således ud:
Dim DemoPage As IPdfPage = objDoc.Pages.Add(700, 1050, Missing.Value) Rapport(DemoPage)
og Sub ser så ud :
Sub Rapport(ByVal Rapport_PageNumber As IPdfPage) Dim objPdf As IPdfManager = New PdfManager Dim objDocDemo As IPdfDocument = objPdf.CreateDocument(Missing.Value) Dim objFont As IPdfFont = objDocDemo.Fonts("Helvetica", Missing.Value)
Dim ImageDemo As String = "../graf/demo.gif" Dim Picture_Demo As IPdfImage = objDoc.OpenImage(Server.MapPath(ImageDemo), Missing.Value) DemoPage.Canvas.DrawImage(Picture_Demo, "x=0, y=0, ScaleX = 1, ScaleY = 1") End Sub
Med kunstig intelligens skaber HP’s nye OmniBook X 14 en unik og skræddersyet brugeroplevelse målrettet dem, der ønsker høj ydeevne og intelligente funktioner
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load If Page.IsPostBack = "False" Then
' Opret dok Dim objPdf As IPdfManager = New PdfManager Dim objDoc As IPdfDocument = objPdf.CreateDocument(Missing.Value) Dim objFont As IPdfFont = objDoc.Fonts("Helvetica", Missing.Value)
' Demo forside Dim Forside As IPdfPage = objDoc.Pages.Add(596, 842, Missing.Value) Rapport_Forsiden(Forside)
' Her laves Image siden Dim DemoPage As IPdfPage = objDoc.Pages.Add(596, 842, Missing.Value) Dim ImageDemo As String = "../graf/pictures/logo.gif" Dim Picture_Demo As IPdfImage = objDoc.OpenImage(Server.MapPath(ImageDemo), Missing.Value) DemoPage.Canvas.DrawImage(Picture_Demo, "x=0, y=0, ScaleX = 1, ScaleY = 1") Rapport_Virker(DemoPage)
' Her laves Image siden med image i sub - her fejler det Dim DemoPage2 As IPdfPage = objDoc.Pages.Add(596, 842, Missing.Value) Rapport_Virker_Ikke(DemoPage2)
objDoc.SaveHttp("attachment;filename=" & Now() & ".pdf", Missing.Value) End If
End Sub
Sub Rapport_Forsiden(ByVal PdfPageNumber As IPdfPage) Dim objPdf As IPdfManager = New PdfManager Dim objDocForsiden As IPdfDocument = objPdf.CreateDocument(Missing.Value) Dim objFont As IPdfFont = objDocForsiden.Fonts("Helvetica", Missing.Value) PdfPageNumber.Canvas.DrawText("DEMO", "html=true,x=180; y=480; width=596; alignment=left; size=15", objFont) End Sub
Public Sub Rapport_Virker(ByVal Rapport_PageNumber As IPdfPage) Dim objPdf As IPdfManager = New PdfManager Dim objDocDemo As IPdfDocument = objPdf.CreateDocument(Missing.Value) Dim objFont As IPdfFont = objDocDemo.Fonts("Helvetica", Missing.Value) Rapport_PageNumber.Canvas.DrawText("DEMO Image", "html=true,x=180; y=480; width=596; alignment=left; size=15", objFont) End Sub
Public Sub Rapport_Virker_Ikke(ByVal Rapport_PageNumber As IPdfPage) Dim objPdf As IPdfManager = New PdfManager Dim objDocDemo As IPdfDocument = objPdf.CreateDocument(Missing.Value) Dim objFont As IPdfFont = objDocDemo.Fonts("Helvetica", Missing.Value)
Dim Picture_Demo As ASPPDFLib.IPdfImage = objDocDemo.OpenImage(Server.MapPath("../graf/pictures/logo.gif"), Missing.Value) Rapport_PageNumber.Canvas.DrawImage(Picture_Demo, "x=0, y=0, ScaleX = 1, ScaleY = 1")
Rapport_PageNumber.Canvas.DrawText("DEMO Image 2", "html=true,x=180; y=480; width=596; alignment=left; size=15", objFont) End Sub End Class
hmmm jeg må indrømme at jeg ikke kan se hvorfor det ikke skulle virke. Måske trænger jeg bare til at sove. Kigger lige forbi imorgen hvis ingen andre er kommet med et bud.
prøv med: Public Sub Rapport_Virker_Ikke(ByVal Rapport_PageNumber As IPdfPage)
Dim Picture_Demo As ASPPDFLib.IPdfImage = objDocDemo.OpenImage(Server.MapPath("../graf/pictures/logo.gif"), Missing.Value) Rapport_PageNumber.Canvas.DrawImage(Picture_Demo, "x=0, y=0, ScaleX = 1, ScaleY = 1") Dim objPdf As IPdfManager = New PdfManager Dim objDocDemo As IPdfDocument = objPdf.CreateDocument(Missing.Value) Dim objFont As IPdfFont = objDocDemo.Fonts("Helvetica", Missing.Value)
Rapport_PageNumber.Canvas.DrawText("DEMO Image 2", "html=true,x=180; y=480; width=596; alignment=left; size=15", objFont) End Sub
Det burde dog ikke give noget forskel. Jeg kan simpelthen ikke se hvad fejlen er :(
Hvor den pågældende side og efterfølgende vises som et meget lille kvadrat. Denne handling kan jeg også fremprovokere ved at lave fejl i selve koden f.eks. i en sub, som VS2005 ikke opdager.
ok jamen så er der en god forklaring :) Svar :) Vi bør nok dele.
Synes godt om
Ny brugerNybegynder
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.