Multiple page spanning med ASP PDF
Hej,Jeg har leget lidt med at få et ASP script til at eksportere mit kundekartotek fra SQL Server til et pdf dokument.
Det virker i bund og grund også, men jeg har det problem at hvis der nu er flere kunder en der er plads til på den første side, så fortsættes der IKKE automatisk på en ny side, og det meste af mit kartotek bliver dermed "kappet af".
Nogen der har erfaringer med koomponentet, og kan komme med en ledetråd?
Nedenfor ses mit nuværende script:
<%
SQL = "Select * FROM shop_customerprofiles ORDER BY Name"
Set rs = Conn.Execute(SQL)
SQL = "Select Count(*) As Amount FROM shop_customerprofiles"
Set rs2 = Conn.Execute(SQL)
rowQuantity = rs2("amount")
rs2.close
Set rs2 = Nothing
Function paintText(intX, intY, intWidth, strAlign, intSize, strFont, strMessage)
Set Font = Doc.Fonts(strFont)
Params = "x=" & intX & "; y=" & intY & "; width=" & intWidth & "; alignment=" & strAlign & "; size=" & intSize
Page.Canvas.DrawText strMessage, Params, Font
Set Font = Nothing
End function
Set Pdf = Server.CreateObject("Persits.Pdf")
Set Doc = Pdf.CreateDocument
Doc.Title = "Kundeoversigt"
Doc.Creator = "Peter Poulsen"
Set oHelvFont = Doc.Fonts("Verdana")
Set Page = Doc.Pages.Add
' logo og firmanavn
Call paintText(54, 750, 550, "left", 16, "Helvetica", "Kundeoversigt")
' kundens navn og adresse
Call paintText(54, 720, 550, "left", 11, "Courier New", "Denne rapport blev genereret: " & FormatDateTime(Now,1) & " kl. " & Time)
Call paintText(54, 705, 550, "left", 11, "Courier New", "Copyright Peter")
Call paintText(54, 690, 550, "left", 11, "Courier New", "Antal kunder: " & rowQuantity)
' opretter tabellen
Set Table = Doc.CreateTable("rows=" & (rowQuantity+1) & "; cols=4; cellspacing=-1; cellpadding=2; height=600; width=500; border=1")
Table.Font = oHelvFont
' ///////////////////////////////////////////////////////////////////////////////////////
' UDSKRIVER HEADERS PÅ TABELLEN
' ///////////////////////////////////////////////////////////////////////////////////////
With Table.Rows(1)
.Height = 20
.bgcolor = &H145A7B
.Cells(1).AddText "Navn", "alignment=left;color=white;size=9"
.Cells(2).AddText "Firma", "alignment=left;color=white;size=9"
.Cells(3).AddText "Telefon", "alignment=right;color=white;size=9"
.Cells(4).AddText "E-mail", "alignment=right;color=white;size=9"
End with
' ///////////////////////////////////////////////////////////////////////////////////////
If Not (rs.eof or rs.bof) then
i = 2
Do While Not rs.eof
If isNull(rs("Company")) then
COMPANY = " "
Else
COMPANY = rs("Company")
End if
If isNull(rs("Phone")) then
PHONE = " "
Else
PHONE = rs("Phone")
End if
If isNull(rs("email")) then
EMAIL = " "
Else
EMAIL = rs("email")
End if
If isNull(rs("name")) then
STRNAME = " "
Else
STRNAME = rs("name")
End if
If i mod 2 = 0 then
backColor = &HDEDFE3
Else
backColor = &HD3D3D3
End if
With Table.Rows(i)
.Height = 18
.bgcolor = backColor
.Cells(1).AddText STRNAME, "alignment=left;color=black;size=8"
.Cells(2).AddText COMPANY, "alignment=left;color=black;size=8"
.Cells(3).AddText PHONE, "alignment=right;color=black;size=8"
.Cells(4).AddText EMAIL, "alignment=right;color=black;size=8"
end with
i = i + 1
rs.movenext
Loop
Page.Canvas.DrawTable Table, "x=54;y=660"
End if
strname = ("customers_" & Date() & ".pdf")
Filename = Doc.Save( Server.MapPath("../files/" & strname), False )
rs.close
Set rs = Nothing
Set Doc = Nothing
Set Pdf = Nothing
Response.Write "<p>"
Response.Write "Filen blev genereret med succes.<br>"
Response.Write "<a href=""../files/" & Filename & """ target=""_blank"">" & Filename & "</a>"
Response.Write "</p>"
Response.Write "<p>"
Response.Write "Højreklik på linket og vælg ""Gem destination som.."" for at gemme rapporten på din harddisk."
Response.Write "</p>"
%>
/pfp
