©2002-2016,   Ido Millet,   ido@MilletSoftware.com
Page 61 
4.  Specify Name and Frequency for the scheduled task: 
5.  Specify Schedule options.  These options vary depending on the frequency you selected 
above.   
Pdf keywords metadata - add, remove, update PDF metadata in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Allow C# Developers to Read, Add, Edit, Update and Delete PDF Metadata
view pdf metadata; adding metadata to pdf files
Pdf keywords metadata - VB.NET PDF metadata library: add, remove, update PDF metadata in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Enable VB.NET Users to Read, Write, Edit, Delete and Update PDF Document Metadata
adding metadata to pdf; pdf metadata extract
©2002-2016,   Ido Millet,   ido@MilletSoftware.com
Page 62 
6.  Specify your password:   
7.  Select the option to Open advanced properties and click Finish. 
C# PDF Library SDK to view, edit, convert, process PDF file for C#
PDF SDK for .NET allows you to read, add, edit, update, and delete PDF file metadata, like Title, Subject, Author, Creator, Producer, Keywords, etc.
pdf xmp metadata viewer; analyze pdf metadata
How to C#: Basic SDK Concept of XDoc.PDF for .NET
XDoc.PDF for .NET supports editing PDF document metadata, like Title, Subject, Author, Creator, Producer, Keywords, Created Date, and Last Modified Date.
batch pdf metadata editor; pdf metadata editor online
©2002-2016,   Ido Millet,   ido@MilletSoftware.com
Page 63 
8.  The Schedule tab in the advanced properties dialog provides an Advanced button 
Clicking on that button, provides various advanced scheduling options: 
VB.NET PDF: Basic SDK Concept of XDoc.PDF
XDoc.PDF for .NET supports editing PDF document metadata, like Title, Subject, Author, Creator, Producer, Keywords, Created Date, and Last Modified Date.
pdf metadata online; metadata in pdf documents
.NET PDF SDK - Description of All PDF Processing Control Feastures
PDF Metadata Edit. Support editing PDF document metadata: Title, Subject, Author, Creator, Producer, Keywords, Created Date, and Last Modified Date;
pdf metadata reader; clean pdf metadata
©2002-2016,   Ido Millet,   ido@MilletSoftware.com
Page 64 
Using the Settings Tab, you can specify other advanced 
options such as minimum idle time requirement before the 
scheduled task is allowed to begin.   
Be sure to turn on the option of "Wake the computer to run 
this task."  
For a description of why this setting is important (in the 
context of the Vista operating system), see: 
http://support.microsoft.com/kb/930133
9.  After the task is scheduled, it is listed and tracked under 
the Scheduled Tasks folder: 
By double- or right-clicking-clicking any task in the Scheduled Tasks folder, you can 
bring up the scheduling dialog, change settings, rename, run, or disable a task. 
©2002-2016,   Ido Millet,   ido@MilletSoftware.com
Page 65 
Scheduling Issues 
Mapped 
UNC File Paths 
The task scheduler, given that it runs under the local SYSTEM account, may not recognize 
mapped network drives. Recent versions of Visual CUT automatically convert mapped paths to 
UNC paths when you open an rpt from a mapped folder, or when you set up export file locations. 
For example: 
\\server123\ixm7\
{@Year}\Sales for {Product_Type.Name}.pdf 
Instead of:   
P:\
{@Year}\Sales for {Product_Type.Name}.pdf 
But if the report uses a mapped drive in the data source setup, you should change the data source 
definition to use a UNC path instead. 
Windows 7/8 Task Scheduler  
Turn on the "Run with highest privileges
task property (‘General’ tab).
The user account that is setting up the task should be a local administrator.  
On the actions tab, set action to Start a program 
You can simply browse and select the batch file (*.bat or *.cmd).  
Or set the Program/script as cmd.exe and  
the arguments as: /C  C:\Some_Folder\Your_Bat_File.bat 
 
©2002-2016,   Ido Millet,   ido@MilletSoftware.com
Page 66 
Hide Batch (Command) Windows 
To avoid being distracted by the batch file window each time it gets triggered, save the following 
line as invisible.vbs (use Notepad Save As... All Files): 
CreateObject("Wscript.Shell").Run """" & WScript.Arguments(0) & """", 0, False 
In task scheduler, follow this example (use actual paths to invisible.vbs and to your batch file). 
The application in this case is wscript, and the arguments to it are the invisible.vbs followed by 
the batch file. Here is a link to an explanation and other options. 
Note: in cases where you set the task to 'Run whether user is logged on or not' you can simply 
turn on the Hidden checkbox. 
©2002-2016,   Ido Millet,   ido@MilletSoftware.com
Page 67 
Control Processing Options When Encountering Zero Records 
The command line is constructed as the name and path of the executable (surrounded by quotes),  
followed by  
e or -E  and the path and file name of the report (surrounded by quotes): 
"C:\Program Files\Visual CUT\Visual CUT.exe" 
-e
"C:\Program Files\Visual 
CUT\Visual_CUT.rpt"    
Specifying 
e
or 
E 
in the string above causes automatic "Execution" based on encrypted and 
stored logon information, stored parameter values, and the various processing options specified 
& saved during an interactive session in Visual CUT. 
aborts processing of empty reports while 
E 
doesn’
t. 
Specifying 
s
in the string above causes automatic "Show" (Preview Tab) based on logon and 
parameters specified & saved during a previous session in Visual CUT.   
You can also use this to create a simple shortcut for quick viewing of a report. 
If no processing option (-e, -E, or 
s) 
is specified in the Scheduling string, the application’s 
Preview Tab would open for the specified report prompting for Parameters and Logon 
information if required. 
E-mailing Alert Messages and Exception Reports 
Imagine managers at your company wish to receive daily reports showing exceptions such as 
orders with very low profit margins, products with very low inventory levels, late shipments, or 
production runs with very high scrap rates. In most days these exception reports should be empty 
and should not reach the managers.   
Using Visual CUT you can schedule these reports to run as frequently as you wish, but with   
e
rather than 
E
in the command line. This would ensure that during each scheduled 
processing cycle, the e-mail message, and (optionally) the attached report would be sent only if 
exceptions were indeed found.  If no records pass the record selection criteria, exporting, 
e-mailing, and printing of the report are simply aborted.  
This logic applies to the main report.  A case of no records in the main report but some records in 
a subreport is still considered as no records.  
Note: to avoid repeating the same exception email, see Avoiding Duplicate Processing  
Management By Exceptions and Business Activity Monitoring (BAM) are powerful approaches 
to management, and Visual CUT makes them easy
©2002-2016,   Ido Millet,   ido@MilletSoftware.com
Page 68 
Using Command Line Arguments 
Arguments to Specify Parameter Values 
When you open a report in Visual CUT, the values you specify in response to parameter prompts 
are saved in the internal database (Visual CUT.mdb).  In some cases, you may want to invoke 
Visual CUT processing via command line calls while overriding some or all of these stored  
parameter values.  You can do this by specifying additional command line arguments. 
So far, the string used to schedule or launch processing of reports was described as: 
"C:\Program Files\Visual CUT\Visual CUT.exe" 
-e
"C:\Program Files\Visual 
CUT\Visual_CUT.rpt"    
or 
"C:\Program Files\Visual CUT\Visual CUT.exe" 
-E
"C:\Program Files\Visual 
CUT\Visual_CUT.rpt"    
You can add optional arguments to the command lines, which identify the parameter (by its 
number) and specify its value.  For example, using the following string would override the first 
parameter value saved by Visual CUT with the value of 1988 (in the sample Visual_Cut.rpt 
report, the first parameter is the YEAR).   
"C:\Program Files\Visual CUT\Visual CUT.exe" 
-e
"C:\Program Files\Visual 
CUT\Visual_CUT.rpt" "Parm1:1998"    
The value of a date parameter would be specified as: 
"C:\Program Files\Visual CUT\Visual CUT.exe" 
-e
"C:\Program Files\Visual 
CUT\Visual_CUT.rpt" "Parm1:3/10/2003"    
Note that the syntax is constructed as the word "Parm", followed by the number of the parameter 
(according to the order of parameters shown in Crystal), followed by a colon and the value.   
Here’s how you would specify the 1
st
and 3
rd
parameter values: 
"C:\Program Files\Visual CUT\Visual CUT.exe" 
-e
"C:\Program Files\Visual 
CUT\Visual_CUT.rpt" "Parm1:1998" "Parm3:Ido Millet"    
Notes:  
Visual CUT handles the necessary data type conversion to match the parameter data type. 
All command line arguments must be enclosed in double quotes and separated by a 
single space
©2002-2016,   Ido Millet,   ido@MilletSoftware.com
Page 69 
Range and Multi-Value Parameters 
Visual CUT supports all parameter types including multi-value, range, and mixed parameters.  
To learn how such parameter values can be specified via command line arguments, save the 
report settings in Visual CUT, open Visual CUT.mdb in MS Access and observe the parameter 
values saved in the Report_Opt table.   
A multi-value discrete parameter value is specified as follows: 
--------------------------------------------------- 
...  "Parm1:Competition:::Gloves:::Helmets" 
--------------------------------------------------- 
A range parameter (in this case a date range) is specified as follows: 
--------------------------------------------------- 
...  "Parm1:7/15/1996>>>7/15/2003>>>3" 
--------------------------------------------------- 
The 3 at the end indicates the start and end points are included. 
0 at the end would indicate the start and end points are NOT included.  
2 at the end would indicate the start point is included and the end point is not.  
1 at the end would indicate the start point is not included and the end point is.  
Add 4 to these values if there is no Upper Bound.   
Add 8 to these values if there is no Lower Bound. 
For example, this would indicate all dates up to, and including 7/15/2003: 
--------------------------------------------------- 
...  "Parm1:12:00:00 AM>>>7/15/2003>>>9" 
--------------------------------------------------- 
The 12:00:00 AM value is just a place-holder. Any date value would work (will be ignored). 
Request User Input for Certain Parameters 
You can use "ParmN:[?]" command line arguments to indicate that Visual CUT should prompt 
the user for certain parameter values. For example,  
--------------------------------------------------- 
...  "Parm1:Today" "Parm3:[?]"  
--------------------------------------------------- 
Would set the first parameter to today's date, prompt the user for the 3
rd
-parameter, and use saved 
parameter values for all other parameters. This is useful when Visual CUT is called from a 
command line and the user needs to interactively override saved parameter values.  
Null Values 
Null parameter values (for Stored Procedures) are specified in command lines by using the 
constant [VC_NULL].  For example, to specify that the first parameter value is null, use:  
"Parm1:[VC_NULL]
©2002-2016,   Ido Millet,   ido@MilletSoftware.com
Page 70 
Date Constants 
When scheduling reports that have Date or DateTime parameters, you can set the parameter to 
dates relative to the current date.  Visual CUT can do this for discrete or range date parameters.   
The supported constants are: 
1.  TODAY  -or-  YESTERDAY 
2.  TODAY_PLUS_N  -or-  TODAY_MINUS_N  -or-   
TODAY_PLUS_N_PLUS_M  -or- TODAY_MINUS_N_MINUS_M  -or- 
TODAY_PLUS_N_PLUS_M_EOM 
or- TODAY_MINUS_N_MINUS_M_EOM  -or- 
TODAY_PLUS_N_PLUS_M_SOM 
or- TODAY_MINUS_N_MINUS_M_SOM 
3.  START_MONTH_PLUS_M  -or-   START_MONTH_MINUS_M 
4.  END_MONTH_PLUS_M  -or-  END_MONTH_MINUS_
5.  START_YEAR_PLUS_Y  -or-  START_YEAR_MINUS_Y 
6.  END_YEAR_PLUS_Y  -or-  END_YEAR_MINUS_Y 
7.  Nth_N_PLUS_M 
or- Nth_N_MINUS_M 
8.  LAST_MM_DD 
or- NEXT_MM_DD 
9.  Now_Plus_S  -or- Now_Minus_S  -or- Now_GMT_Plus_S -or- Now_GMT_Minus_S 
Where N=days, M=Months, Y=Years, and S=seconds to be added or subtracted.  
For example, if the current date is March 6, 2004 then: 
Today = 3/6/04 
Nth_16_MINUS_1 = 2/16/04 (the 16
th
of the previous month) 
Today_Minus_3 = 3/3/04 
Last_04_01 = April 1, 2003    
End_Month_Minus_1 = 2/29/04 
Start_Year_Plus_0 = 1/1/04 
Start_Year_Minus_1>>>Today>>>3 = Inclusive range of [1/1/03 to 3/6/04 
In the case of Today_Minus_N_Minus_MN is the Days and M is the Months, so: 
Today_Minus_1_Minus_2 = 1/5/2004  (one day and two months earlier) 
Adding _EOM or _SOM to the end of a Today_Minus_N_Minus_constant returns the  
End-of-Month or Start-of-Month, so:  
Today_Minus_1_Minus_2_SOM  = 1/1/2004  (Start of Month for 1/5/2004) 
Today_Minus_1_Minus_2_EOM = 1/31/2004  (End of Month for 1/5/2004) 
For DateTime parameters, Now_Plus_S or Now_Minus_S, returns the current datetime adjusted 
by the number of specified seconds.  For Time parameters, this argument returns just the current 
time adjusted by the number of specified seconds.  For example, if the current datetime is  
June 17, 2008, 5:22:38 PM then Now_Minus_3600 returns  
June 17, 2008, 4:22:38 PM for a DateTime parameter and 4:22:38 PM for a Time parameter. 
Documents you may be interested
Documents you may be interested