Winnovative PDF Print for .NET

Winnovative PDF Print Box Winnovative PDF Print can be used in any type of .NET application to silently print PDF documents. The integration with existing .NET applications is extremely easy and no installation is necessary. The downloaded archive contains the assembly for .NET and a demo application. The full C# source code for the demo application is available in the Samples folder. You can select the printer, set the paper size, orientation and margins, print in color or in gray scale, select the range of PDF pages to print.

Winnovative PDF Print does not depend on Adobe Reader or other third party tools.

DownloadDownload ContactSupport
  • Print PDF documents from files, streams or memory buffers
  • Silently print without displaying any print dialog
  • Does not depend on Adobe Reader or other third party tools
  • Allows you to select the printer to be used for printing
  • Allows you to select the paper size, orientation and margins
  • Print password protected PDF documents
  • Add watermarks and stamps during printing
  • Print only a range of PDF pages
  • Get the number of pages in a PDF document
  • Support for .NET 4.0 framework and later
  • Documentation and C# samples for all the features

Code Sample

The code below was taken from the PDF Print demo application available for download in the PDF Print product package. In this sample an instance of the PdfPrint class is constructed and used to silently print a selected PDF document.

private void btnPrintPdf_Click(object sender, EventArgs e)
{
    if (pdfFileTextBox.Text.Trim().Equals(String.Empty))
    {
        MessageBox.Show("Please choose a source PDF file", "Choose PDF file", MessageBoxButtons.OK);
        return;
    }

    // the source pdf file
    string pdfFileName = pdfFileTextBox.Text.Trim();

    // start page number
    int startPageNumber = int.Parse(textBoxStartPage.Text.Trim());
    // end page number
    // when it is 0 the conversion will continue up to the end of document
    int endPageNumber = 0;
    if (textBoxEndPage.Text.Trim() != String.Empty)
        endPageNumber = int.Parse(textBoxEndPage.Text.Trim());

    // create the PDF printer 
    PdfPrint pdfPrint = new PdfPrint();

    // set the license key
    pdfPrint.LicenseKey = "OrSltaGgtaW1o7ultaaku6Snu6ysrKy1pQ==";

    // set the document name
    pdfPrint.DocumentName = "PDF Silent Printing";

    // enable or disable color printing
    pdfPrint.DefaultPageSettings.Color = cbPrintColor.Checked;

    // set the PDF printing color and resolution
    pdfPrint.Color = GetSelectedPrintColor();
    pdfPrint.Resolution = int.Parse(textBoxResolution.Text);

    // select the printer
    string selectedPrinterName = GetSelectedPrinterName();
    if (selectedPrinterName != null)
        pdfPrint.PrinterSettings.PrinterName = selectedPrinterName;

    // set paper size
    PaperSize selectedPaperSize = GetSelectedPaperSize();
    if (selectedPaperSize != null)
        pdfPrint.DefaultPageSettings.PaperSize = selectedPaperSize;

    // set paper orientation
    pdfPrint.DefaultPageSettings.Landscape = GetSelectedPageOrientation() == "Landscape";

    // set paper margins 
    pdfPrint.DefaultPageSettings.Margins = new Margins((int)(float.Parse(leftMarginTextBox.Text) * 100),
        (int)(float.Parse(rightMarginTextBox.Text) * 100),
        (int)(float.Parse(topMarginTextBox.Text) * 100),
        (int)(float.Parse(bottomMarginTextBox.Text) * 100));

    // the demo output directory
    string outputDirectory = Path.Combine(Application.StartupPath, @"DemoFiles\Output");

    Cursor = Cursors.WaitCursor;

    try
    {
        pdfPrint.Print(pdfFileName, startPageNumber, endPageNumber);
    }
    catch (Exception ex)
    {
        // The conversion failed
        MessageBox.Show(String.Format("An error occurred. {0}", ex.Message), "Error");
        return;
    }
    finally
    {
        Cursor = Cursors.Arrow;
    }

    MessageBox.Show("Print Completed", "Print Completed", MessageBoxButtons.OK);
}