We assure you that all support requests are taken seriously and are being evaluated by the same team who developed this product. Feel free to check out our FAQ or contact us by using the below form.

Do you have any Question?

If none of the below commonly asked questions answer your inquiry, please don't hesitate to contact us directly. All questions are answered in less than 24 hours.

Printing FAQ

Where can I see a code sample for usage of the pdfprint?
Code samples with Visual Studio solution file you can find in PdfPrinting.zip located in www.terminalworks.com/pdf-print-net/downloads

There is code of our PdfPrintLibraryTest demo application.
In that code, you can see:
  • How to set all available properties in PdfPrint library (PaperSource, Collate, Copies, Pages, Duplex, Print in Color, Print range, Scale document, Landscape / Portrait, Printer Resolution, Paper Size, Show Printer dialog)
  • How to change default printer in C# and get default values for default printer
  • How to get a list of available printers
  • How to set watermark

  • In our PdfPrintLibraryMultiDocumentPrintTest application you can see how to execute print multiple PDF documents as one single print job.
    Can I use pdfprint in windows service?
    Yes, you can.

    The most important thing to know is that user running windows service where pdfprint is used must have rights to print to selected printer - otherwise it will not work.

    Set up windows service to be run as a user account type:
    User account type - causes the system to prompt for a valid user name and password when the service is installed and runs in the context of an account specified by a single user on the network

    If you want to start windows service as local system account, than system local account must have printer rights.
    NOTE: Following instruction were found at: http://support.microsoft.com/kb/184291
    To set up printers for the SYSTEM account, perform the following:

    This method requires you to modify the registry using the Registry Editor.

    WARNING: Using Registry Editor incorrectly can cause serious, system-wide problems that may require you to reinstall Windows to correct them.
    Microsoft cannot guarantee that any problems resulting from the use of Registry Editor can be solved.
    Use this tool at your own risk.
    Ensure that the user you are currently logged into on the server has the desired printers installed.
    Launch the Registry Editor (Regedit.exe).
    Select the following key:
    HKEY_CURRENT_USER\Software\Microsoft\Windows NT\Current Version\Devices

    From the Registry menu, click Export Registry File.
    In the File Name text box, type c:\Devices.reg.
    Select the following key:
    HKEY_CURRENT_USER\Software\Microsoft\Windows NT\Current Version\PrinterPorts

    From the Registry menu, click Export Registry File.
    In the File Name text box, type c:\PrinterPorts.reg.
    Select the following key:
    HKEY_CURRENT_USER\Software\Microsoft\Windows NT\Current Version\Windows

    From the Registry menu, click Export Registry File.
    In the File Name text box, type c:\Windows.reg.
    From the Start button, select Run. Open Devices.reg in Notepad by typing Notepad Devices.reg in Run dialog box.
    Save the file. Then import it into the registry by double-clicking the file in Windows Explorer.
    Repeat steps done for Devices.reg for PrinterPorts.reg and Windows.reg.
    These steps only work for local printers.

    If you are using PrintWithAdobe method, please also read Can PdfPrint use Adobe for silent printing?
    Can PdfPrint use Adobe for silent printing?
    PrintWithAdobe method uses preinstalled Adobe Reader / Professional for silent printing.
    It works for 32 and 64 bit processes. That method will not works in this cases:
  • in windows service / ASP.net service it will not work if installed version of Adobe Reader is higher than 9.5
  • Adobe Reader / Professional isn't already installed on computer where pdfprint library is used

  • Additional limitations with PrintWithAdobe method:
  • Orientation: auto doesn't work correctly in some cases if PDF document has different size pages. Orientation is determined based on first page which should be printed, so if some of the next pages needs different orientation than the first page to be printed than it will not work correctly for that page.
  • Scale: Fit to margins has same effect as Reduce to margins.
  • Option to enable / disable content centering isn't available. If Scale:None then it isn't centered. It Scale: Fit to margins or Reduce to margins than it is automatically centered.
  • Multiple page ranges to be printed aren't supported. It is supported for example 1-3 but isn't 1-3,4-6 or 1,2,3
  • Printing multiple documents as single printer job aren't supproted
  • It isn't possible to set Watermark on printed PDF document

  • Printing with default pdfprint engine doesn't have above limitations.
    Are paper sources (input trays) and output trays supported?
    PdfPrint library has support for papersources.

    private static PaperSource GetPaperSource(PrinterSettings printerSettings, string paperSourceName)
        foreach (PaperSource paperSource in printerSettings.PaperSources)
            if (paperSource.ToString().Equals(paperSource))
                return paperSource;
        return null; // Paper source not found

    var pdfprint = new PdfPrint("your company name", "your key");
    var printerSettings = new PrinterSettings();
    pdfPrint.PaperSource = GetPaperSource("name of your input tray"); // it is case sensitive

    PdfPrint library doesn't have support for output trays.
    .NET PrinterSettings class has property for setting PaperSource and PaperSource is standard setting.
    Output trays aren't standard printer property - and every printer which supports it handle it differently so it isn't possible to have one general solution which will work for every printer.

    So what to do if you want to print to specific output tray?
    Only option is that you use property SettingDialog to show Printer settings dialog.
    If not set through SettingDialog, printer default output tray will be used.
    Can I include PdfPrintingNet.dll in my setup file? (ClickOnce, MSI, ...)
    PdfPrintingNet.dll is standalone dll library. It is signed with public key.
    It could be included in ClickOnce, MSI and other types of Windows setup file.
    How page scaling in printing works?
    PdfPrint has 3 different scaling options in printing:
    1. Actual Size - it leaves page as it is. If content of the page is larger than printer printable area, than part of the content will be truncated.
    2. Fit to margin - if content of the page is bigger or smaller than the printable area, content will be re-sized so it fits printer printable area.
    3. Shrink to margins - if content of the page is larger than printable area, content will be downsized. If it isn't bigger than printable area, content size will stay the same.

    Different printers has different printable area.

    For PrintWithAdobe() method, due to technical limitations, Fit to margin behaves as Shrink to margins.
    Is PdfPrintingNet.dll signed with public key?
    PdfPrintingNet.dll is signed with public key.
    Can I merge PdfPrint with ilmerge tool?
    No, it won't work.

    executing ilmerge to merge pdfprint dll with another executable will not give you any error, but still it won't work.
    PdfPrint dll is standalone and must stay like that - located in the same folder as the executable which uses pdf print library.
    Can I use PdfPrint library in ASP.NET?
    Silent printing will work if these conditions are satisfied:
    • Selected printer must be "visible" to the IIS application pool user running ASP.NET web-site. That means that it must be possible to print to selected printer from the computer where IIS is running. If you can print from whatever application from IIS server to the desired printer as the user running IIS application pool, then printing should also work from our library. Printing to visitors local printer isn't possible except if that printer is already visible from IIS server.
    • If you are using PrintWithAdobe method instead of default Print method, then installed version of Adobe Reader must be 9.5 or older.

    Converting PDF pages to images will work.
    Is supported printing multiple PDF documents as one single printer job?
    From version printing multiple PDF document as one single printer job is available for our standard Print engine.
    PrintWithAdobe(), due to technical reasons, doesn't have that functionality.
    What is the difference between Viewer, Print and Full license?
    Viewer license allows displaying PDF document in Viewer component without any limitations.
    Also, it allows printing loaded document directly from Viewer component.
    Viewer license doesn't support silent printing.

    Print license allows to print or convert PDF document silently without any limitation.
    If the Viewer component displays the document, it will show demo sign.
    If the Viewer component prints the document, then it will print it without demo sign.

    Full license allows to print, convert and display PDF document without any demo limitation.
    How AutoRotate property works?
    It rotates PDF content according to selected paper orientation.
    If content of the page has greater width than height, and paper orientation is Portrait than it will rotate the content for 270 degrees.
    If content of the page has greater height than width, and paper orientation is Portrait than content will stay the same.
    If content of the page has greater height than width, and paper orientation is Landscape than it will rotate the content for 270 degrees.
    If content of the page has greater height than width, and paper orientation is Landscape than content will stay the same.

    For default Print() method AutoRotate works per PDF page. If PDF document has more pages with different pages for every one of them will be applied described logic.
    For PrintWithAdobe() method orientation is determined based on the content of the first page which will be printed. That can create problem if pages with different page sizes are printed. That is one of the know limitations of PrintWithAdobe() method.
    Can I set duplex, collate and copies per single document in multi-document print?
    Duplex, copies and collate can't be set per single document in multi-document print.
    This is an internal limitation in the Win32 printing system, and we can't override that.
    This three properties can only be set initially for the print job.
    Other printing properties (paper size, paper source, page orientation...) are page specific, and they can be set.

    Viewer Component FAQ

    How to license PdfViewer object?
    First, you need valid viewer license.
    PdfPrintingNet library has 3 different licensing types: Viewer, Print and Full.
    If your license type is Viewer or Full than you have valid Viewer license and you have received correct license key in email when you purchase PdfPrintingNet library.

    In your source code, you will have something like this:
    var pdfViewer = new PdfViewer();
    pdfViewer.SetLicenseInfo("your company name", "your license key");
    When calling the Print() method on the Viewer component I get the print dialog. Can I silently print a document?
    No, for advanced print settings or silent printing you need to use the Full license of our PDFPrinting.NET library.
    Can I use Viewer component in WPF?
    Yes, it is possible to use it through WindowsFormHost component.
    We recommend that you look at our demo application PdfViewerPDFDemo located in PdfPrinting.zip.

    To license it:
    In PdfViewerWPFDemo project -> MainWindows.xaml.cs, after InitializeComponent(); line, please add this line:
    ((PdfViewer)(windowsHost.Child)).SetLicenseInfo("your company", "your demo key");
    How to add PdfViewer component on my Windows Form in design time from Visual studio?
    1. In your project reference PdfPrintingNet.dll
    2. Build your project.
    3. In Visual Studio go to Toolbox -> Choose Items -> Browse... -> Select PdfPrintingNet.dll on your disk
    4. That will add PdfViewer in .NET framework components. Check it and press OK.
    Does Viewer component respects PDF permissions?
    Our library retrieves following permissions from PDF document:
    • Print
    • Modify
    • Comments / Annotations
    • Document Assembly
    • Content Extraction
    • Content Extraction For Accessibility
    • Filling of form fields
    • Full qualify print

    A current version of our library uses only Print / Full quality print and Content Extraction / Content Extraction For Accessibility.
    Other are available only as information.

    In the future version where it will be possible to edit PDF document, other permissions will be respected.
    Can I remove some of the options on the toolbar of Viewer component?
    Yes, you can hide completely toolbar or you can hide just some of the options of the toolbar.
    For example, you could hide the page selection elements and then only allow your users to view a single page.

    You can change it:
    1. from Visual Studio in design time - in properties window of the toolbar
    2. programmatically from you code
    Why is print button on the Viewer component grayed out?
    This occurs in case the PDF document which you opened has permissions set to disallow printing.
    You can check out the permission of the document by calling the GetPermissions method on the component.
    What are available shortcuts on Viewer component?
    Available Shortcuts in Viewer Component

    CTRL + ASelect all text
    CTRL + SHIFT + ADeselect all text
    CTRL + CCopy selected text or image to clipboard
    SHIFT + RIGHTGo to next page
    CTRL + PPrint
    CTRL + OOpen
    CTRL + FSearch
    CTRL + YZoom to
    CTRL + 0Zoom to fit to page
    CTRL + 1Zoom to actual size
    CTRL + WClose Document
    CTRL + BToggle bookmarks
    CTRL + DShow document info
    CTRL + SHIFT + ADDRotate clockwise
    CTRL + SHIFT + SUBTRACTRotate counter-clockwise
    PAGE UPGo to previous page
    PAGE DOWNGo to next page
    SHIFT + LEFTGo to previous page
    SHIFT + RIGHTGo to next page
    CTRL + SHIFT + NGo to page
    HOMEGo to first page
    ENDGo to last page
    ALT + LEFT Go to previous visited page
    ALT + RIGHTGo to next visited page

    Editor Module FAQ

    Where can I see some examples how to use PdfEdit?
    In PdfPrinting.zip (available in downloads page) there are sample applications with its source code.
    There is source code for three sample applications:
    • CreateInvoice - simple example which creates an invoice. A good example to see how to create new PDF document and how to write text with special font and images to it.
    • DocumentMergeSplitExtractRemove - how to extract, remove, split or merge pages from existing PDF document.
    • PDFProtection - how to set PDF encryption and user access permissions.
    Does PdfEdit support AES256 encryption and which encryption to use?
    PDFEdit supports all encryption algorithms defined by official PDF reference manual.

    Supported encryption algorithms are: RC4 40 bit, RC4 custom length key length, RC4 128 bit, AES 128 bit, AES 256 bit - weak type (not recommended!), AES 256 bit - strong type

    AES 256 bit is the most secure encryption, but not all PDF readers aren't yet able to use it. For good security and compatibility, we suggest AES 128 bit.
    Which are user access permissions supported in PDFEdit?
    PDFEdit supports all user access permissions defined by official PDF reference manual.

    Supported user access permissions are: Permit Print, modify document, extract content, annotations, forms fill, accessibility extract content, assemble document, and full quality print.
    You can set user access permissions, but it is up to PDF reader if those permissions will be respected.

    Reference Documentation

    The reference documentation contains all classes, methods, and properties offered through our library. In case you are looking for a tutorial, please download our Quick Start Guide.

    Quick Start Guide

    Quick start guide contains FAQ, examples, and other useful information.

    Ready to get started? Get your PDFPrinting.NET demo now!