Limited time promo

This help topic applies only to novaPDF. If you don't have it yet, you must download it first.

Download now Buy licenses
Adrian (Softland)
Mar 22, 2022
novaPDF 11.x
We strive to keep our help as accurate as possible. If you notice any inconsistencies or outdated info please let us know.
Hello World (ASP.NET) sample is a simple ASP application that generates one PDF file containing the text "novaPDF says Hello World from ASP.NET". The PDF is created using the novaPDF SDK printer driver and is saved in the “upload” folder. It demonstrates the basic use of the INovaPDFOptions interface. The printing job is done using the package System.Drawing.Printing
What this sample does:
  • determines the active profile, makes a copy of it and names it "Test ASP.NET"
  • sets the new profile (Test ASP.NET) as active as well as some mandatory settings
  • generates a test PDF file and saves it in the “upload” folder
  • restores the original settings of the novaPDF SDK printer driver.
To test this sample on IIS, you should set the Application Pool to run under the “Local System” Account. Here’s how you can do this:
  1. In IIS Manager, expand Local computer, the Application Pools folder, right-click the application pool you would like to configure (the one selected for this application/ virtual directory) and click Properties.
  2. Go to the Identity tab.
  3. Click on Predefined and in the list box beside it click Local System. Click OK.

Source code for the ASP sample output display page (Default.aspx):

<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">

<html xmlns="" >
<head id="Head1" runat="server">
    <title>Hello World ASP.NET</title>
<h1>Hello World ASP.NET and novaPDF SDK</h1>
    <form id="form2" runat="server">
        <asp:Label ID="Label1" runat="server" Text="Press the button"></asp:Label>
        <br />
        <asp:LinkButton ID="Link1" Visible="false" runat="server">View folder.</asp:LinkButton>
        <br />
        <asp:Button ID="Button1" runat="server" onclick="Button1_Click" 
            Text="Print to novaPDF" /><br />
        <br />
        1. In IIS Manager, expand the local computer, expand the Application Pools folder, right-click the application pool you would like to configure (the one selected for this application/ virtual directory), and click Properties.
        <br />
        2. Click the Identity tab.
        <br />
        3. Click Predefined, and in the list box beside it, click Local System.
        <br />
        4. Click OK.

Source code for the ASP sample (Default.aspx.cs):

using System;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Drawing;
using System.Drawing.Printing;

// the novapiLib package must be added as a	COM	reference
using novapiLib;
using System.Diagnostics;

public partial class _Default : System.Web.UI.Page

	protected void Button1_Click(object sender, EventArgs e)
			// create the NovaPdfOptions object
			NovaPdfOptions<%VERSION_MAJOR%> pNova = new NovaPdfOptions<%VERSION_MAJOR%>();
			// initialize the NovaPdfOptions object
			pNova.InitializeSilent(PRINTER_NAME, "");
			// get the active profile ...
			string activeProfile = null;
			string newProfileId = null;
			pNova.GetActiveProfile(out activeProfile);
              	//create new profile
			pNova.AddProfile(PROFILE_NAME, PROFILE_IS_PUBLIC, out newProfileId)
			// and set some	options
			pNova.SetOptionString2(NovaOptions.NOVAPDF_DOCINFO_SUBJECT, "ASP.NET Hello document");
			pNova.SetOptionString(NovaOptions.NOVAPDF_SAVE_FILE_NAME, "novaPDFDocument");
			pNova.SetOptionLong(NovaOptions.NOVAPDF_SAVE_FOLDER_TYPE, (int)SaveFolder.SAVEFOLDER_CUSTOM);
			pNova.SetOptionString(NovaOptions.NOVAPDF_SAVE_FOLDER, Server.MapPath("upload/"));
			pNova.SetOptionBool(NovaOptions.NOVAPDF_INFO_VIEWER_ENABLE, 1);
			pNova.SetOptionLong(NovaOptions.NOVAPDF_SAVE_PROMPT_TYPE, (int)SaveDlgType.PROMPT_SAVE_SIMPLE);

			//save the new added profile
			//set the new profile as the active profile

			// print a test	page, using	the	previously set active profile settings
			using (PrintDocument pd = new PrintDocument())
				pd.PrintController = new StandardPrintController();
				pd.PrinterSettings.PrinterName = PRINTER_NAME;
				pd.PrintPage += new PrintPageEventHandler(PrintPageFunction);
			if ((activeProfile.Length > 0) && (activeProfile.CompareTo(PROFILE_NAME) != 0))
			// mark finish changing options so they are saved for the printer
			Label1.Text = "Success.<br />You will find the new printed file in \"/upload\" folder.";
			Button1.Visible = false;

			Link1.Visible = true;
			Link1.Attributes.Add("href", "upload/");
			Link1.Attributes.Add("target", "_blank");
		catch (System.Runtime.InteropServices.COMException come)
			Label1.Style.Add("color", "red");
			Label1.Text = "COM Exception:" + come.Message;
		catch (Exception ee)
			Label1.Style.Add("color", "red");
			Label1.Text = "Exception: " + ee.Message;
	// and finally the function that actually prints the page
	private static void PrintPageFunction(object sender, PrintPageEventArgs ev)
		string str = "novaPDF says Hello World from	ASP.NET";
		Font font = new Font("Arial", 16);
		Brush brush = new SolidBrush(Color.Black);
		ev.Graphics.DrawString(str, font, brush, 20.0f, 20.0f);
		ev.HasMorePages = false;