Link Search Menu Expand Document

Silent PDF Printing - Delphi

PDF Renderer SDK sample in Delphi demonstrating ‘Silent PDF Printing’

SilentPrinting.dpr
program SilentPrinting;

//*******************************************************************************************//
//                                                                                           //
// Download Free Evaluation Version From: https://bytescout.com/download/web-installer       //
//                                                                                           //
// Also available as Web API! Get Your Free API Key: https://app.pdf.co/signup               //
//                                                                                           //
// Copyright � 2017-2020 ByteScout, Inc. All rights reserved.                                //
// https://www.bytescout.com                                                                 //
// https://pdf.co                                                                            //
//                                                                                           //
//*******************************************************************************************//

{$APPTYPE CONSOLE}

uses
  SysUtils,
  ActiveX,
  Variants,
  Bytescout_PDFRenderer_TLB in 'C:\Program Files\Borland\BDS\4.0\Imports\Bytescout_PDFRenderer_TLB.pas';

var
  document_printer: _DocumentPrinter;
  pages: OleVariant;

const
  PRINTER_NAME: string = 'Microsoft Print to PDF';
  INPUT_FILE_NAME: string = 'multipage.pdf';

begin
  // required for console applications, initializes ActiveX support
  CoInitialize(nil);

  // create an instance of Bytescout.PDFRenderer.DocumentPrinter object and register it.
  document_printer := CoDocumentPrinter.Create();
  document_printer.RegistrationName := 'demo';
  document_printer.RegistrationKey := 'demo';

  // load PDF document.
  document_printer.LoadDocumentFromFile(INPUT_FILE_NAME);

  // Change some printing options for demo purposes
  // (note, some options might be not supported by the printer):

  // change paper orientation
  document_printer.Landscape := true;
  // set number of copies
  document_printer.Copies := 2;
  // set collation
  document_printer.Collate := true;
  // force black and white printing
  document_printer.Color := false;

  // print all document pages to the specified printer
  document_printer.PrintDocument(PRINTER_NAME);

  // to print specific pages use overridden methods allowing to define pages to print:
  // document_printer.PrintDocument_3(PRINTER_NAME, 2, 4); // printer pages from 3 to 5

  // print specific pages
  // pages := VarArrayCreate([0, 4], VT_I4);
  // pages[0] := 0; pages[1] := 2; pages[2] := 3; pages[3] := 4; pages[4] := 6;
  // document_printer.PrintDocument_4(PRINTER_NAME, PSafeArray(TVarData(pages).VArray));

  // document_printer.PrintDocument_2(PRINTER_NAME, '1,3-5,7-');

  // free printer object
  document_printer.Dispose();

  CoUninitialize();
end.

Download Source Code (.zip)

Return to the previous page Explore PDF Renderer SDK