AspPDF - tilføje flere sider med samme skabelon
Hej,Jeg sidder fast i en ellers meget spændende opgave.
Min udfordring er at generere nogle PDF-dokumenter, på baggrund af eksisterende data, hentes fra MS SQL Database, og fremsvise dem på brugerens skærm til udprintning mv.
Pt. har alt virket fint og uden problemer, men nu hvor nogle af de genererede pdf-dokumenters indhold overstiger mere end 1 side er problemet der.
Jeg opretter PDF-dokumentet på baggrund af et eksisterende PDF-dokument, der fungerer som en slags skabelon.
Den 1. side bliver 100% korrekt, men når tilføjer de evt. efterfølgende sider, kan jeg ikke se mig ud af at få min "skabelon" implementeret på disse sider.
- Se venligst nedenstående kode
Jeg håber at der er nogle med eksperter med erfaring eller flair for dette komponent, der kan hjælpe mig videre.
MVH
Henrik
--------------- SourceCode Start ---------------
Set Pdf = Server.CreateObject("Persits.Pdf")
Set Doc = Pdf.OpenDocument( Server.MapPath("_data/template.pdf") )
' Obtain the only page's canvas
Set Canvas = Doc.Pages(1).Canvas
Set Param = Pdf.CreateParam("x=50;y=800;height=100;width=420; size=20; color=#000000;")
Set Font = Doc.Fonts("Helvetica-Bold")
Write2Page = Canvas.DrawText(RS1("DataField_01"), Param, Font)
strText = RS1("DataField_02")
TitleHeight = Font.GetParagraphHeight(RS1("DataField_01"), "width=420")
Set Param = Pdf.CreateParam("x=51;y="&(800-TitleHeight)&";height=50;width=470; size=9; color=#666666;")
Set Font = Doc.Fonts("Arial")
Write2Page = Canvas.DrawText("Sis nr: " & strText, Param, Font)
'Defining data-output for Daginstitutionsområdet
Set Table = Doc.CreateTable("width=500; height=20; Rows=8; Cols=2; Border=0; CellBorder=0; CellSpacing=0; cellpadding=0; ")
Table.Font = Font
Table.Rows(1).Cells(1).Width = 80
Table.Rows(1).Cells(2).Width = 420
Set Param = PDF.CreateParam("size=9; color=#666666; expand=true; Html=false; ")
strText = RS1("DataField_04")
Table.Rows(1).Cells(1).AddText "Tid:", Param
Table.Rows(1).Cells(2).AddText strText & vbcrlf & vbcrlf, Param
strText = RS1("DataField_05")
Table.Rows(2).Cells(1).AddText "Formål:", Param
Table.Rows(2).Cells(2).AddText strText & vbcrlf & vbcrlf, Param
strText = RS1("DataField_06")
Table.Rows(3).Cells(1).AddText "Indhold:", Param
Table.Rows(3).Cells(2).AddText strText & vbcrlf & vbcrlf, Param
strText = RS1("DataField_07")
Table.Rows(4).Cells(1).AddText "Underviser:", Param
Table.Rows(4).Cells(2).AddText strText & vbcrlf & vbcrlf, Param
strText = RS1("DataField_08")
Table.Rows(5).Cells(1).AddText "Målgruppe:", Param
Table.Rows(5).Cells(2).AddText strText & vbcrlf & vbcrlf, Param
strText = RS1("DataField_09")
Table.Rows(6).Cells(1).AddText "Pris:", Param
Table.Rows(6).Cells(2).AddText strText & vbcrlf & vbcrlf, Param
strText = RS1("DataField_10")
Table.Rows(7).Cells(1).AddText "Tilmelding:", Param
Table.Rows(7).Cells(2).AddText strText & vbcrlf & vbcrlf, Param
strText = RS1("DataField_11")
Table.Rows(8).Cells(1).AddText "Sted:", Param
Table.Rows(8).Cells(2).AddText strText & vbcrlf & vbcrlf, Param
'Checking for pagespanning
LastRow = Canvas.DrawTable( Table, "x=51;y="&(800-TitleHeight-40)&"" )
VarPageCount = 2
Do While LastRow < table.Rows.Count
Set Page = Doc.Pages.Add(595.3, 841.9)
Set Canvas = Doc.Pages(VarPageCount).Canvas
LastRow = Canvas.DrawTable( Table, "x=51;y=750;RowFrom=" & LastRow+1 )
VarPageCount = VarPageCount + 1
Loop
--------------- SourceCode End ---------------
