ghostscript.net convert pdf to image c# : Add fillable fields to pdf online software control project winforms web page windows UWP Visual_CUT_User_Manual18-part1544

©2002-2016,   Ido Millet,   ido@MilletSoftware.com
Page 181 
Splitting Workbook & Inserting into a Template (faster method) 
If you need to burst one report and insert many resulting files into a template, 
XLS_Range_Insert_File_Split provides a faster process by processing a single Excel file as a 
source data and splitting it by the values in the first column of the spreadsheet.  
Expect speeds of about 8 files per second
Here is an example of how the command line argument is structured: 
"XLS_Range_Insert_File_Split:C:\TEMP\Template.xlsx::9500>> 
C:\TEMP\[1stColumnValue].xlsx>>c:\temp\DataSource.xls 
||Sheet1||B5||[Remove_Content_Top_Row]" 
The elements (after the "XLS_Range_Insert_File_Split:") are separated by a ">>" and are as 
follows: 
1. Template excel file followed by :: and the last data row number in the template file.   
2. Resulting excel file.  The [1stColumnValue] token is replaced by the value in the 1
st
column, 
allowing each resulting file to have a dynamically controlled path & name.  
3. Data source & insert instructions consisting of 4 "||" delimited elements: 
a) Excel (data Only) export file to be inserted (can be xls or xlsx) 
b)  Target sheet in template 
c)  Target cell in template 
d)  Options (may leave blank): 
[Remove_Content_Top_Row] skips the top row of the source data excel file. 
Keeping the Template File Small 
The template file must be populated by at least as many rows as in the largest set of inserted 
rows. The process removes surplus rows. Template files with less rows keep the process faster. 
You can use a Crystal formula in GF1 to establish the maximum rows in any group: 
NumberVar MaxRows; 
Local NumberVar GroupRows := Count ({Employee.Last Name}, {Employee.Last Name}); 
IF GroupRows > MaxRows Then MaxRows := GroupRows;
And in Visual CUT refer to a Report Footer formula to dynamically point the process at a 
differently sized template: 
NumberVar MaxRows; 
Select MaxRows 
Case is < 100: "C:\XLS_Range_Insert_File\Template99.xlsx::99"  
Case is < 991: "C:\XLS_Range_Insert_File\Template990.xlsx::990" 
Default: "C:\XLS_Range_Insert_File\Template9976.xlsx:9976"  ; 
Notes  
a)  The data in the 1
st
column is used only to drive the process (splitting and naming of the 
resulting files. It does not get inserted into the template. 
b)  This functionality is currently available only in Visual CUT 11. 
c)  This functionality delegates some processing to DataLink Viewer 2011. The latest version 
must be installed on the same machine as Visual CUT. 
d)  Use Auto-Filter rather than Table in the template. 
Add fillable fields to pdf online - 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
convert pdf to form fill; change font size in pdf fillable form
Add fillable fields to pdf online - 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
c# fill out pdf form; convert pdf to form fillable
©2002-2016,   Ido Millet,   ido@MilletSoftware.com
Page 182 
e)  Summary formulas below the template data range should use INDIRECT() to refer to the last 
cell in a column.  For example:  
SUM(E5:INDIRECT("E" & ROW()-1)) instead of SUM(E5:E9776) 
f)  Save the template file with the selected cell at the top rather than the bottom of the sheet. 
Token Substitution 
If you wish to replace the text content of certain cells in the template with dynamic information 
from each data slice, you can do so by expanding the content of the 1
st
data column like this: 
Sales by Leverling^^[[Title]]->Leverling||[[Rows]]->46 
The first part, before the ^^ is the content that would drive the new file names using the 
[1stColumnValue] token.  
The following text is treated as From->To pairs, separated by || delimiters. 
Here is an image demonstrating the tokens being substituted: 
C# PDF Field Edit Library: insert, delete, update pdf form field
PDF form creator supports to create fillable PDF form in C# Able to add text field to specified PDF file position Able to delete form fields from adobe PDF file.
create fillable form from pdf; add fillable fields to pdf online
C# Create PDF Library SDK to convert PDF from other file formats
Create fillable PDF document with fields. creating a PDF document in C#.NET using this PDF document creating toolkit, if you need to add some text and
auto fill pdf form fields; convert word form to pdf with fillable
©2002-2016,   Ido Millet,   ido@MilletSoftware.com
Page 183 
Inserting Crystal Values into Excel Templates  
Using a command line argument, you can instruct Visual CUT to replace named ranges inside 
MS Excel spreadsheets with values of formulas with matching names. The file can then be saved 
to a new dynamically named file and emailed as part of a bursting Visual CUT process. 
The advantage of this technique over directly exporting/bursting a Crystal report to excel 
spreadsheets is that you can keep and control all elements in the template spreadsheet. For 
example, the template spreadsheet may have formulas, conditional formatting, hidden 
columns, and macros.     
Here's an example of the command line argument structure: 
… 
"XLS_Range_Insert:c:\template.xls>>c:\target.xls" 
The arguments (after the "XLS_Range_Insert:") are separated by a ">>" and are as follows: 
1. The path & name of the template XLS file (containing named ranges).  
2. [optional] The path & name of the resulting XLS file.  If the command line specifies only a 
template file, that file will simply be updated.  
As always, the files path & name can contain dynamic references. For example: 
… 
"XLS_Range_Insert:C:\temp\Master.xls>>c:\temp\{Faculty.Faculty_Name}_{[yyyy]}.xls"  
Or, if the source file needs to be updated (without creating a new file: 
… 
"XLS_Range_Insert:c:\temp\{Faculty.Faculty_Name}_{[yyyy]}.xls" 
Specifying Named Ranges in the Excel Template and Matching Formulas in Crystal 
To create a named range in excel, simply select the cell(s) and type a name for the range in the 
cell address area above column A.  
To identify a formula in a Crystal report that should provide the value(s) for a named range, the 
formula name must start with VC_XLS_Range_Insert_  followed by the range name.   
For example, the formula VC_XLS_Range_Insert_Ref_J would insert values into a named 
range called Ref_J . 
Notes: 
- Visual CUT can handle named ranges even if they reside inside hidden tabs.  
Crystal’s formula string length is limited to 65,534 characters.
- In order for Visual CUT to recognize the value of the Crystal formula, it must be placed in: 
1. The Report Header or Footer or 
2. Group Header 1 or Group Footer 1 if the report is being burst by Visual CUT. 
The named ranges must have a Workbook scope. If you create a named range and then make 
a copy of the sheet within the same workbook, you will need to use the Name Manager within 
Excel to rename and set the scope of the named range to ‘Workbook’.
VB.NET Create PDF from Word Library to convert docx, doc to PDF in
to PDF; VB.NET Form: extract value from fields; Highlight Text. Add Text. Add Text Box. Drawing Markups. PDF Convert multiple pages Word to fillable and editable
create a pdf with fields to fill in; add attachment to pdf form
VB.NET Create PDF from PowerPoint Library to convert pptx, ppt to
Add Password to PDF; VB.NET Form: extract value from fields; Convert multiple pages PowerPoint to fillable and editable PDF documents. Add necessary references:
convert word to fillable pdf form; convert excel spreadsheet to fillable pdf form
©2002-2016,   Ido Millet,   ido@MilletSoftware.com
Page 184 
Crystal Formula Content for Multi-cell and multi-row Named Ranges 
For a single cell named range, the Crystal formula can simply return the desired text. 
For multiple cells in a single row named range, the formula value must be a strings delimited 
according to the following structure:  
- Multiple cells should be separated with a "||" delimiter. 
- Multiple rows should be separated with a "&&" delimiter  
The named range doesn’t need to hav
e as many row cells as elements in the formula row. Visual 
CUT starts inserting cells in the left-most column of the named range and continues with as 
many cells there are in each formula row.   
The named range the template Excel spreadsheet should have at least 2 rows if the formula will 
provide more than one row of data.  Visual CUT will expand the named range to accommodate 
the number of rows. 
Blank cell values should be provided as [vc_null] 
Here is an example of this approach in the context of populating a named range (Ref_J) with 
faculty refereed journal publications.  The final formula simply returns the value of a global 
string variable that has been accumulated via other formulas: 
GH1 Formula to reset the global string variable: 
WhilePrintingRecords; 
Global stringvar Range_Values := "";
Detail Formula to accumulate the information into the Range_Values string variable: 
WhilePrintingRecords; 
Global stringvar Range_Values; 
Local StringVar New_Range_Values; 
Local stringvar ls_REF_J_Date; 
IF IsNull({REF_J.Date}) Then  
ls_REF_J_Date := "[vc_null]" 
else 
ls_REF_J_Date := {REF_J.Date};   
New_Range_Values :=  
{REF_J.Title} & "||" &  
{REF_J.Journal Name} & "||" & 
ls_REF_J_Date & "||" &   
"[vc_null]" & "||" &  
ls_REF_J_Points ;  
IF Len(Range_Values) = 0 Then 
Range_Values := New_Range_Values 
Else 
Range_Values := Range_Values & "&&" & New_Range_Values; 
VB.NET Create PDF from Excel Library to convert xlsx, xls to PDF
Add Password to PDF; VB.NET Form: extract value from fields; Create fillable and editable PDF documents from Excel in Visual Basic .NET Add necessary references:
asp.net fill pdf form; converting a word document to pdf fillable form
VB.NET Create PDF Library SDK to convert PDF from other file
Create fillable PDF document with fields in Visual Basic .NET application. Add necessary references: RasterEdge.Imaging.Basic.dll.
convert fillable pdf to html form; create fill pdf form
©2002-2016,   Ido Millet,   ido@MilletSoftware.com
Page 185 
Group Footer Formula:  {@VC_XLS_Range_Insert_Ref_J
with a name matching the named range in the spreadsheet: 
WhilePrintingRecords; 
stringvar Range_Values;
Populating Multiple Named Ranges  
To populate multiple named ranges, you simply need to have multiple formulas in the Crystal 
report.  Each formula must be named (as explained above) to match the desired named range in 
the excel spreadsheet.  
Visual CUT loops through all named ranges in the excel workbook and, if it can find a matching 
Crystal report formula, it will undertake populating the range with the formula value(s).   
In some cases, the data for different named ranges may require formulas in different Crystal 
reports.  You can simply create a multi-line batch file that calls one report and populates some 
named ranges, and then calls another report to populate other named ranges.  
Notes: 
You can specify the final target file as the email attachment since the 
XLS_Range_Insert processing occurs before emailing. 
If you wish to protect the resulting file from user editing, you may also use 
XLS_Protect_Worksheets described in a previous section. 
After the process of populating the ranges, Visual CUT sets the resulting workbook to 
open to the original sheet and selection that were last set in the source workbook. 
C# PDF Text Box Edit Library: add, delete, update PDF text box in
PDF file online in ASP.NET. Support to use C# source code to add text box to specified PDF position in C#.NET framework. Able to create a fillable and editable
pdf fillable form creator; create fillable pdf form
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 C# Demo Code: Convert Excel to PDF in Visual C# .NET Add necessary references
create a fillable pdf form online; convert excel to fillable pdf form
©2002-2016,   Ido Millet,   ido@MilletSoftware.com
Page 186 
Before & After Images  
Here is what a portion of a template spreadsheet may look like  
with a named range (Ref_J) selected: 
And here is that same range in the resulting excel file after Visual CUT automatically populated 
and expanded it with data from the {@VC_XLS_Range_Insert_Ref_JCrystal formula: 
C# Create PDF from PowerPoint Library to convert pptx, ppt to PDF
Convert multiple pages PowerPoint to fillable and editable PDF documents. C#.NET Demo Code: Convert PowerPoint to PDF in C#.NET Add necessary references:
auto fill pdf form from excel; fillable pdf forms
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 C#.NET Sample Code: Convert Word to PDF in C#.NET Project. Add necessary references:
convert pdf fill form; change pdf to fillable form
©2002-2016,   Ido Millet,   ido@MilletSoftware.com
Page 187 
Transferring Tabs To Another Workbook  
Using a command line argument, you can instruct Visual CUT to transfer tabs from one 
workbook to another and even rename the transferred tabs based on Crystal fields/formulas.  
This is particularly useful when bursting report information into named ranges in a template 
workbook, and then gathering the resulting tabs into a single workbook with multiple tabs. 
Here's an example of the command line argument structure: 
… 
"XLS_Transfer_Tabs:[c:\my.xls||Tab1::Tab2]>>[c:\{@WB}.xls}||{@Tab1}::{@Tab2}]" 
The arguments (after the XLS_Transfer_Tabs:) are grouped into two main parts, each 
surrounded by square brackets and separated by a ">>": 
1. The first part specifies the source excel workbook and, after a || delimiter, the list of tab names 
(separated by :: from each other) that should be transferred to the target workbook.   
2. The second part specifies the same information, but for the target workbook.  
Notes: 
a) 
The target tabs can specify different names than the source tabs.  Renaming occurs based 
on the position within the list of tabs. 
b) 
If 
the source workbook doesn’t exist, it gets created.
c) 
If a target tab already exists in the target workbook, it gets replaced. 
d) 
Since this argument executes after XLS_Range_Insert, the two processes can be chained 
into one command line. 
e) 
As always, the files path & name can contain dynamic references.  
©2002-2016,   Ido Millet,   ido@MilletSoftware.com
Page 188 
Splitting Excel Workbooks by Tabs 
Using a command line argument, you can instruct Visual CUT to split an Excel workbook so 
each tab becomes a separate PDF or Excel file.  
Here's an example of the command line argument structure: 
… 
"XLS_Split_Tabs:c:\my.xlsx||PDF||c:\new_[Tab_Name].pdf||Landscape||True" 
The parameters (after the ":") are separated by a "||" and are as follows: 
1. Source_WorkBook: path & name of the source excel file (e.g. c:\temp\Sales.xls)  
2. Target File Format: PDF or XLSX  
3. Target File: the path and name of the target file for each tab. The [Tab_Name] token 
gets replaced with the name of the tab. 
4. PDF Page Orientation: Landscape or Portrait 
5.  Ignore Print Areas: True (include all content) or False (include Print Areas Content) 
Notes: 
a) 
Blank/Hidden tabs and skipped 
b) 
If a target file for a given tab already exists, it gets replaced 
c) 
Missing folders for target files are created automatically 
d) 
For PDF format, the content of each tab gets fitted into a single PDF page 
e) 
As always, the argument may contain dynamic references to fields/formulas. 
for example: 
"XLS_Split_Tabs:c:\temp\Sales_in_{@Year_Parameter}.xlsx||PDF|| 
c:\temp\Sales_in_{@Year_Parameter}_for_[Tab_Name].pdf||Landscape||True" 
©2002-2016,   Ido Millet,   ido@MilletSoftware.com
Page 189 
Splitting Excel Workbooks by First Column 
Using a command line argument, you can instruct Visual CUT to split the first worksheet in an 
Excel Workbook so that the rows for each unique value found in the first column are split to 
a different workbook named based on the unique value.  
For example, the following spreadsheet would be split 
according to the unique values in the 1
st
column to create 2 
workbooks called: 
Job1.xlsx (with 3 rows) and  
Job2.xlsx (with 2 rows)  
The advantage over regular bursting is that the process  
is faster. 
Here's an example of the command line argument structure: 
… 
"XLS_Split_ByColumn:c:\my.xls||XLSX||c:\temp\||0||Replace||True||" 
"XLS_Split_ByColumn:c:\temp\Maintenance_Summary_Page_for_Split.xls||XLSX||c:\temp\test
3\||0||Replace||True||" 
The parameters (after the ":") are separated by a "||" and are as follows: 
1. Source_WorkBook: path & name of the source excel file (e.g. c:\temp\Sales.xls)  
2. Target File Format: XLSX  
3. Target Path: the path (ending with a '\') to where the split files would be created. The 
names of the generated workbooks are based on the values in the first column of the 
Source Workbook  
4. Number of Header Rows in the Source Workbook.   
note: can be 0 if the source workbook has no header rows.. 
5. Action if target spreadsheets exist: Replace or Append 
6.  Delete 1
st
Column?: True (delete it) or False (don't delete it) 
7.  Options:  
- include the text [AutoFit] if you want to AutoFit column widths in resulting workbooks. 
Notes: 
a) 
Header rows (based on item 4 above) are transferred to all target files. 
b) 
Missing target folder is created on the fly 
c) 
As always, the argument may contain dynamic references to fields/formulas. 
©2002-2016,   Ido Millet,   ido@MilletSoftware.com
Page 190 
Generating Excel Pivot Tables 
Visual CUT can automatically generate an Excel Pivot Table based on an existing or newly 
exported (Data Only) excel worksheet. This can be very valuable in cases where you want to 
give users an easy and familiar way to Slice & Dice the data.  
The command line argument structure is as follows: 
… 
"XLS_Pivot_Table:Source_WorkBook>New_Wor
kBook>Tab>…
" 
The parameters (after the ":") are separated by a ">" and are as follows: 
1. Source_WorkBook: path & name of the source excel file (e.g. c:\temp\Sales.xls)  
2. New_WorkBook: path & name of file to create (e.g. c:\temp\Sales_and_Pivot.xlsx
if left blank, the Pivot table gets added as 1
st
tab in the existing WorkBook 
if the style argument is not blank, the destination file should have .xlsextension 
and the machine should have Excel 2007 or later.   
3. Tab: the sheet name in the source workbook where the data block is. Typically: 
Sheet1
4. Range Name: [Optional]. If blank, data with column headers is assumed to start at A1. 
5. Pivot/Tab Name: Pivot Table and New Worksheet Tab.   To Target an existing Tab, 
specify: PivotName||TabName||Cell_Address (for example, Pivot1||Sales||D20) 
6. Row Elements: field names separated by "||".  For example, "Country||City" would use 
Country as level 1 row group and City as level 2 row group 
7. Row Element Sort: a sort code for each row element specified above, separate by "||" 
for Ascending, D for Descending, N for No Sort 
T# for TopN (for example T7 for Top 7), B# for Botton(B12 for Bottom 12) 
Last element (after "||") must specify the CAPTION name of the Column Controlling the 
Sort (e.g., "Revenue"). For example: "T5||D||Revenue" would show Top 5 countries and 
within that cities in Descending order based on "Revenue" 
8. Column Elements: field names separated by "||".  ("Employee||Product Name")  
9. Column Element Sort: same logic as for Row Element Sort 
10. Page Filter Elements: field names separated by "||".  ("Product Class||Product Type")  
11. Data Elements: separated by "||" and providing 4 sub-elements separated by "::" 
1. Field name 
the column header from the raw data block (e.g. "Value") 
2. Caption - a user-friendly name. For example, "Revenue" 
3. Summary Type 
current options include: Sum, Count, Average, Max, Min, or Var  
4. Format String 
for example:  $#,##0,K or 0.0% 
For example: "Value::Revenue::Sum::$#,##0,K||Late::% Late::Average::0.0% " 
specifies 2 pivot table metrics. The ‘Revenue’ metric is a sum of the 
Value field, and is  
formatted as thousands of dollars.  The ‘% Late’ metric is an average of the 
Late field 
and is formatted as percent.   
12. Show Grand Totals: "Both", "None", "Rows", or "Columns
13. Show Subtotals: "None", "Bottom ", or "Top
14. Style: same style names as in Excel, but without spaces (e.g. "PivotStyleMedium23
15. Show Bands: "Both", "None", "Rows", or "Columns
16. Show Blank Rows: "Yes" to insert a blank line after each group level 1 row. 
17. Hide Data Tab: "No", "Yes" (allow unhide), "YES" (no GUI option to unhide).  
18. Hide Field List: Yes hides the field list on the right side of the screen. 
19. Data Orientation
(optional) 
"Rows" (Default) or "Columns" (to show metrics side-by-side)  
20. Options 
(optional): 
various options separated b
y ‘||’ (e.g. Report_Layout=Tabular)
Documents you may be interested
Documents you may be interested