©2002-2016,   Ido Millet,   ido@MilletSoftware.com
Page 111 
Auto-Refreshing Web Dashboards 
You can use Visual CUT to easily implement auto-refreshing dashboards on a web server.  This 
allows users with only a web browser to monitor relevant information.  
Web Dashboard Expert 
When exporting to HTML 40, the options button     launches a window allowing you to set 
various options for post-processing the HTML file. These options include: a) adding an auto-
refresh behavior, b) Setting hyperlinks to launch to new tabs, c) Specifying tab titles and icons, 
d) Removing GUIDs from referenced.png image files, and e) SFTP Uploading HTML and Other 
files to the web server.  
The window generates command line arguments that you can copy to the ‘Arguments’ area in 
the Export/Email tab. These options are then be applied during interactive/scheduled processing.  
A web dashboard using that approach is available at:  
Pdf create fillable form - C# PDF Form Data fill-in Library: auto fill-in PDF form data in C#.net, ASP.NET, MVC, WinForms, WPF
Online C# Tutorial to Automatically Fill in Field Data to PDF
create a fillable pdf form online; asp.net fill pdf form
Pdf create fillable form - VB.NET PDF Form Data fill-in library: auto fill-in PDF form data in vb.net, ASP.NET, MVC, WinForms, WPF
VB.NET PDF Form Data fill-in library: auto fill-in PDF form data in vb.net, ASP.NET, MVC, WinForms, WPF
pdf fillable forms; convert pdf forms to fillable
©2002-2016,   Ido Millet,   ido@MilletSoftware.com
Page 112 
IFrame Approach 
Alternatively, Visual CUT can export a report to HTML "display" page every N seconds. A 
"dashboard" web page, visited by the users web browser:  
a) reloads itself every N seconds using an HTML tag such as: 
<META http-equiv=refresh content=30>  
b) loads the html "display" page into an IFrame areas (think about an IFRame as a picture frame 
for displaying another HTML page). 
Using IFrames allows the hosting page to display multiple reports and use various GUI elements 
(Menus, Tabs, Accordions, and Data Tables). A sample web dashboard using that approach is 
available at: http://www.milletsoftware.com/dash/dash_demo_tabs.html 
user id & password: demo 
Visual CUT keeps refreshing the HTML display page by exporting to it every N seconds, and the 
dashboard page keeps refreshing itself and reloading the HTML display page.  Hence, the user 
experiences an auto-refreshing dashboard by simply having that page open in a browser.  
Here is what the dashboard HTML page may look like: 
Preventing File Locking 
In order to prevent any chance of file locking, Visual CUT can export the reports to one folder 
and then copy (or FTP) the resulting HTML file to the web folder. Here is an example of a 
simple batch file that executes the Visual CUT export and then copies the resulting HTML page: 
"C:\Program Files\Visual CUT 11\Visual CUT.exe" -E "c:\Reports\Dash1.rpt" 
Copy c:\temp\Dashboard_1.html E:\Dashboards\Dashboard_1.html 
Case Study 
Phillip Scheel, a data analyst at CPS Energy, was kind enough to provide a pdf file describing 
the approach and several dashboards he has developed. 
<HTML><HEAD><TITLE>Backlog Dashboard</TITLE> 
<META http-equiv=Content-Type content="text/html; charset=windows-1252"> 
<META http-equiv=refresh content=30> 
<META content="MSHTML 6.00.2900.3314" name=GENERATOR></HEAD> 
<P><IFRAME border=0 name=I1  
frameBorder=0 width=1048 height=20000> 
VB.NET Create PDF from PowerPoint Library to convert pptx, ppt to
Convert multiple pages PowerPoint to fillable and editable PDF documents. Easy to create searchable and scanned PDF files from PowerPoint.
create fillable forms in pdf; convert pdf to fillable form online
VB.NET Create PDF from Word Library to convert docx, doc to PDF in
Edit Bookmark. Metadata: Edit, Delete Metadata. Form Process. Create PDF files from both DOC and DOCX formats. Convert multiple pages Word to fillable and editable
convert word form to pdf with fillable; convert word to pdf fillable form online
©2002-2016,   Ido Millet,   ido@MilletSoftware.com
Page 113 
To allow users to click and open other web pages or any other document type you can assign to 
any report object within Crystal a hyperlink expression.  
A typical approach is to have Visual CUT export a dashboard report, say a summary report of 
Sales By Product Type,  to one HTML page as the main web dashboard. The batch file triggering 
the process can have another command line to trigger bursting of another report, creating one 
HTML page showing Sales by Product within each Product Type: 
Detail_ for_{Product_Type.Product Type Name}.html  
You would then set the hyperlink expression for the Product Type field in the main dashboard 
report to dynamically point to its related detailed HTML page. The user can then click on each 
Product Type field in the main dashboard to drill-down into the detailed information in the 
bursted HTML pages. In a similar manner, drill-downs to related PDF or Excel files can be 
Note: use the Web Dashboard Expert to change hyperlink properties so that they open related 
web pages in a separate Window rather than replacing the content in the dashboard frame. 
To provide users with related information when hovering over elements in the web dashboard, 
simply specify a dynamic tooltip expression for these objects in Crystal.  
By inserting a line break character in these expressions, as in:  
{@Cust} +  Chr(10) + {@Cust_Info}
you can present that content as multiple lines  
e: Firefox seems to be the only browser that doesn’t honor such line breaks.  
Generating HTML via Email Message Body 
Instead of relying on Crystal’s HTML export, you may take advantage of the email message 
HTML editor and Visual CUT’s ability to embed dy
namic values from report fields/formulas in 
the message body (see video demo).  
You can instruct Visual CUT to save the email message body to an HTML file using the 
Email_Message_Save command line argument. You can also skip the actual emailing by 
specifying "VC_Skip_Email" in the Email_To option. 
This technique provides you with full control over the HTML being generated. As shown in the 
video demo above, it allows tables in your web dashboard to adjust to the browser screen size. It 
also allows you to directly add CSS and JavaScript to the generated HTML page. 
VB.NET Create PDF from Excel Library to convert xlsx, xls to PDF
Link: Edit URL. Bookmark: Edit Bookmark. Metadata: Edit, Delete Metadata. Form Process. Create fillable and editable PDF documents from Excel in Visual
create a writable pdf form; convert pdf to pdf form fillable
C# Create PDF from Excel Library to convert xlsx, xls to PDF in C#
Create fillable and editable PDF documents from Excel in both .NET WinForms and ASP.NET. Create searchable and scanned PDF files from Excel.
create a pdf form that can be filled out; convert word to fillable pdf form
©2002-2016,   Ido Millet,   ido@MilletSoftware.com
Page 114 
Cleaning png File References 
When the exported report contains images, Crystal generates uniquely named (using GUIDs) png 
files, which are referenced from within the HTML file. In many cases, you may wish to "clean" 
these file references by removing the GUIDs from the file references and renaming the png files. 
Visual CUT provides two command line arguments to achieve this: TXT_DeGUID_png and 
TXT_Replace_Tokens. See the following user manual sections for more detail: 
Removing GUIDs from png Files Referenced in HTML Exports 
Replacing Content in Text/HTML Files 
Token Approach 
Restricting Access to Web Dashboards 
If you wish to restrict access to your web dashboards, a simple and secure method is described 
here: http://www.javascriptkit.com/howto/htaccess3.shtml 
C# Create PDF from PowerPoint Library to convert pptx, ppt to PDF
Convert multiple pages PowerPoint to fillable and editable PDF documents. Easy to create searchable and scanned PDF files from PowerPoint.
acrobat fill in pdf forms; attach file to pdf form
C# Create PDF from Word Library to convert docx, doc to PDF in C#.
Convert multiple pages Word to fillable and editable PDF documents in both .NET WinForms and ASP.NET. Easy to create searchable and scanned PDF files from
create fill pdf form; convert an existing form into a fillable pdf
©2002-2016,   Ido Millet,   ido@MilletSoftware.com
Page 115 
PDF Functionality 
Creating Bookmarks (Group Tree) in Exported PDF Files [Old Approach
Visual CUT can create a "Group Tree" of bookmark inside exported pdf document.  
It allows users to easily navigate through large PDF files.   
You specify the Bookmark label & page by inserting a string formula in each Group Header 
that contributes a level to the "Group Tree."  The formula/section can be suppressed. 
Naming the Bookmark Formulas: 
For Group Header Level 1, the name of the formula must be VC_pdf_bookmark1 
For Group Header Level 5, the name of the formula must be VC_pdf_bookmark5    
Note: you can add other formulas at the same level (in the same section or split section) by 
adding a digit between 1 and 9.  For example, if you used VC_pdf_bookmark2 for GH2a you 
can use VC_pdf_bookmark21 in GH2b and VC_pdf_bookmark22 in GH2c. 
Structuring the Formulas: 
The formulas must return a string structured as the Bookmark Label, followed by "
" and 
ending with the Page Number where the formula was evaluated. 
The sample report (Visual CUT.rpt) demonstrates this functionality: 
On Group Header 1 the VC_pdf_bookmark1 formula is defined as: 
IF InRepeatedGroupHeader THEN ""  
ELSE {Product_Type.Product Type Name} + "::" + Cstr(PageNumber,0,"") 
On Group Header 2 the VC_pdf_bookmark2 formula is defined as: 
IF InRepeatedGroupHeader THEN ""  
ELSE GroupName ({Product.Product Name}) + "::" + Cstr(PageNumber,0,"") 
After a PDF export, the resulting file has a 2-level hierarchy of Bookmarks and  
clicking on any bookmark takes you to the page associated with that bookmark
C# Create PDF Library SDK to convert PDF from other file formats
Create fillable PDF document with fields. Load PDF from existing documents and image in SQL server. Load PDF from stream programmatically.
convert word document to pdf fillable form; pdf add signature field
VB.NET Create PDF Library SDK to convert PDF from other file
Create fillable PDF document with fields in Visual Basic .NET application. Load PDF from existing documents and image in SQL server.
create a pdf form to fill out; .net fill pdf form
©2002-2016,   Ido Millet,   ido@MilletSoftware.com
Page 116 
Controlling PDF Bookmark Colors (& Text) 
If you include (anywhere) in the Bookmark Label the color constants of crRedcrBlue or 
crGreen (note: case sensitive) Visual CUT would set the color of the bookmark text accordingly 
(and remove the color constant text from the label).   
This functionality is useful for indicating item performance or status visually (e.g., red color 
indicating poor performance).  Note: remember that since you control (via a formula) the 
bookmark text, you can also add various label indicators such as [+][~][!], or [-].       
The level 2 bookmark formula (VC_pdf_bookmark2) in the sample report demonstrates this 
approach as follows: 
IF InRepeatedGroupHeader THEN ""  
IF Average ({@Days_To_Ship}, {Product.Product Name}) > 5.0 THEN  
"[!]crRed " + GroupName ({Product.Product Name}) + "::" + 
ELSE IF Average ({@Days_To_Ship}, {Product.Product Name}) < 3.0 THEN  
"[+]crGreen " + GroupName ({Product.Product Name}) + "::" + 
"[~]crBlue " + GroupName ({Product.Product Name}) + "::" + 
VB.NET Create PDF from OpenOffice to convert odt, odp files to PDF
Create PDF document from OpenOffice Text Document with embedded Export PDF document from OpenOffice Presentation. ODT, ODS, ODP forms into fillable PDF formats.
pdf create fillable form; create fillable form pdf online
C# Create PDF from OpenOffice to convert odt, odp files to PDF in
Create PDF document from OpenOffice Presentation in both .NET WinForms and ASP.NET NET control to change ODT, ODS, ODP forms to fillable PDF formats in Visual
best pdf form filler; convert excel to fillable pdf form
©2002-2016,   Ido Millet,   ido@MilletSoftware.com
Page 117 
Controlling How Many Bookmark Levels Are Initially Expanded  
By default, the resulting PDF file will show only 1 (the top) level of bookmarks expanded, so 
that level-2 bookmarks (if there are any) are visible. Obviously, users can expand/collapse the 
bookmarks by clicking on the + or 
nodes within the Adobe Acrobat reader.  However, you may 
wish to present the users with a pdf where only the top-level bookmarks are initially visible or 
where more levels are initially expanded. 
To change the default number of expanded levels for all processed reports, change the value 
of the PDF_Bookmarks_Open_Levels option in the DataLink_Viewer.ini  
For example: 
To override the default number of expanded levels when processing a specific report, use 
the PDF_Bookmarks_Open_Levels command line argument as follows: 
Where N is the number of levels to be initially expanded.   
For example, to have only the top bookmarks visible, use: 
Guarding Against Null Bookmark Values 
If the field(s) used to control the bookmark label is Null, the whole formula would result in a 
Null value and bookmark processing would be compromised.  If this is a possibility given your 
data you should guard against it using a formula like this: 
IF InRepeatedGroupHeader THEN  
IF IsNull({Product_Type.Product Type Name}) THEN  
" " + "::" + Cstr(PageNumber,0,"") 
{Product_Type.Product Type Name} + "::" + Cstr(PageNumber,0,""); 
©2002-2016,   Ido Millet,   ido@MilletSoftware.com
Page 118 
Generating PDF Bookmarks from within Subreports 
As an alternative to generating bookmark information from Group Header sections in a main 
report (as described above), Visual CUT allows you to specify bookmarks for a given PDF file 
by providing a text file (PDF_Bookmarks.txt) containing the bookmark information.  This file 
must be located in the Visual CUT  application folder and must be structured as follows: 
1.  The 1
line must match the RPT file name of the report being processed  
2.  The following lines provide 4 data elements separated by a "
" delimiter: 
a.  Bookmark Level  
b.  Bookmark Label 
c.  Page Number 
d.  Group Level 1 Value (used only in bursting operations)  
Using "CUT Light" (a User Function Library described on my web site) or any other UFL that 
adds the ability to append text to text files from within Crystal formulas, you can generate this 
text file automatically by embedding formulas in any report or subreport sections.   
Note that this provides functionality that goes beyond the Group Tree limitations of Crystal 
reports.  Crystal can’t generate Group Tree information based on information 
within subreports.  
However, using this technique you can generate Group Tree information as PDF 
bookmarks based on information from both main as well as subreports!   
There are 2 main steps in the process:  
1.  Visual CUT runs the report and, because the report has special UFL formulas, the 
PDF_Bookmarks.txt file gets populated with bookmark information,  
2.  Visual CUT export the report to PDF, detects the presence of PDF_Bookmarks.txt and 
uses it to generate the bookmarks in the exported pdf file. 
If you are interested in using this functionality, I can e-mail you a sample report (demonstrating 
the formulas needed to generate the text file information). I can also e-mail you download 
instructions for evaluating CUT Light (UFL allowing Crystal formulas to create and add data to 
text files).  
©2002-2016,   Ido Millet,   ido@MilletSoftware.com
Page 119 
Adding Bookmarks Using Crystal Formulas as Tags [New Approach
Using a command line argument, you can instruct Visual CUT to look for invisible tags inside 
the pdf file (Crystal formulas with font color set to background color) and to use their content to 
generate bookmarks. Compared to the old approach (described in the previous section), this new 
technique has several advantages: 
1.  The bookmarks link to the exact vertical location (on the linked page) where the 
rendered formula is located.  In the old approach, bookmarks only pointed to at the top of 
the page.  
2.  You can easily generate bookmarks from within subreport and from any report 
section (not just Group Headers). For example, you can generate bookmarks from Detail 
Sections or Group Footers. 
3.  You can control the bookmark text color more completely (instead of a few color 
constants, you can specify any color using RGB (Red/Green/Blue) values. 
4.  You can control the expanded/collapsed state of each bookmark node 
5.  You can control the style of the bookmark node (Regular, Bold, Italics, Bold&Italic) 
6. No need to worry about PageNumber resets, Keep Together, and 
WhilePrintingRecords properties that can cause headaches with the old approach
This is because the new approach doesn’t 
ire specifying a page number and doesn’t 
depend on the evaluation time of the bookmark formulas. 
7. You can avoid the need to use a command line argument by setting 
under the [Options] section of  DataLink_Viewer.ini (only applies to files < 100MB) 
Visual CUT would then process bookmark tags within an exported PDF file. 
Here's an example of the command line argument structure: 
"PDF_Bookmark_Tags:c:\temp\Sales in {@Year_Parameter}.pdf"  Or 
If only one pdf file is specified (as in top example), the source file becomes also the target file. 
The Crystal formulas act as tags for controlling the level, vertical location, text, color, 
expand/collapse status, and style (regular/bold/italic) of the desired pdf bookmarks.   
Setting Up a Crystal Report with pdf formula tags 
You can download a sample report demonstrating the technique from: 
And the resulting pdf file from: 
The sample report uses 3 formulas to generate bookmarks: 
{@Bookmark_L1} is placed in the Group Header level 1 to generate Product Type Name bookmarks 
with bold blue text.  These level 1 nodes are expanded. 
{@Bookmark_L2} is placed in the Group Header level 2 to generate Product Name bookmarks with 
bold text.  These level 1 nodes are collapsed 
©2002-2016,   Ido Millet,   ido@MilletSoftware.com
Page 120 
{@Bookmark_L3} is placed inside the subreport in the Group Header level 1 to generate Customer 
Name. Bookmarks with text colored in different shades of red or green depending on the average time it 
takes to ship orders of that product to the customer.  
The generated bookmarks link not only to the page where the formula was rendered, but also to the exact 
vertical position on that page (minus 20 millimeters to provide some margin).  The bookmarks are created 
for each rendered instance of the formula. For example, if you place the formula in a Group Header 1 you 
will generate a bookmark for each Group at level 1.  
The formula text must be rendered within the formula boundaries in a single line.  Use small font 
sizes: 2 or even 1 to achieve this.  Then, turn the font color to White (or same color as the background) 
to make the formula invisible or, keep the PDF_Tags_Delete_Default option in DataLink_Viewer.ini as 
True and Visual CUT would remove the tag text after processing it. See box below for Sample formula.  
1.  As always, you can use field or formula names within the command line argument. The 
dynamic content of these fields/formulas would be substituted into the argument.  
For example, {@Bookmark_L3} (inside the subreport) dynamically sets the color of the 
bookmark based on the performance of records in that node. Similarly, you may dynamically 
expand the bookmarks for groups with extreme performance measure to focus th
e manager’s 
attention on those areas. 
Visual CUT can remove pdf processing tags from the pdf file after processing those tags.  This is 
controlled by an entry called PDF_Tags_Delete_Default under the [Options] section of 
DataLink_Viewer.ini. By default, this option is set to True.  To ensure all tags are removed, use 
the Replace() function in Crystal to change double quotes into single.  For example, the 
expression for the title in PDF_Bookmark_Tags could be: 
Replace({Customer.Customer Name},"""","'") 
In Crystal, use non-proportional font for the tag formula (avoid Calibri and Bold/Italic 
Here is the commented 
{@Bookmark_L2} formula from the sample report at:   
// Make the font size very small (2 or even 1 point) so content fits in a SINGLE line. 
// The vertical location of the tag (minus default margin of 20 millimeters) controls the vertical  
//     location of bookmark page target.  You can override the margin using an optional argument. 
// The formula always starts with "#BM_Tag::" and ends with "#" 
"#BM_Tag::" + 
"2" +  "||" +  // Bookmark Level. During bursting, levels are shifted up automatically 
Replace({Product.Product Name},"""","
") + "||" +  // Bookmark Text (" 
>> ‘)
"-" + "||" +  //"Expand Status:  + to open the bookmark or - to collapse it.   
"1" + "||" + // Text Style:  0=regular  1=Bold   2=Italic   3=Italic Bold 
"0;0;0" +  // Color as RGB:  3 numbers between 0 and 255 separated by ";"  
// "||10" + // [Optional] Vertical Margin.  Leave commented or uncomment to  
//    override the default of 20 millimeters. 
Documents you may be interested
Documents you may be interested