|
PDF Reports |
Top Previous Next |
|
PDF Reports Sample is an Access database with one table and one form. On the form you can set several options for the novaPDF Printer and then press a button to generate a PDF file. A report is made on the table and it is sent to novaPDF Printer.
It demonstrates the basic use of the INovaPDFOptions interface. The printing job is made using the object "Application.Printer"
Basically the sample creates a new profile called "Access Profile", sets the new profile as active, sets the user options from form controls, opens and prints a report, and restores original printer settings.
Source code
Option Compare Database Option Explicit
Private objPDF As Object
Const strIAProfile As String = "Access Profile" Const strPDFDriver As String = "<%SDK_SAMPLE_PRINTER%>" Const bIAPublicProfile As Long = 0
Private Sub cmdCreatePDF_Click() On Error GoTo Error_cmdCreatePDF_Click
Dim strActiveProfile As String Dim strDefaultPrinter As String Dim nActiveProfilePublic As Long
' create the NovaPdfOptions object Set objPDF = CreateObject("novapi.NovaPdfOptions")
' initialize the NovaPdfOptions object ' if you have an application license for novaPDF SDK, ' pass both the registration name and the license key to the Initialize() function ' pNova.Initialize2 strPDFDriver, '<registration name>', '<license key>' objPDF.Initialize2 strPDFDriver, "", "", ""
' Store the Default Printer. * Note - Access cannot use the objPDF.SetDefaultPrinter command as it ' doesn't update Access internally fast enough. You must use the Application.Printer command instead. strDefaultPrinter = Application.Printer.DeviceName
' Get the Active Profile objPDF.GetActiveProfile2 strActiveProfile, nActiveProfilePublic
' Add new profile objPDF.AddProfile2 strIAProfile, bIAPublicProfile
With Me '*********************************************************************************************************** ' Set save options objPDF.SetOptionLong2 PDF_SAVE_PROMPT, !optSaveOptions, strIAProfile, bIAPublicProfile objPDF.SetOptionString2 PDF_SAVE_FOLDER, !txtSaveFolder, strIAProfile, bIAPublicProfile objPDF.SetOptionString2 PDF_SAVE_FILE, !txtFilename, strIAProfile, bIAPublicProfile objPDF.SetOptionLong2 PDF_SAVE_CONFLICT_STRATEGY, !cboWhenFileExists, strIAProfile, bIAPublicProfile
' After Save Action objPDF.SetOptionLong2 PDF_ACTION_Open_DOCUMENT, !chkOpenViewer, strIAProfile, bIAPublicProfile objPDF.SetOptionLong2 PDF_ACTION_USE_DEFAULT_VIEWER, !chkOpenViewer, strIAProfile, bIAPublicProfile
' .... other options
' Set the PDF print driver. objPDF.SetActiveProfile2 strIAProfile, bIAPublicProfile
' Set the Default printer. Set Application.Printer = Application.Printers(strPDFDriver)
' Run the selected report and create a PDF file. DoCmd.OpenReport "rptSMZipCode"
' Return to previous settings objPDF.SetActiveProfile2 strActiveProfile, nActiveProfilePublic objPDF.DeleteProfile2 strIAProfile, bIAPublicProfile
' Restore the Default Printer. Set Application.Printer = Application.Printers(strDefaultPrinter) End With
Exit_cmdCreatePDF_Click: Set objPDF = Nothing Exit Sub Error_cmdCreatePDF_Click: Debug.Print Err.Number & ":" & Err.Description Resume Next End Sub |