Visual Basic - Technik, FAQ, Tricks, Beispiele

Home / Workshops / PDF / Beispiel

Analyse der PDF-Komponente

Historie
04.03.2005Demonstration von PaperSize und Orientation; Hilfsfunktion mmPoints
27.01.2005Erste Version

Demonstration der Möglichkeiten

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

Nützliche Hilfsroutinen

...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..."! Grins!

SaveAsPDF - Text als PDF-Dokument speichern

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"

ConvertToPDF - Textdatei in PDF-Dokument umwandeln

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"

mmPoints - Umrechnung von Millimeter in Points

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