open pdf file in asp net c# : Adding text fields to pdf control Library platform web page .net azure web browser 120xdorg10-part399

Creating an RTF Template    2-81
To create the Running Total field, define a variable to track the total and initialize it to 0.
The template is shown in the following figure:
The values for the form fields in the template are shown in the following table:
Form Field
Syntax
Description
RtotalVar
<?xdoxslt:set_variable($_XDO
CTX, 'RTotalVar', 0)?>
Declares the "RTotalVar" 
variable and initializes it to 0.
FE
<?for-each:INVOICE?>
Starts the Invoice group.
10001-1
<?INVNUM?>
Invoice Number tag
1-Jan-2005
<?INVDATE?>
Invoice Date tag
100.00
<?xdoxslt:set_variable($_XDO
CTX, 'RTotalVar', 
xdoxslt:get_variable($_XDOC
TX, 'RTotalVar') + 
INVAMT)?>
xdoxslt:get_variable($_XDOC
TX, 'RTotalVar')?>
Sets the value of RTotalVar to 
the current value plus the 
new Invoice Amount. 
Retrieves the RTotalVar value
for display.
EFE
<?end for-each?>
Ends the INVOICE group.
Adding text fields to pdf - insert text into PDF content in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
XDoc.PDF for .NET, providing C# demo code for inserting text to PDF file
add text boxes to pdf; how to add text to pdf
Adding text fields to pdf - VB.NET PDF insert text library: insert text into PDF content in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Providing Demo Code for Adding and Inserting Text to PDF File Page in VB.NET Program
adding text to a pdf document; adding text to a pdf file
2-82    Oracle XML Publisher Report Designer's Guide
Data Handling
Sorting
You can sort a group by any element within the group. Insert the following syntax 
within the group tags:
<?sort:element name?>
For example, to sort the Payables Invoice Register (shown at the beginning of this 
chapter) by Supplier (VENDOR_NAME), enter the following after the 
<?for-each:G_VENDOR_NAME?> tag:
<?sort:VENDOR_NAME?>
To sort a group by multiple fields, just insert the sort syntax after the primary sort field. 
To sort by Supplier and then by Invoice Number, enter the following
<?sort:VENDOR_NAME?> <?sort:INVOICE_NUM?>
Checking for Nulls
Within your XML data there are three possible scenarios for the value of an element:
The element is present in the XML data, and it has a value
The element is present in the XML data, but it does not have a value
The element is not present in the XML data, and therefore there is no value
In your report layout, you may want to specify a different behavior depending on the 
presence of the element and its value. The following examples show how to check for 
each of these conditions using an "if" statement. The syntax can also be used in other 
conditional formatting constructs. 
To define behavior when the element is present and the value is not null, use the 
following:
<?if:element_name!=?>desired behavior <?end if?>
To define behavior when the element is present, but is null, use the following:
<?if:element_name and element_name="?>desired behavior <?end 
if?>
To define behavior when the element is not present, use the following:
<?if:not(element_name)?>desired behavior <?end if?>
VB.NET PDF Text Box Edit Library: add, delete, update PDF text box
Add Password to PDF; VB.NET Form: extract value from fields; VB.NET PDF - Add Text Box to PDF Page in VB Provide VB.NET Users with Solution of Adding Text Box to
add text pdf file; how to add text field to pdf form
C# PDF Text Box Edit Library: add, delete, update PDF text box in
Provide .NET SDK library for adding text box to PDF document in .NET WinForms application. Adding text box is another way to add text to PDF page.
how to add text fields in a pdf; how to enter text in pdf form
Creating an RTF Template    2-83
Regrouping the XML Data
The RTF template supports the XSL 2.0 for-each-group standard that allows you to 
regroup XML data into hierarchies that are not present in the original data. With this 
feature, your template does not have to follow the hierarchy of the source XML file. You
are therefore no longer limited by the structure of your data source.
XML Sample
To demonstrate the for-each-group standard, the following XML data sample of a CD 
catalog listing will be regrouped in a template: 
<CATALOG>
<CD>
<TITLE>Empire Burlesque</TITLE>
<ARTIST>Bob Dylan</ARTIST>
<COUNTRY>USA</COUNTRY>
<COMPANY>Columbia</COMPANY>
<PRICE>10.90</PRICE>
<YEAR>1985</YEAR>
</CD>
<CD>
<TITLE>Hide Your Heart</TITLE>
<ARTIST>Bonnie Tylor</ARTIST>
<COUNTRY>UK</COUNTRY>
<COMPANY>CBS Records</COMPANY>
<PRICE>9.90</PRICE>
<YEAR>1988</YEAR>
</CD>
<CD>
<TITLE>Still got the blues</TITLE>
<ARTIST>Gary More</ARTIST>
<COUNTRY>UK</COUNTRY>
<COMPANY>Virgin Records</COMPANY>
<PRICE>10.20</PRICE>
<YEAR>1990</YEAR>
</CD>
<CD>
<TITLE>This is US</TITLE>
<ARTIST>Gary Lee</ARTIST>
<COUNTRY>UK</COUNTRY>
<COMPANY>Virgin Records</COMPANY>
<PRICE>12.20</PRICE>
<YEAR>1990</YEAR>
</CD>
Using the regrouping syntax, you can create a report of this data that groups the CDs by
country and then by year. You are not limited by the data structure presented.
Regrouping Syntax
To regroup the data, use the following syntax:
<?for-each-group: BASE-GROUP;GROUPING-ELEMENT?>
For example, to regroup the CD listing by COUNTRY, enter the following in your 
template:
VB.NET PDF Page Insert Library: insert pages into PDF file in vb.
Support adding PDF page number. Offer PDF page break inserting function. DLLs for Adding Page into PDF Document in VB.NET Class. Add necessary references:
adding text fields to pdf; how to enter text in a pdf document
VB.NET PDF Text Add Library: add, delete, edit PDF text in vb.net
Password to PDF; VB.NET Form: extract value from fields; VB.NET PDF - Annotate Text on PDF Page in Professional VB.NET Solution for Adding Text Annotation to PDF
how to add text to a pdf file in reader; how to add a text box to a pdf
2-84    Oracle XML Publisher Report Designer's Guide
<?for-each-group:CD;COUNTRY?>
The elements that were at the same hierarchy level as COUNTRY are now children of 
COUNTRY. You can then refer to the elements of the group to display the values 
desired.
To establish nested groupings within the already defined group, use the following 
syntax:
<?for-each:current-group(); GROUPING-ELEMENT?>
For example, after declaring the CD grouping by COUNTRY, you can then further 
group by YEAR within COUNTRY as follows:
<?for-each:current-group();YEAR?>
At runtime, XML Publisher will loop through the occurrences of the new groupings, 
displaying the fields that you defined in your template.
Note: This syntax is a simplification of the XSL for-each-group syntax. 
If you choose not to use the simplified syntax above, you can use the 
XSL syntax as shown below. The XSL syntax can only be used within a 
form field of the template.
<xsl:for-each-group
select=expression
group-by="string expression"
group-adjacent="string expression"
group-starting-with=pattern>
<!--Content: (xsl:sort*, content-constructor) -->
</xsl:for-each-group>
Template Example
The following figure shows a template that displays the CDs by Country, then Year, 
and lists the details for each CD:
The following table shows the XML Publisher syntax entries made in the form fields of 
the preceding template:
VB.NET PDF Library SDK to view, edit, convert, process PDF file
Support adding protection features to PDF file by adding password, digital signatures and redaction feature. Various of PDF text and images processing features
add text pdf; how to insert text in pdf file
C# PDF Annotate Library: Draw, edit PDF annotation, markups in C#.
Provide users with examples for adding text box to PDF and edit font size and color in text box field in C#.NET program. C#.NET: Draw Markups on PDF File.
add text box in pdf document; acrobat add text to pdf
Creating an RTF Template    2-85
Default Text Entry
Form Field Help Text Entry
Description
Group by Country
<?for-each-group:CD;CO
UNTRY?>
The 
<?for-each-group:CD;CO
UNTRY?> tag declares the 
new group. It regroups the 
existing CD group by the 
COUNTRY element.
USA
<?COUNTRY?>
Placeholder to display the 
data value of the COUNTRY 
tag.
Group by Year
<?for-each-group:curre
nt-group();YEAR?>
The 
<?for-each-group:curre
nt-group();YEAR?> tag 
regroups the current group 
(that is, COUNTRY), by the 
YEAR element.
2000
<?YEAR?>
Placeholder to display the 
data value of the YEAR tag.
Group: Details
<?for-each:current-gro
up()?>
Once the data is grouped by 
COUNTRY and then by 
YEAR, the 
<?for-each:current-gro
up()?>command is used to 
loop through the elements of 
the current group (that is, 
YEAR) and render the data 
values (TITLE, ARTIST, and 
PRICE) in the table.
My CD
<?TITLE?>
Placeholder to display the 
data value of the TITLE tag.
John Doe
<?ARTIST?>
Placeholder to display the 
data value of the ARTIST tag.
1.00
<?PRICE?>
Placeholder to display the 
data value of the PRICE tag.
End Group
<?end for-each?>
Closes out the 
<?for-each:current-gro
up()?> tag.
C# PDF insert image Library: insert images into PDF in C#.net, ASP
application? To help you solve this technical problem, we provide this C#.NET PDF image adding control, XDoc.PDF for .NET. Similar
how to add text to a pdf in preview; add text pdf acrobat
C# PDF Page Insert Library: insert pages into PDF file in C#.net
By using reliable APIs, C# programmers are capable of adding and inserting (empty) PDF page or pages from various file formats, such as PDF, Tiff, Word, Excel
add text to pdf document online; how to add text field to pdf
2-86    Oracle XML Publisher Report Designer's Guide
Default Text Entry
Form Field Help Text Entry
Description
End Group by Year
<?end for-each-group?>
Closes out the 
<?for-each-group:curre
nt-group();YEAR?> tag.
End Group by Country
<?end for-each-group?>
Closes out the 
<?for-each-group:CD;CO
UNTRY?> tag.
This template produces the following output when merged with the XML file:
Regrouping by an Expression
Regrouping by an expression allows you to apply a function or command to a data 
element, and then group the data by the returned result. 
To use this feature, state the expression within the regrouping syntax as follows:
<?for-each:BASE-GROUP;GROUPING-EXPRESSION?>
Example
To demonstrate this feature, an XML data sample that simply contains average 
Creating an RTF Template    2-87
temperatures per month will be used as input to a template that calculates the number 
of months having an average temperature within a certain range. 
The following XML sample is composed of <temp> groups. Each <temp> group 
contains a <month> element and a <degree> element, which contains the average 
temperature for that month: 
<temps>
<temp>
<month>Jan</month>
<degree>11</degree>
</temp> 
<temp>
<month>Feb</month>
<degree>14</degree>
</temp>  
<temp>
<month>Mar</month>
<degree>16</degree>
</temp> 
<temp>
<month>Apr</month>
<degree>20</degree>
</temp> 
<temp>
<month>May</month>
<degree>31</degree>
</temp>
<temp>
<month>Jun</month>
<degree>34</degree>
</temp> 
<temp>
<month>Jul</month>
<degree>39</degree>
</temp> 
<temp>
<month>Aug</month>
<degree>38</degree>
</temp>
<temp>
<month>Sep</month>
<degree>24</degree>
</temp>  
<temp>
<month>Oct</month>
<degree>28</degree>
</temp> 
<temp>
<month>Nov</month>
<degree>18</degree>
</temp> 
<temp>
<month>Dec</month>
<degree>8</degree>
</temp> 
</temps>
You want to display this data in a format showing temperature ranges and a count of 
the months that have an average temperature to satisfy those ranges, as follows:
2-88    Oracle XML Publisher Report Designer's Guide
Using the for-each-group command you can apply an expression to the <degree> 
element that will enable you to group the temperatures by increments of 10 degrees. 
You can then display a count of the members of each grouping, which will be the 
number of months having an average temperature that falls within each range.
The template to create the above report is shown in the following figure:
The following table shows the form field entries made in the template:
Default Text Entry
Form Field Help Text Entry
Group by TmpRng
<?for-each-group:temp;floor(degree div 10?>
<?sort:floor(degree div 10)?>
Range
<?concat(floor(degree div 10)*10,' F to ',floor(degree 
div 10)*10+10, F')?>
Months
<?count(current-group())?>
End TmpRng
<?end for-each-group?>
Note the following about the form field tags:
The <?for-each-group:temp;floor(degree div 10)?> is the regrouping 
tag. It specifies that for the existing <temp> group, the elements are to be 
regrouped by the expression, floor(degree div 10). The floor function is an 
XSL function that returns the highest integer that is not greater than the argument 
Creating an RTF Template    2-89
(for example, 1.2 returns 1, 0.8 returns 0).
In this case, it returns the value of the <degree> element, which is then divided by 
10. This will generate the following values from the XML data: 1, 1, 1, 2, 3, 3, 3, 3, 2, 
2, 1, and 0. 
These are sorted, so that when processed, the following four groups will be created: 
0, 1, 2, and 3.
The <?concat(floor(degree div 10)*10,'F to ', floor(degree div
10)*10+10,'F'?> displays the temperature ranges in the row header in 
increments of 10. The expression concatenates the value of the current group times 
10 with the value of the current group times 10 plus 10.
Therefore, for the first group, 0, the row heading displays 0 to (0 +10), or "0 F to 10 
F".
The <?count(current-group())?> uses the count function to count the 
members of the current group (the number of temperatures that satisfy the range).
The <?end for-each-group?> tag closes out the grouping.
Variables, Parameters, and Properties
Using Variables
Updateable variables differ from standard XSL variables <xsl:variable> in that they are 
updateable during the template application to the XML data. This allows you to create 
many new features in your templates that require updateable variables.
The variables use a "set and get" approach for assigning, updating, and retrieving 
values.
Use the following syntax to declare/set a variable value:
<?xdoxslt:set_variable($_XDOCTX, 'variable name', value)?>
Use the following syntax to retrieve a variable value:
<?xdoxslt:get_variable($_XDOCTX, 'variable name')?>
You can use this method to perform calculations. For example:
<?xdoxslt:set_variable($_XDOCTX, 'x', xdoxslt:get_variable($_XDOCTX, 
'x') + 1)?>
This sets the value of variable 'x' to its original value plus 1, much like using "x = x +
1".
The $_XDOCTX specifies the global document context for the variables. In a 
multi-threaded environment there may be many transformations occurring at the same 
time, therefore the variable must be assigned to a single transformation.
2-90    Oracle XML Publisher Report Designer's Guide
See the section on Running Totals, page 2-80 for an example of the usage of updateable 
variables.
Defining Parameters
You can pass runtime parameter values into your template. These can then be 
referenced throughout the template to support many functions. For example, you can 
filter data in the template, use a value in a conditional formatting block, or pass 
property values (such as security settings) into the final document.
Note: The Oracle Applications concurrent manager does not support 
passing parameter values into the template. The parameters must be 
passed programmatically using the APIs as described below.
Using a parameter in a template
1. 
Declare the parameter in the template.
Use the following syntax to declare the parameter:
<xsl:param name="PARAMETERNAME" select="DEFAULT" xdofo:ctx="begin"/>
where
PARAMETERNAME is the name of the parameter
DEFAULT is the default value for the parameter (the select statement is optional)
xdofo:ctx="begin" is a required string to push the parameter declaration to the 
top of the template at runtime so that it can be referred to globally in the template.
The syntax must be declared in the Help Text field of a form field. The form field 
can be placed anywhere in the template.
2. 
Refer to the parameter in the template by prefixing the name with a "$" character. 
For example, if you declare the parameter name to be "InvThresh", then reference 
the value using "$InvThresh".
3. 
At runtime, pass the parameter to the XML Publisher engine programmatically. 
Prior to calling either the FOProcessor API (Core) or the TemplateHelper API 
(E-Business Suite) create a Properties class and assign a property to it for the 
parameter value as follows:
Properties prop = new Properties();
prop.put("xslt.InvThresh", "1000");
For more information, see Calling XML Publisher APIs, Oracle XML Publisher 
Administration and Developer's Guide.
Example: Passing an invoice threshold parameter
This example illustrates how to declare a parameter in your template that will filter 
your data based on the value of the parameter.
Documents you may be interested
Documents you may be interested