AspPDF
Skrevet af d. 7/12-2017 07:39

Om AspPDF

AspPDF er et ActiveX serverkomponent til generering, åbning og ændring af dokumenttypen PDF (Portable Document Format). AspPDF gør det f.eks. muligt at skræddersy .pdf filer og fremsende dem til slutbrugeren, blot ved at de henvender sig via en formular på din hjemmeside.

Generering af en PDF

Følgende eksempel genererer en PDF ud fra funktionen
DrawText(Text, param, Font)
Teksten bliver placeret ud fra X og Y parametrene, der er defineret i variablen param. Alle andre parametre man ønsker tilføjet teksten, angives også heri, eksemplevis Rendering, alignment osv.

<%
Set Pdf = Server.CreateObject("Persits.Pdf")
Set Doc = Pdf.CreateDocument
Set page = Doc.Pages.Add( 216, 216 )
Text = Request("largetext")

Set Font = Doc.Fonts("Times-Roman")
Set param = pdf.CreateParam("x=10;y=206;height=196;width=196; size=30;")

Do While Len(Text) > 0
   CharsPrinted = Page.Canvas.DrawText(Text, param, Font)

   if CharsPrinted = Len(Text) Then Exit Do

   Set Page = Page.NextPage
   Text = Right( Text, Len(Text) - CharsPrinted)
Loop

Filename = Doc.Save( Server.MapPath("text.pdf"), False )
%>

Skrive til en eksisterende PDF

Dette eksempel tager udgangspunkt i en allerede eksisterende .pdf fil. Filens placering er angivet via Pdf.OpenDocument("")
Dette kan eksempelvis bruges til .pdf filer, hvor man har en masse grafisk layout som er lavet på forhånd og hvor der blot er brug for at indsætte felter fra eksempelvis en formular eller en database.

<%
Text = "Test af AspPDF"
Set Pdf = Server.CreateObject("Persits.Pdf")

Set Doc = Pdf.OpenDocument( Server.MapPath("test.pdf"))
If Doc Is Nothing Then Response.Write "This PDF is password-protected."

Set Canvas = Doc.Pages(1).Canvas
Set Param = Pdf.CreateParam("x=100;y=800;height=100;width=200; size=30;")
Set Font = Doc.Fonts("Helvetica-Bold")

CharsPrinted = Canvas.DrawText( Text, Param, Font)

Filename = Doc.Save( Server.MapPath("output.pdf"), False )
%>

Fonte

Med AspPDF, har man mulighed for at bruge alle fonte, det er ikke begrænset af de fonte der ligger på serveren, dog skal man sikre sig at fonten man anvender ikke er under en licensbeskyttelse. Hvis man vil sikre sig dette, kan man anvende følgende tjek i sin kode. Bemærk, anvendelse af fonte uden nedenstående tjek er muligt, dog på eget ansvar.

<%
Set Font = Doc.Fonts.LoadFromFile("d:\home\dit-ftpbrugernavn\db\somefont.ttf")
If Font.Embedding = 2 Then
   Response.Write "Embedding of this font is prohibited."
   Set Font = Nothing
End If
%>

Indsæt et billede i en ny PDF

AspPDF understøtter BMP, GIF og JPEG. Nedenstående kode viser hvordan du kan indsætte et billede i en PDF du genererer. Defineringen af ScaleX og ScaleY er valgfri, det giver blot mulighed for at skalere det billede du indsætter.
I nedenstående eksempel halveres størrelsen på billedet.

Ved Placering af billeder, tager AspPDF udgangspunkt i billedets højre hjørne i bunden.

<%                                                        
Set Pdf = Server.CreateObject("Persits.Pdf")              
Set Doc = Pdf.CreateDocument                              
Set Page = Doc.Pages.Add                                  
Set Image = Doc.OpenImage( Server.MapPath( "image.jpg") ) 
                                                          
Set Param = Pdf.CreateParam                               
                                                          
                                                          
   Param("x") = "100"                                     
   Param("y") = "500"                                     
   Param("ScaleX") = 1 / 2                                
   Param("ScaleY") = 1 / 2                                
                                                          
   Page.Canvas.DrawImage Image, Param                     
                                                          
                                                          
Filename = Doc.Save( Server.MapPath("image.pdf"), False ) 
%>                                                        

Indsæt et billede i en eksisterende PDF

Samme eksempel som ovenstående, blot udført med en eksisterende PDF fil.

<%
Set Pdf = Server.CreateObject("Persits.Pdf")

Set Doc = Pdf.OpenDocument( Server.MapPath("test.pdf"))
If Doc Is Nothing Then Response.Write "This PDF is password-protected."

Set Canvas = Doc.Pages(1).Canvas
Set Image = Doc.OpenImage( Server.MapPath( "image.jpg") )
Set Param = Pdf.CreateParam

   Param("x") = "100"
   Param("y") = "500"
   Param("ScaleX") = 1 / 2
   Param("ScaleY") = 1 / 2

   Canvas.DrawImage Image, Param

Filename = Doc.Save( Server.MapPath("output.pdf"), False )
%>
(0 stemmer)
Denne artikel var til hjælp
Denne artikel var ikke til hjælp

Kommentarer (0)
Opret kommentar
 
 
Navn:
Email:
Kommentarer:
CAPTCHA Verificering 
 
Indtast teksten du ser på billedet i feltet herunder (CAPTCHA). Dette er påkrævet for at undgå automatiske registreringer og form afsendelser.

Referencer |  Om Azero |  Betingelser |  Job |  Presse |  Kontakt Azero

Azero A/S - CVR 28 10 17 59 - Skjørringvej 8 - 8464 Galten - Telefon 38 19 50 17
Danske Bank - Reg 4180 - Konto 0010092027 - SWIFT DABADKKK - IBAN DK7230000010092027

Copyright © 2000-2020. Azero A/S respekterer alle varemærker.
Priser er angivet eksklusive moms i DKK, der tages forbehold for trykfejl. Alt salg sker i henhold til vores betingelser.
1. Domaincheck - 2. Search - 3. NScheck - 4. NSlookup - 5. Lookup - 6. TraceRoute - 7. Query - 8. CheckWeb - (9. Flere)