Buy Now

novaPDF Professional
$62.44 $49.95

novaPDF Standard
$53.27 $39.95

novaPDF Lite
$24.94 $19.95

Awards & Reviews

  • 1_ico
  • 2_ico
  • 3_ico
  • 4_ico

Lockergnome feature

novaPDF is really neat

"novaPDF – Print To PDF Without Breaking The Bank. After downloading and installing the program (which takes all of one minute) you’re ready to print to a PDF. Any program that can print via the standard Windows printer interface can print to PDF (i.e. convert a file to PDF), including text, Word, Excel, […] , novaPDF will convert your files into PDF format without making your wallet cry."

Editor’s Review

This application is great

"[...] Pluses: novaPDF supports multiple profiles. This means that all your settings can be easily saved or loaded. Another great feature is the program’s ability to put bookmarks into the PDF document it creates. Drawbacks/flaws: [none] In conclusion: This application is great for generating PDF documents out of any type of printable data."

Indezine Review

Provides a good balance

"[...] novaPDF provides a good balance between price and performance -- it's a very usable option between free and highly priced PDF creators so that you can provide PDF output capabilities to a large number of users at a reasonable cost."

AC Review

Extremely easy to use

"[...]I highly recommend NovaPDF as a great and very simple way to create standard PDF documents that are fully compatible with Adobe Acrobat Reader. Nova PDF creator is an extremely easy to use and simple PDF creator"

Latest News

April 12, 2010

novaPDF 7.1 was released.

Changes in version 7.1:
  • Added visibility layers for watermarks
  • Added Document Creator option
  • Added Page Scaling options
  • Added option to remove PDF after emailing
  • Added Lithuanian language

You can download version 7 here: Download novaPDF 7.1

Stay Updated

To join, simply enter your email address below and click on Subscribe.

About Us

Softland, the company that develops novaPDF, achieved the Microsoft Certified Partner status with an ISV/Software Solutions Competency. Microsoft Certified Partner
Share
Add comment
Votes: 0
Comments: 0
Note: To be able to use the samples you must install novaPDF SDK as samples work only with it. Download it here: nova PDF SDK.

Hello World (Delphi PDF) sample is a simple Windows console application that prints one page with the "Hello World from Delphi!" text to the novaPDF Printer.
It demonstrates the basic use of the INovaPDFOptions interface. The printing job is made with calls to the global Printer object defined by Delphi. Text is printed using Canvas.TextOut method.
It generates a "Hello World.pdf" file in the working folder.

Notice If you print an existing document using "ShellExecute()" function or you want to handle printing events, you should check the VCL Converter sample instead.

Sample Code:

program HelloWorld; 

{$APPTYPE CONSOLE} 

uses
ActiveX,
Printers,
novaOptions,
novapiLIB_TLB; 

const 

//name of novaPDF Printer
PRINTER_NAME    = 'novaPDF Pro v6'; 

//text to be written in the PDF file
PDF_TEXT        = 'Hello world from Delphi!'; 

//PDF file name
PDF_FILE_NAME   = 'HelloWorld_Delphi.pdf'; 

//Print profile name
PROFILE_NAME      = 'HelloWorld Delphi Profile';
PROFILE_IS_PUBLIC = 0; 

var
hr : HRESULT;
pNova : INovaPdfOptions;
strDefaultProfile : WideString;
bPublicProfile: Integer;
//decomment next code if you use workaround for printer index (see below)
//Device, Driver, Port: array[0..80] of Char;
//DevMode: THandle; 

begin 

//initialize COM
hr := ActiveX.CoInitialize(nil);
if (FAILED (hr)) then begin
  System.Writeln('Failed to initialize COM');
  exit;
end; 

//create one NovaPdfOptions instance
pNova := nil;
hr := ActiveX.CoCreateInstance(
            CLASS_NovaPdfOptions, //CLSID_CNovaPdfSource,
            nil,
            CLSCTX_INPROC_SERVER,
            IID_INovaPdfOptions,
            pNova);
if (FAILED(hr))   then begin
  System.Writeln('Failed to create novaPDF COM object');
  exit;
end; 

//initialize NovaPdfOptions and pass printer name
//if you have an application license for novaPDF SDK,
//pass both the registration name and the license key to the Initialize2() function
//hr := pNova.Initialize2( PRINTER_NAME, '<registration name>', '<license key>');
hr := pNova.Initialize2( PRINTER_NAME, '', '', '' ); 

if (SUCCEEDED(hr)) then begin 

  pNova.SetDefaultPrinter();
 // now the default printer is novaPDF printer but the Printer object is not updated
  // here is a workaround to update the Printer object with the default printer
  // you only need this code if you check later on the Printer.PrinterIndex to find out the default printer
  //Printer.GetPrinter(Device, Driver, Port, DevMode);

  //Printer.SetPrinter(PRINTER_NAME, Driver, Port, 0); 

  // set optional PDF settings
  // create a temporary profile for the current print job,
  // in order to not modify the default profile settings
  pNova.AddProfile2(PROFILE_NAME, PROFILE_IS_PUBLIC);
  // set PDF document Title
  pNova.SetOptionString2(NOVAPDF_INFO_TITLE,
                         'Hello World Delphi Sample', PROFILE_NAME, PROFILE_IS_PUBLIC);
  // set resulting file name
  pNova.SetOptionString2(NOVAPDF_SAVE_FOLDER, '', PROFILE_NAME, PROFILE_IS_PUBLIC);
  pNova.SetOptionString2(NOVAPDF_SAVE_FILE,
                         PDF_FILE_NAME, PROFILE_NAME, PROFILE_IS_PUBLIC);
  //do not show prompt dialog
  pNova.SetOptionLong2(NOVAPDF_SAVE_PROMPT, 0, PROFILE_NAME, PROFILE_IS_PUBLIC);
  //if file exists, override
  pNova.SetOptionLong2(NOVAPDF_SAVE_CONFLICT_STRATEGY,
                       FILE_CONFLICT_STRATEGY_OVERWRITE,
                       PROFILE_NAME, PROFILE_IS_PUBLIC);
  //open document in PDF viewer
  pNova.SetOptionLong2(NOVAPDF_ACTION_OPEN_DOCUMENT, 1, PROFILE_NAME, PROFILE_IS_PUBLIC);
  // set active profile
  strDefaultProfile := '';
  pNova.GetActiveProfile2(strDefaultProfile, bPublicProfile);
  pNova.SetActiveProfile2(PROFILE_NAME, PROFILE_IS_PUBLIC); 

  //start print job
  Printer.BeginDoc();
  Printer.Canvas.Font.Size := 24;
  Printer.Canvas.TextOut( 100,
                          80,
                          PDF_TEXT);
  Printer.endDoc();
  System.Writeln('Print job finished'); 

  //restore default profile
  pNova.SetActiveProfile2(strDefaultProfile, bPublicProfile);
  pNova.DeleteProfile2(PROFILE_NAME, PROFILE_IS_PUBLIC);

  //restore default printer
  pNova.RestoreDefaultPrinter();
end else begin
  System.Writeln('Failed to initialize novaPDF Printer');
end; 

ActiveX.CoUninitialize(); 

end.
Add comment
Name:
Email:
* Comment:
(Use BBcode - No HTML)


Others in this Category
document Word OLE VBNet - SDK sample
document VBNet Converter - SDK sample
document ASP.NET PDF generator - SDK sample
document VCL Converter (Delphi PDF) - SDK sample
document [novaPDF SDK] - Are printer options related to each other? Do I need to set any option before I can set the Save Folder and Save folder options?
» More articles
RSS

Legal Notices Terms of Use

Copyright Softland 2010. All rights reserved.