Some test text!

< Mac samples

Print PDF a File in Ruby

Sample Ruby code for using PDFTron SDK to print a PDF file using the currently selected default printer. It is possible to use this printing functionality in both client and server applications without dependence on any third party components.

Step 1: Get your free trial license key, or sign in

Start Trial
Sign in

Step 2: Add the code:

# Copyright (c) 2001-2019 by PDFTron Systems Inc. All Rights Reserved.
# Consult LICENSE.txt regarding license information.

require '../../../PDFNetC/Lib/PDFNetRuby'
include PDFNetRuby

$stdout.sync = true

# The following sample illustrates how to print PDF document using currently selected
# default printer. 
# The first example uses the new PDF::Print::StartPrintJob function to send a rasterization 
# of the document with optimal compression to the printer.  If the OS is Windows 7, then the
# XPS print path will be used to preserve vector quality.  For earlier Windows versions
# the GDI print path will be used.  On other operating systems this will be a no-op
# The second example uses PDFDraw send unoptimized rasterized data via awt.print API. 
# If you would like to rasterize page at high resolutions (e.g. more than 600 DPI), you 
# should use PDFRasterizer or PDFNet vector output instead of PDFDraw.

	if ENV['OS'] == 'Windows_NT' 
		# Relative path to the folder containing the test files.
		input_path = "../../TestFiles/"
		doc = + "tiger.pdf")
		# Set our PrinterMode options
		printerMode =
		printerMode.SetDPI(100)		# regardless of ordering, an explicit DPI setting overrides the OutputQuality setting
		# If the XPS print path is being used, then the printer spooler file will
		# ignore the grayscale option and be in full color
		# printerMode.SetNUp(2,1)
		# printerMode.SetScaleType(PrinterMode.e_ScaleType_FitToOutPage)
		# Print the PDF document to the default printer, using "tiger.pdf" as the document
		# name, send the file to the printer not to an output file, print all pages, set the printerMode
		# and don't provide a cancel flag.
		Print.StartPrintJob(doc, "", doc.GetFileName(), "", nil, printerMode, nil)
		puts "Done."
		puts "This sample cannot be executed on this platform."