PDF-Erzeugung – Teil 1

Die PDF-Ausgabe per Druckertreiber

Haben Sie einen der Druckertreiber installiert, können Sie PDF-Dateien erzeugen, indem Sie beispielsweise für Berichte den Druckertreiber als Standarddrucker für den Bericht festlegen und ihn dann auf dem Druckertreiber ausgeben. Das würde jedoch voraussetzen, dass Sie wissen, welchen der Druckertreiber Ihr Kunde oder Anwender zur Verfügung hat und dass die Definition des Standarddruckertreibers auch funktioniert.

Aufgrund verschiedener Probleme mit der Druckausgabe in Access ist es in der Praxis jedoch meist nur möglich, mit dem Standarddruckertreiber von Windows zu drucken. Diesen Treiben müssten Sie per API-Deklaration ändern, wenn Sie den PDF-Drucker wählen möchten. Darüber hinaus gibt es bei der Druckausgabe das Problem, dass die meisten PDF-Tools Fenster für Einstellungen anzeigen, in denen der Benutzer den Pfad und den Namen der PDF-Datei eingeben muss. Auch das macht den direkten Ausdruck auf diesen Druckertreibern problematisch. Dennoch gibt es natürlich eine Lösung für alle diese Probleme, die Komponente AP-PDF Print. DLL.

Die Komponente steuert den installierten Druckertreiber so, dass Sie damit problemlos PDFDateien ausgeben können. Unterstützt werden dazu die folgenden Treiber:

  • Acrobat Distiller 4+/PDFWriter 4+

  • Adobe PDF 6 und 7

  • pdfMachine

  • FreePDF XP

  • PDF4U

  • PDF995

  • pdfFactory

  • Win2PDF

Nach dem Download installieren Sie die Komponente über das mitgelieferte Setup-Programm, bevor Sie sie nutzen können.

Anders als bei anderen Komponenten, die Sie im zweiten Teil der Artikelfolge kennen lernen werden, erstellen Sie hier das Druckdokument nicht über die Methoden und Eigenschaften der Komponente, sondern rufen lediglich den Drucken- Befehl von Access bzw. dem zu druckenden Bericht auf. Sie müssen also zunächst einen entsprechenden Bericht erstellen, um diesen dann auszudrucken zu können.

Es gibt zudem noch einen weiteren Unterschied. Diese DLL binden Sie nicht über Verweise in Ihr Projekt ein, sondern verwenden die in der DLL vorhandenen Funktionen über das DECLARE- Statement. Hierzu werden alle Funktionen über Declare-Anweisungen dem Programm bekannt gemacht. Sie müssen dazu einen ausführlichen Deklarationsblock erstellen (Listing 1). Den finden Sie allerdings in der mitgelieferten Hilfe, sodass Sie ihn nur kopieren müssen.

Public Declare Function apPDF_Init Lib "APPDFPRINT.DLL" Alias "PrintInit" ( _
ByVal sInit As String) As Integer
Public Declare Function apPDF_GetDefaultPrinter Lib "APPDFPRINT.DLL" _
Alias "GetDefaultPrinter" () As String
Public Declare Function apPDF_GetAllPrinters Lib "APPDFPRINT.DLL" Alias _
"GetAllPrinters" () As String
Public Declare Function apPDF_SetDefaultPrinter Lib "APPDFPRINT.DLL" Alias _
"SetDefaultPrinter" (ByVal sPrinter As String) As Integer
Public Declare Sub apPDF_PrintSetIniFile Lib "APPDFPRINT.DLL" Alias _
"PrintSetIniFile" (ByVal sIniFile As String)
Public Declare Function apPDF_PrintStart Lib "APPDFPRINT.DLL" Alias _
"PrintStart" (ByVal PDFType As Integer, ByVal sFilename As String) As Integer
Public Declare Function apPDF_PrintGetPath Lib "APPDFPRINT.DLL" Alias _
"PrintGetPath" (ByVal PDFType As Integer) As String
Public Declare Function apPDF_PrintEnd Lib "APPDFPRINT.DLL" Alias _
"PrintEnd" (ByVal PDFType As Integer, ByVal sDestFile As String) As Integer
'KONSTANTEN DER UNTERSTÜTZTEN PDF-TOOLS
Public Const PDF_ACROBATDISTILLER = 0
Public Const PDF_PDFWRITER = 1
Public Const PDF_ACROBAT67 = 2
Public Const PDF_PDFMACHINE = 3
Public Const PDF_FREEPDF = 4
Public Const PDF_PDF4U = 5
Public Const PDF_PDF995 = 6
Public Const PDF_PDFFACTORY = 7
Public Const PDF_WIN2PDF = 8
'FUNKTIONS-RÜCKGABEWERTE
Public Const ERR_PDF_OK = 1
Public Const ERR_PDF_INIT_FAILURE = -99
Public Const ERR_PDF_SYSTEM_NOT_SUPPORTED = -999