Please enable JavaScript to view this site.

Navigation: Developer Information > Programming Environments

.NET Framework

Scroll Prev Top Next More

You can set the PDF file name from VB.NET or C# using the .NET framework Printersettings.PrintFileName property as documented by Microsoft at:


You should also set the PrinterSettings.PrintToFile property to TRUE:


PrintDocument.PrinterSettings.PrintFileName = "C:\Users\test\AppData\Local\Temp\aFile.pdf"

PrintDocument.PrinterSettings.PrintToFile = true;


You can set any Win2PDF string registry settings using the VB.NET "SaveSetting" function.


SaveSetting "Dane Prairie Systems", "Win2PDF", ValueName, Value


From C#, you can use the same fully qualified SaveSetting function name:


Microsoft.VisualBasic.Interaction.SaveSetting("Dane Prairie Systems", "Win2PDF", ValueName, Value)



Win2PDF behaves the same as a paper printer for all other .NET interfaces. Here's an example for creating a PDF from VB.NET:



Private Sub PrintPageHandler(ByVal sender As Object, ByVal args As Printing.PrintPageEventArgs)

  Static i As Integer = 0

  i = i + 1

  ' Print a line on this page

  args.Graphics.DrawString("Printed a Line on page " & i.ToString, New Font(Me.Font, FontStyle.Regular), Brushes.Black, 50, 50)


  ' Have we printed enough pages?

  If i >= 5 Then

   ' Done all the pages

   i = 0

   args.HasMorePages = False


  ' Not finished, yet

   args.HasMorePages = True

  End If

End Sub


Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

  Dim prn As New Printing.PrintDocument

  ' Select the Win2PDF Printer

  prn.PrinterSettings.PrinterName = "Win2PDF"

  ' Set the PDF file name

  prn.PrinterSettings.PrintFileName = "C:\Users\test\AppData\Local\Temp\aFile.pdf"

  prn.PrinterSettings.PrintToFile = True

  ' Handle the page events

  AddHandler prn.PrintPage, AddressOf Me.PrintPageHandler

  ' Do the print (Printing handled by the print page handler)


  ' Remove the page handler

  RemoveHandler prn.PrintPage, AddressOf Me.PrintPageHandler

End Sub