VB-Tec.de Visual Basic - Technik, FAQ, Tricks, BeispieleHome / Workshops / PDF / Beispiel Analyse der PDF-Komponente |
| Historie | |
|---|---|
| 04.03.2005 | Demonstration von PaperSize und Orientation; Hilfsfunktion mmPoints |
| 27.01.2005 | Erste Version |
In folgendem Beispiel möchte ich demonstrieren, was mit unserer VB-Komponente zur PDF-Generierung (Name clsPDF) sinnvollerweise zumindest möglich sein sollte:
Public Sub Main()
Dim pdf As clsPDF
Dim i As Long
'PDF-Dokument initialisieren:
Set pdf = New clsPDF
pdf.DropBlankPages = True 'Default
pdf.FontSize = 10 'Default
pdf.LinesPerPage = 72 'Default
pdf.NewPageString = "<-NewPage->" 'Default: vbFormFeed
pdf.Orientation = pdfPortrait 'Default
pdf.PaperSize = pdfA4 'Default
'Textdatei in PDF-Dokument konvertieren:
pdf.PrintFile App.Path & "\test.txt"
pdf.SavePDF App.Path & "\test1.pdf"
'Wiederholung mit größerer Schrift:
pdf.Clear FontSize:=12, LinesPerPage:=60
pdf.PrintLine "Diese Schrift ist größer!"
pdf.PrintFile App.Path & "\test.txt"
pdf.SavePDF App.Path & "\test2.pdf"
'PDF-Dokumente "aus dem Nichts" erzeugen:
With pdf
'Diesmal versuchen wir es mit dem Querformat:
.Clear
.Orientation = pdfLandscape
.LinesPerPage = 40
'4 Seiten füllen:
.PrintText "Hallo" & vbNewLine & "Welt!"
.NewPage
.PrintLine "Ciao!!!"
.NewPage
For i = 1 To 100
.PrintLine CStr(i)
Next i
.SavePDF App.Path & "\test3.pdf"
'Noch 5 Seiten mit Riesenschrift dranhängen:
.NewPage FontSize:=20, LinesPerPage:=24
For i = 1 To 100
.PrintLine CStr(i)
Next i
.SavePDF App.Path & "\test4.pdf"
End With
End Sub
...für den Umgang mit den hier vorgestellten Routinen für die PDF-Generierung. Ganz nach dem VB-Tec-Motto "Aus der Praxis für die Praxis..."!
Mit der folgenden Routine kann der Inhalt einer String-Variable "in einem Rutsch" als PDF-Datei gespeichert werden, ohne vorher extra ein Objekt der Klasse clsPDF instanziieren zu müssen:
Public Sub SaveAsPDF(ByRef Text As String, ByRef PathPDF As String)
With New clsPDF
.PrintText Text
.SavePDF PathPDF
End With
End Sub
Beispiel: SaveAsPDF s, "C:\Test.pdf"
Mit der folgenden Routine kann der Inhalt einer Textdatei "in einem Rutsch" als PDF-Datei gespeichert werden, ohne vorher extra ein Objekt der Klasse clsPDF instanziieren zu müssen:
Public Sub ConvertToPDF(ByRef PathTXT As String, ByRef PathPDF As String)
With New clsPDF
.PrintFile PathTXT
.SavePDF PathPDF
End With
End Sub
Beispiel: ConvertToPDF "C:\Test.txt", "C:\Test.pdf"
Public Function mmPoints(ByVal mm As Integer) As Integer '72 Points = 1 Inch = 2,54 cm mmPoints = mm * 720& / 254 End Function
© Jost Schwider, 27.01.2005-04.03.2005 - http://vb-tec.de/pdf-beispiel.htm