ScalingColumns

This option is used to print several pages from the original document on a single sheet of printed output by specifying the number of rows and columns.

 

Syntax

ActiveX:

System.Int16 ScalingColumns

DLL:

short GetScalingColumns(HANDLE hIntf)
short SetScalingColumns(HANDLE hIntf, short nNewValue)

 

Parameters

ScalingColumns, nNewValue

Number of columns to fit on a single sheet.

hIntf

Handle to printer returned by any of the DriverInit function calls.

 

Return Value

SetScalingColumns returns 1 if successful, 0 otherwise; ScalingColumns and GetScalingColumns return the current value for the property.

 

Remarks

ScalingOption should be set to SIO_ SIO_FIT for this option to take effect.

The Scaling properties and functions modify the DEVMODE retained by CDIntf instance.

 

To overwrite those settings without modifying the (default) DEVMODE , the following registry entries can be set using SetPrinterParamInt.

 

Registry Entry

Description

SO_EnableScaling

When set to 1, the registry settings overwrite the DEVMODE , otherwise, the registry settings are ignored.

SO_Columns

Same as ScalingColumns.

 

Member of CDIntfEx.CDIntfEx.

 

Example

<Flags()>
Public Enum SCALINGOPTION As Integer
    SIO_NONE = 0  ' No Scaling
    SIO_FITTOPAPERSIZE = 1  ' Scale to fit on a chosen paper size
    SIO_SCALE = 2  ' Scale by a percentage
    SIO_FIT = 3  ' Scale to fit Rows x Columns
End Enum
 
 
<Flags()>
Public Enum FILENAMEOPTIONS As Integer
    ' Please check FileNameOptions for the complete flags version
    NoPrompt = &H1
    UseFileName = &H2
    Concatenate = &H4
    DisableCompression = &H8
    EmbedFonts = &H10
    BroadcastMessages = &H20
    PrintWatermark = &H40
End Enum
 
 
Public Sub Sample()
    ' Constants for Activation codes
    Const strLicenseTo As String = "Amyuni PDF Converter Evaluation"
    Const strActivationCode As String = "07EFCDAB0100010025AFF180A1B9441306C5739F7D452154DB83BB9CECBA2ADE79E3762A69FFC354528A5F4A5811BE3204A0A439F5BA"
    Const AMYUNIPRINTERNAME As String = "Amyuni PDF Converter"
 
    ' Declare a new cdintfex object if it does not exist in the form.
    Dim PDF As New CDIntfEx.CDIntfEx
 
    ' Get a reference to the installed printer.
    ' This will fail if the printer name passed to the DriverInit method is 
    ' not found in the printer’s folder
    PDF.DriverInit(AMYUNIPRINTERNAME)
 
    ' The SetDefaultPrinter function sets the system default printer to the one
    ' initialized by the DriverInit functions.
    PDF.SetDefaultPrinter()
 
    ' Resulting PDF document stored here
    PDF.DefaultDirectory = "C:\Temp"
 
    ' Set Printer options
    PDF.FileNameOptionsEx = FILENAMEOPTIONS.NoPrompt
 
    ' The EnablePrinter() method needs to be called right before each print job. 
    ' Calling the EnablePrinter() method will start a 20 second time-out value
    PDF.EnablePrinter(strLicenseTo, strActivationCode)
 
    ' Set ScalingOption, Scale to fit Rows x Columns pages on one page (Mandatory).
    PDF.ScalingOption = SCALINGOPTION.SIO_FIT
 
    ' Set ScalingColumns, number of columns par page.
    PDF.ScalingColumns = 2
 
    ' Set ScalingRows, number of rows par page.
    PDF.ScalingRows = 2
 
    ' Apply Settings
    PDF.SetDefaultConfig()
 
    ' The BatchConvert method converts a number of files to PDF.
    PDF.BatchConvert("C:\Temp\*.docx")
 
    ' The RestoreDefaultPrinter function resets the system default printer 
    ' to the printer that was the default before the call to SetDefaultPrinter.
    PDF.RestoreDefaultPrinter()
 
    ' This function will simply detach from an existing printer because the handle was created using DriverInit
    PDF.DriverEnd()
 
    ' Destroy PDF object
    PDF = Nothing    
End Sub 
[Flags]
public enum SCALINGOPTION
{
    SIO_NONE = 0,  // No Scaling
    SIO_FITTOPAPERSIZE = 1,  // Scale to fit on a chosen paper size
    SIO_SCALE = 2,  // Scale by a percentage
    SIO_FIT = 3  // Scale to fit Rows x Columns
}
 
 
[Flags]
public enum FILENAMEOPTIONS
{
    // Please check FileNameOptions for the complete flags version
    NoPrompt = 0x00000001,
    UseFileName = 0x00000002,
    Concatenate = 0x00000004,
    DisableCompression = 0x00000008,
    EmbedFonts = 0x00000010,
    BroadcastMessages = 0x00000020,
    PrintWatermark = 0x00000040
}
 
 
public void Sample()
{
    // Constants for Activation codes
    const string strLicenseTo = "Amyuni PDF Converter Evaluation";
    const string strActivationCode = "07EFCDAB0100010025AFF180A1B9441306C5739F7D452154DB83BB9CECBA2ADE79E3762A69FFC354528A5F4A5811BE3204A0A439F5BA";
    const string AMYUNIPRINTERNAME = "Amyuni PDF Converter";
 
    // Declare a new cdintfex object if it does not exist in the form.
    CDIntfEx.CDIntfEx PDF = new CDIntfEx.CDIntfEx();
 
    // Get a reference to the installed printer.
    // This will fail if the printer name passed to the DriverInit method is 
    // not found in the printer’s folder
    PDF.DriverInit(AMYUNIPRINTERNAME);
 
    // The SetDefaultPrinter function sets the system default printer to the one
    // initialized by the DriverInit functions.
    PDF.SetDefaultPrinter();
 
    // Resulting PDF document stored here
    PDF.DefaultDirectory = @"C:\Temp";
 
    // Set Printer options
    PDF.FileNameOptionsEx = (int)FILENAMEOPTIONS5.NoPrompt;
 
    // The EnablePrinter() method needs to be called right before each print job. 
    // Calling the EnablePrinter() method will start a 20 second time-out value
    PDF.EnablePrinter(strLicenseTo, strActivationCode);
 
    // Set ScalingOption, Scale to fit Rows x Columns pages on one page (Mandatory).
    PDF.ScalingOption = (int)SCALINGOPTION.SIO_FIT;
 
    // Set ScalingColumns, number of columns par page.
    PDF.ScalingColumns = 2;
 
    // Set ScalingRows, number of rows par page.
    PDF.ScalingRows = 2;
 
    // Apply Settings
    PDF.SetDefaultConfig();
 
    // The BatchConvert method converts a number of files to PDF.
    PDF.BatchConvert(@"C:\Temp\*.docx");
 
    // The RestoreDefaultPrinter function resets the system default printer 
    // to the printer that was the default before the call to SetDefaultPrinter.
    PDF.RestoreDefaultPrinter();
 
    // This function will simply detach from an existing printer because the handle was created using DriverInit
    PDF.DriverEnd();
 
    // Destroy PDF object
    PDF = null;    
}
// PDF Converter Cpp.cpp : Defines the entry point for the console application.
// 
 
#include <windows.h>
#include <string>
#include <iostream>
#include "CdIntf.h"
#pragma comment (lib, "CDIntf.lib")
 
using namespace std;
 
 
int main()
{
    // Constants for Activation codes
    #define strLicenseTo  "Amyuni PDF Converter Evaluation"
    #define strActivationCode "07EFCDAB0100010025AFF180A1B9441306C5739F7D452154DB83BB9CECBA2ADE79E3762A69FFC354528A5F4A5811BE3204A0A439F5BA"
    #define AMYUNIPRINTERNAME "Amyuni PDF Converter"
 
    // Get a reference to the installed printer.
    // This will fail if the printer name passed to the DriverInit method is 
    // not found in the printer’s folder
    HANDLE PDF = DriverInit(AMYUNIPRINTERNAME);
 
    // The CDISetDefaultPrinter function sets the system default printer to the one
    // initialized by the DriverInit functions.
    CDISetDefaultPrinter(PDF);
 
    // Resulting PDF document stored here
    SetDefaultDirectory(PDF, "c:\\Temp");
 
    // Set Printer options
    SetFileNameOptions(PDF, NoPrompt);
 
    // The EnablePrinter() method needs to be called right before each print job. 
    // Calling the EnablePrinter() method will start a 20 second time-out value
    EnablePrinter(PDF, strLicenseTo, strActivationCode);
 
    // Set ScalingOption, Scale to fit Rows x Columns pages on one page (Mandatory).
    SetScalingOption(PDF, SIO_FIT);
 
    // Set ScalingColumns, number of columns par page.
    SetScalingColumns(PDF, 2);
 
    // Set ScalingRows, number of rows par page.
    SetScalingRows(PDF, 2);
 
    // Apply Settings
    SetDefaultConfig(PDF);
 
    // The BatchConvert method converts a number of files to PDF.
    BatchConvertEx(PDF, "c:\\Temp\\*.docx");
 
    // The RestoreDefaultPrinter function resets the system default printer 
    // to the printer that was the default before the call to SetDefaultPrinter.
    RestoreDefaultPrinter(PDF);
 
    // This function will simply detach from an existing printer because the handle was created using DriverInit
    DriverEnd(PDF);  
 
    // Destroy PDF object
    PDF = nullptr;  
 
    return 0;
}
package Example;
 
import com.jacob.activeX.ActiveXComponent;
 
public class Sample {
    public enum SCALINGOPTION
    {
        SIO_NONE(0),  // No Scaling
        SIO_FITTOPAPERSIZE(1),  // Scale to fit on a chosen paper size
        SIO_SCALE(2),  // Scale by a percentage
        SIO_FIT(3);  // Scale to fit Rows x Columns
        public int value;
        public SCALINGOPTION(int value)
        {
            this.value = value;
        }
        public Object value(){
            return value;
        }
    }
 
    public enum FILENAMEOPTIONS
        {
            // Please check FileNameOptions for the complete version of the flags
            NoPrompt(0x00000001),
            UseFileName(0x00000002),
            Concatenate(0x00000004),
            DisableCompression(0x00000008),
            EmbedFonts(0x00000010),
            BroadcastMessages(0x00000020),
            PrintWatermark(0x00000040),
            MultilingualSupport(0x00000080),
            EncryptDocument(0x00000100),
            EmbedStandardFonts(0x00200000),
            EmbedLicensedFonts(0x00400000),
            Jpeg2000Compression(0x01000000),
            EncryptDocument128(0x40000000);
            public int value;
            public FILENAMEOPTIONS(int value)
            {
                this.value = value;
            }
            public Object value(){
                return value;
            }        
        }
 
    public static void main(String[] args)
    {
        // Constants for Activation codes
        String strLicenseTo  = "Amyuni PDF Converter Evaluation";
        String strActivationCode = "07EFCDAB0100010025AFF180A1B9441306C5739F7D452154DB83BB9CECBA2ADE79E3762A69FFC354528A5F4A5811BE3204A0A439F5BA";
        String AMYUNIPRINTERNAME = "Amyuni PDF Converter";
 
        // Declare a new cdintfex object if it does not exist in the form.
        ActiveXComponent pdf = new ActiveXComponent("CDIntfEx.CDIntfEx.6.0"); 
 
        // Get a reference to the installed printer.
        // This will fail if the printer name passed to the DriverInit method is 
        // not found in the printer’s folder
        Dispatch.call(pdf,"DriverInit",AMYUNIPRINTERNAME);
 
        // The SetDefaultPrinter function sets the system default printer to the one
        // initialized by the DriverInit functions.
        Dispatch.call(pdf,"SetDefaultPrinter");
 
        // Resulting PDF document stored here
        Dispatch.put(pdf,"DefaultDirectory","c:\\Temp");
 
        // Set Printer options
        Dispatch.put(pdf,"FileNameOptionsEx",FILENAMEOPTIONS.NoPrompt.value);
 
        // The EnablePrinter() method needs to be called right before each print job. 
        // Calling the EnablePrinter() method will start a 20 second time-out value
        Dispatch.call(pdf,"EnablePrinter", strLicenseTo, strActivationCode); 
 
        // Set ScalingOption, Scale to fit Rows x Columns pages on one page (Mandatory).
        Dispatch.put(pdf, "ScalingOption", SCALINGOPTION.SIO_FIT.value);
 
        // Set ScalingColumns, number of columns par page.
        Dispatch.put(pdf, "ScalingColumns", 2);
 
        // Set ScalingRows, number of rows par page.
        Dispatch.put(pdf, "ScalingRows", 2);    
 
        // Apply Settings
        Dispatch.call(pdf, "SetDefaultConfig");
 
        // The BatchConvert method converts a number of files to PDF.
        Dispatch.call(pdf,"BatchConvert","c:\\Temp\\*.docx");
 
        // The RestoreDefaultPrinter function resets the system default printer 
        // to the printer that was the default before the call to SetDefaultPrinter.
        Dispatch.call(pdf,"RestoreDefaultPrinter"); 
 
        // Close Printer
        Dispatch.call(pdf,"DriverEnd");
 
        // Destroy PDF object
        pdf = null;        
    }
}
$SCALINGOPTION = @{
    SIO_NONE = 0  # No Scaling
    SIO_FITTOPAPERSIZE = 1  # Scale to fit on a chosen paper size
    SIO_SCALE = 2  # Scale by a percentage
    SIO_FIT = 3  # Scale to fit Rows x Columns
}
 
$FILENAMEOPTIONS = @{
    NoPrompt = 0x00000001
    UseFileName = 0x00000002
    Concatenate = 0x00000004
    DisableCompression = 0x00000008
    EmbedFonts = 0x00000010
    BroadcastMessages = 0x00000020
    PrintWatermark = 0x00000040
#Please check FileNameOptions for the complete flags version
 
# Constants for Activation codes
$strLicenseTo  =  "Amyuni PDF Converter Evaluation"
$strActivationCode = "07EFCDAB0100010025AFF180A1B9441306C5739F7D452154DB83BB9CECBA2ADE79E3762A69FFC354528A5F4A5811BE3204A0A439F5BA"
$AMYUNIPRINTERNAME = "Amyuni PDF Converter"
 
#Declare a new cdintfex object if it does not exist in the form.
$PDF = New-Object -ComObject CDIntfEx.CDIntfEx.6.0
 
#Get a reference to the installed printer.
#This will fail if the printer name passed to the DriverInit method is 
#not found in the printer’s folder
[System.__ComObject].InvokeMember('DriverInit' ,[System.Reflection.BindingFlags]::InvokeMethod,$null,$PDF,$AMYUNIPRINTERNAME) 
 
#The SetDefaultPrinter function sets the system default printer to the one
#initialized by the DriverInit functions.
[System.__ComObject].InvokeMember('SetDefaultPrinter' ,[System.Reflection.BindingFlags]::InvokeMethod,$null,$PDF,$null) 
 
#Resulting PDF document stored here
[System.__ComObject].InvokeMember('DefaultDirectory' ,[System.Reflection.BindingFlags]::SetProperty,$null,$PDF,"c:\\Temp") 
 
#Set Printer options
[System.__ComObject].InvokeMember('FileNameOptionsEx' ,[System.Reflection.BindingFlags]::SetProperty,$null,$PDF,$FILENAMEOPTIONS::NoPrompt)
 
#The EnablePrinter() method needs to be called right before each print job. 
#Calling the EnablePrinter() method will start a 20 second time-out value
[System.__ComObject].InvokeMember('EnablePrinter' ,[System.Reflection.BindingFlags]::InvokeMethod,$null,$PDF, @($strLicenseTo, $strActivationCode))
 
#Set ScalingOption, Scale to fit Rows x Columns pages on one page (Mandatory).
[System.__ComObject].InvokeMember('ScalingOption' ,[System.Reflection.BindingFlags]::InvokeMethod,$null,$PDF,$SCALINGOPTION::SIO_FIT)
 
#Set ScalingColumns, number of columns par page.
[System.__ComObject].InvokeMember('ScalingColumns' ,[System.Reflection.BindingFlags]::InvokeMethod,$null,$PDF,2)
 
#Set ScalingRows, number of rows par page.
[System.__ComObject].InvokeMember('ScalingRows' ,[System.Reflection.BindingFlags]::InvokeMethod,$null,$PDF,2)
 
#Apply Settings
[System.__ComObject].InvokeMember('SetDefaultConfig' ,[System.Reflection.BindingFlags]::InvokeMethod,$null,$PDF, $null)
 
#The BatchConvert method converts a number of files to PDF.
[System.__ComObject].InvokeMember('BatchConvert' ,[System.Reflection.BindingFlags]::InvokeMethod,$null,$PDF, "C:\Temp\*.docx")
 
#The RestoreDefaultPrinter function resets the system default printer 
#to the printer that was the default before the call to SetDefaultPrinter.
[System.__ComObject].InvokeMember('RestoreDefaultPrinter' ,[System.Reflection.BindingFlags]::InvokeMethod,$null,$PDF,$null) 
 
#This function will simply detach from an existing printer because the handle was created using DriverInit 
[System.__ComObject].InvokeMember('DriverEnd' ,[System.Reflection.BindingFlags]::InvokeMethod,$null,$PDF,$null) 
 
#Destroy PDF object
$PDF = $null
' ScalingOption constants
Const SIO_NONE = 0  ' No Scaling
Const SIO_FITTOPAPERSIZE = 1  ' Scale to fit on a chosen paper size
Const SIO_SCALE = 2  ' Scale by a percentage
Const SIO_FIT = 3  ' Scale to fit Rows x Columns
 
' FileNameOptions constants
' Please check FileNameOptions for the complete flags version
Const NoPrompt = 1
Const UseFileName = 2
Const Concatenate = 4
Const DisableCompression = 8
Const EmbedFonts = 16
Const BroadcastMessages = 32
Const PrintWatermark = 64
Const MultilingualSupport = 128
Const EncryptDocument = 256
Const FullEmbed = 512
 
' Constants for Activation codes
Const strLicenseTo = "Amyuni PDF Converter Evaluation"
Const strActivationCode = "07EFCDAB0100010025AFF180A1B9441306C5739F7D452154DB83BB9CECBA2ADE79E3762A69FFC354528A5F4A5811BE3204A0A439F5BA"
Const AMYUNIPRINTERNAME = "Amyuni PDF Converter"
 
' Declare a new cdintfex object
Dim PDF
Set PDF = CreateObject("CDIntfEx.CDIntfEx.6.0")
 
' Get a reference to the installed printer.
' This will fail if the printer name passed to the DriverInit method is
' not found in the printer’s folder
PDF.DriverInit AMYUNIPRINTERNAME
 
' The SetDefaultPrinter function sets the system default printer to the one
' initialized by the DriverInit functions.
PDF.SetDefaultPrinter
 
' Resulting PDF document stored here
PDF.DefaultDirectory = "C:\Temp"
 
' Set Printer options
PDF.FileNameOptionsEx = NoPrompt
 
' The EnablePrinter() method needs to be called right before each print job.
' Calling the EnablePrinter() method will start a 20 second time-out value
PDF.EnablePrinter strLicenseTo, strActivationCode
 
' Set ScalingOption, Scale to fit Rows x Columns pages on one page (Mandatory).
PDF.ScalingOption = SIO_FIT
 
' Set ScalingColumns, number of columns par page.
PDF.ScalingColumns = 2
 
' Set ScalingRows, number of rows par page.
PDF.ScalingRows = 2
 
' Apply Settings
PDF.SetDefaultConfig
 
' The BatchConvert method converts a number of files to PDF.
PDF.BatchConvert "C:\Temp\*.docx"
 
' The RestoreDefaultPrinter function resets the system default printer
' to the printer that was the default before the call to SetDefaultPrinter.
PDF.RestoreDefaultPrinter
 
' This function will simply detach from an existing printer because the handle was created using DriverInit
PDF.DriverEnd
 
' Destroy PDF object
Set PDF = Nothing