Developer Tools
|
Office Productivity Applications
|
Platform-Agnostic APIs
|
Home | Online Demos | Downloads | Buy Now | Support | About Us | News | Working Together | Contact Us
The PDF printer component in Gnostice PDFOne (for the Java™ platform) was introduced in February 2008 with Version 2.0. Since then, the printer component has seen several improvements. In this article, we will see a code snippet that shows you how to leverage many of those enhancements.
To print a PDF document:
PdfDocument
object of a loaded PDF document to the printer object.import javax.print.attribute.standard.MediaTray; import javax.print.attribute.standard.SheetCollate; import javax.print.attribute.standard.Sides; import com.gnostice.pdfone.PDFOne; import com.gnostice.pdfone.PdfDocument; import com.gnostice.pdfone.PdfPageSize; import com.gnostice.pdfone.PdfPrinter; public class PDFOne_PdfPrinter_Demo { static { PDFOne.activate("your-pdfone-activation-key", "your-pdfone-product-key"); } public static void main(String[] args) { PdfDocument d = new PdfDocument(); try { // Load a PDF document d.load("sample_doc.pdf"); // Create a PDF printer object PdfPrinter printer = new PdfPrinter(); // Specify the document that needs to be printed printer.setDocument(d); // Select a printer printer.setSelectedPrinterName( // Name of first printer printer.getAvailablePrinterNames()[0]); // Set margins printer.setPageMargins( // Left, top, right, bottom margins new double[] {1, 0.5, 1, 0.5}, // Measurement units PdfPrinter.MU_INCHES); // Specify page size printer.setPageSize(PdfPageSize.A4); // Specify page orientation printer.setOrientation(PdfPrinter.Orientation_LANDSCAPE); // Specify pages that need to be printed printer.setPageRange("1-8"); // Specify number of copies printer.setCopies(3); // Specify scaling printer.setPageScale(PdfPrinter.SCALE_REDUCE_TO_PRINTER_MARGINS); // Specify how page of different copies need to be collated printer.setPrintSheetCollate(SheetCollate.COLLATED); // Specify paper bin printer.setPrintMediaTray(MediaTray.SIDE); // Specify printing order printer.setReverse(true); // Specify which sides of paper need to be printed on printer.setPrintSides(Sides.TWO_SIDED_SHORT_EDGE); // Show printer dialog to user printer.showPrintDialog(); } catch (Exception ex1) { System.out.println(ex1.getMessage()); } finally { try { // Release I/O resources d.close(); } catch (Exception ex2) { System.out.println(ex2.getMessage()); } } } }
With the "Print" dialog, the actual print command is given by the user. For non-interactive or fully programmatic printing, you can use the PdfPrinter.print(String pageRange, int numOfCopies)
method.
---o0O0o---
Our .NET Developer Tools | |
---|---|
![]() Gnostice Document Studio .NETMulti-format document-processing component suite for .NET developers. |
![]() PDFOne .NETA .NET PDF component suite to create, edit, view, print, reorganize, encrypt, annotate, and bookmark PDF documents in .NET applications. |
Our Delphi/C++Builder developer tools | |
---|---|
![]() Gnostice Document Studio DelphiMulti-format document-processing component suite for Delphi/C++Builder developers, covering both VCL and FireMonkey platforms. |
![]() eDocEngine VCLA Delphi/C++Builder component suite for creating documents in over 20 formats and also export reports from popular Delphi reporting tools. |
![]() PDFtoolkit VCLA Delphi/C++Builder component suite to edit, enhance, view, print, merge, split, encrypt, annotate, and bookmark PDF documents. |
Our Java developer tools | |
---|---|
![]() Gnostice Document Studio JavaMulti-format document-processing component suite for Java developers. |
![]() PDFOne (for Java)A Java PDF component suite to create, edit, view, print, reorganize, encrypt, annotate, bookmark PDF documents in Java applications. |
Our Platform-Agnostic Cloud and On-Premises APIs | |
---|---|
![]() StarDocsCloud-hosted and On-Premises REST-based document-processing and document-viewing APIs |
Privacy | Legal | Feedback | Newsletter | Blog | Resellers | © 2002-2025 Gnostice Information Technologies Private Limited. All rights reserved. |