c# parse pdf table : Editing bookmarks in pdf control software platform web page windows wpf web browser CrystaltoBIP2-part1390

Figure 16. Verify data in XML format. 
1.3: Convert Parameters
First create a List of Values.  Select List of Values in the left side Navigation of the 
Report Editor and click the New button at the top of the tree to create a new List of 
Values. 
Enter a Name for the List of Values (e.g. deptLOV), select the ‘sqlserver’ data source 
and enter the SQL Query that returns the values. The query here will be: 
Select distinct “Department”.”Name”  
from “Department”  
order by “Department”.”Name” 
Converting reports from Business Objects Crystal Reports to Oracle BI Publisher          Page 21 
Editing bookmarks in pdf - add, remove, update PDF bookmarks in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Empower Your C# Project with Rapid PDF Internal Navigation Via Bookmark and Outline
create pdf with bookmarks from word; creating bookmarks in a pdf document
Editing bookmarks in pdf - VB.NET PDF bookmark library: add, remove, update PDF bookmarks in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Empower Your VB.NET Project with Rapid PDF Internal Navigation Via Bookmark and Outline
edit pdf bookmarks; excel hyperlink to pdf bookmark
Figure 17. Defining List of Values for Department Name 
Save the query on the Report Editor. 
Next you can create a Parameter definition with name ‘department’ and associate it 
with the List of Value ‘deptLOV’.  
Select Parameters on the Left Panel of Report Editor and click on ‘New’ above the 
report tree to create a Parameter.  
In the Parameter definition, enter 'Department' as the Identifier, Data Type of String, 
Default Value of '*' and select Parameter Type as Menu. This displays the List of 
Values you just created, i.e. deptLOV. Select deptLOV from the drop down list and 
check the option ‘Can select all’ with ‘NULL value passed’ as the choice. This 
configures the query to pass NULL value when ‘All’ is passed as parameter.  
Figure 18. Defining parameter of Department 
Click on ‘Save’ to save this parameter setting .  
Converting reports from Business Objects Crystal Reports to Oracle BI Publisher          Page 22 
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 This class describes bookmarks in a PDF document.
bookmarks in pdf reader; add bookmarks to pdf preview
VB.NET PDF: Basic SDK Concept of XDoc.PDF
XDoc.PDF for .NET supports editing PDF document metadata, like Title, Subject, Author, Creator, Producer This class describes bookmarks in a PDF document.
create bookmarks pdf file; how to bookmark a pdf file in acrobat
Next you need to associate the parameter with the SQL query that you defined in the 
Data Model. In the SQL query you need to retrieve data only for that department 
which is passed as parameter. The following condition has been added to the Where 
clause: 
and "Department"."Name" = isNull(:department,"Department"."Name") 
See the modified SQL below: 
SELECT "Employee"."ManagerID", "Department"."Name" as 
DepartmentName, "Employee"."EmployeeID", 
"Contact"."FirstName", 
"Contact"."LastName","Employee"."Title", 
"Employee"."Hiredate", "EmployeePayHistory"."Rate", 
"Contact_1"."FirstName" MgrFirstName,  
"Contact_1"."LastName" MgrLastName 
FROM   
((("AdventureWorks"."HumanResources"."EmployeePayHistory
" "EmployeePayHistory" INNER JOIN 
(("AdventureWorks"."HumanResources"."Department" 
"Department" INNER JOIN 
"AdventureWorks"."HumanResources"."EmployeeDepartmentHis
tory" "EmployeeDepartmentHistory" ON 
"Department"."DepartmentID"="EmployeeDepartmentHistory".
"DepartmentID") INNER JOIN 
"AdventureWorks"."HumanResources"."Employee" "Employee" 
ON 
"EmployeeDepartmentHistory"."EmployeeID"="Employee"."Emp
loyeeID") ON 
"EmployeePayHistory"."EmployeeID"="Employee"."EmployeeID
") INNER JOIN "AdventureWorks"."Person"."Contact" 
"Contact" ON 
"Employee"."ContactID"="Contact"."ContactID") INNER JOIN 
"AdventureWorks"."HumanResources"."Employee" 
"Employee_1" ON 
"Employee"."ManagerID"="Employee_1"."EmployeeID") INNER 
JOIN "AdventureWorks"."Person"."Contact" "Contact_1" ON 
"Employee_1"."ContactID"="Contact_1"."ContactID" 
where  "EmployeePayHistory"."ModifiedDate" = (select 
max("EmployeePayHistory"."ModifiedDate") from 
"EmployeePayHistory" where 
"EmployeePayHistory"."EmployeeID"="Employee"."EmployeeID
") 
and "Department"."Name" = 
isNull(:department,"Department"."Name")   
ORDER BY "Department"."Name", "Employee"."ManagerID", 
"Employee"."EmployeeID"
IsNull function has been used here to handle ‘All’, i.e., whenever user Selects ‘All’ from 
List of Value, BI Publisher will pass NULL to the query, and in case of null the value is 
replaced by that of “Department”.”Name”, thereby removing the condition on 
Department Name. 
Save the query on the report editor page.   
Converting reports from Business Objects Crystal Reports to Oracle BI Publisher          Page 23 
.NET PDF SDK - Description of All PDF Processing Control Feastures
Viewing, editing, converting, processing, extracting, annotating Outstanding rendering of PDF documents; Full Outlines, bookmarks, & thumbnail display; Integrated
copy pdf bookmarks to another pdf; convert excel to pdf with bookmarks
.NET PDF SDK | Read & Processing PDF files
applications with advanced document viewing, editing and clean extraction of text, hyperlinks, bookmarks and metadata; Annotate and redact in PDF documents; Fully
convert word pdf bookmarks; export pdf bookmarks to excel
To test that the Parameter and List of Values is working correctly, view the data to 
verify the XML output. 
Figure 19. Data using List of Values as Parameter 
A dropdown list will appear on the report view screen. On selecting a department from 
the dropdown list, you will view data for that department.  
1.4: Convert Summary Fields, Running Total Fields, Built-in Functions, Custom Functions 
and Formula Fields 
The Formula Field ‘AnnualSalary’ as defined in Crystal Reports Developer can be 
converted into a PL SQL function on the SQL server database as shown below.  
CREATE FUNCTION f_AnnualSalary 
( @Val1 float, @Val2 varchar(50)) 
RETURNS float 
AS 
BEGIN 
declare @sal float 
if datepart(yyyy,@Val2) < 2000 
(select @sal= @Val1 * 8 * 300 + @Val1 * 20)    
else 
if datepart(yyyy,@Val2) >= 2000 and 
datepart(yyyy,@Val2) < 2005 
(select @sal=@Val1 * 8 * 300 + @Val1 * 15)    
else 
(select @sal=@Val1 * 8 * 300 + @Val1 * 10)    
Converting reports from Business Objects Crystal Reports to Oracle BI Publisher          Page 24 
XDoc.Word for .NET, Advanced .NET Word Processing Features
Viewing, editing, converting, processing, creating, annotating and zooming & rotation; Outlines, bookmarks, & thumbnail Create Word from PDF; Create Word from
display bookmarks in pdf; pdf reader with bookmarks
PDF Image Viewer| What is PDF
such as text extraction, hyperlinks, bookmarks and metadata with PDF Convertor or .NET PDF Convertor SDK Viewing, Editing and Conversion. RasterEdge .NET Imaging
creating bookmarks in pdf documents; bookmark template pdf
RETURN (@sal) 
END 
go
Note: The above function definition complies with MS SQL Server syntax. The syntax 
can be changed accordingly to meet the requirements of other databases.  
After compiling the function on the database, it can be called from the SQL query as 
shown below: 
SELECT "Employee"."ManagerID", "Department"."Name" as 
DepartmentName, "Employee"."EmployeeID",  
"Contact"."FirstName" + ' ' + "Contact"."LastName" 
EmpName, 
"Employee"."Title", "Employee"."Hiredate" as 
EmpHireDate, "EmployeePayHistory"."Rate" Rate,  
"Contact_1"."FirstName" + ' ' + "Contact_1"."LastName" 
Manager, 
"AdventureWorks"."dbo".f_annualsalary("EmployeePayHistor
y"."Rate", "Employee"."Hiredate") as AnnualSalary 
FROM   
((("AdventureWorks"."HumanResources"."EmployeePayHistory
" "EmployeePayHistory" INNER JOIN 
(("AdventureWorks"."HumanResources"."Department" 
"Department" INNER JOIN 
"AdventureWorks"."HumanResources"."EmployeeDepartmentHis
tory" "EmployeeDepartmentHistory" ON 
"Department"."DepartmentID"="EmployeeDepartmentHistory".
"DepartmentID") INNER JOIN 
"AdventureWorks"."HumanResources"."Employee" "Employee" 
ON 
"EmployeeDepartmentHistory"."EmployeeID"="Employee"."Emp
loyeeID") ON 
"EmployeePayHistory"."EmployeeID"="Employee"."EmployeeID
") INNER JOIN "AdventureWorks"."Person"."Contact" 
"Contact" ON 
"Employee"."ContactID"="Contact"."ContactID") INNER JOIN 
"AdventureWorks"."HumanResources"."Employee" 
"Employee_1" ON 
"Employee"."ManagerID"="Employee_1"."EmployeeID") INNER 
JOIN "AdventureWorks"."Person"."Contact" "Contact_1" ON 
"Employee_1"."ContactID"="Contact_1"."ContactID" 
where  "EmployeePayHistory"."ModifiedDate" = (select 
max("EmployeePayHistory"."ModifiedDate") from 
"EmployeePayHistory" where 
"EmployeePayHistory"."EmployeeID"="Employee"."EmployeeID
") and   "Department"."Name" = IsNull(:department, 
"Department"."Name") 
ORDER BY "Department"."Name", "Employee"."ManagerID", 
"Employee"."EmployeeID" 
The text in bold above is handling the formula functions of Crystal Report. 
Now you can see the all the data elements that you need for the report in BI Publisher.  
Converting reports from Business Objects Crystal Reports to Oracle BI Publisher          Page 25 
How to C#: Basic SDK Concept of XDoc.PowerPoint
Conversely, conversion from PDF to PowerPoint (.PPTX of PowerPoint document, including editing PowerPoint url This class describes bookmarks in a PowerPoint
pdf bookmark editor; add bookmarks to pdf online
How to C#: Basic SDK Concept of XDoc.Word
Conversely, conversion from PDF to Word (.docx) is also hyperlink of Word document, including editing Word url This class describes bookmarks in a Word document
create bookmark pdf file; how to create bookmarks in pdf file
Figure 20. Final data in XML format  
2.  Analyze Report Layout 
2.3.1:  Layout Design 
The data elements of this sample report are column names of the SQL Query. Then 
the report output indicates grouping and sorting happening. To check the grouping, 
open the group expert in Crystal Reports Developer. 
Converting reports from Business Objects Crystal Reports to Oracle BI Publisher          Page 26 
Figure 21. Group Expert  
This report has two levels of grouping – By Department Name and then by Manager 
(which is a Formula Field). Click on ‘Options’ button while a ‘Group By’ item is 
selected to check the details of the grouping. 
Figure 22. Group Options for grouping by DepartmentName 
The DeparmentName will be sorted in ascending order. Select the Options tab to view 
other details. 
Converting reports from Business Objects Crystal Reports to Oracle BI Publisher          Page 27 
Figure 23. No properties checked under Options Tab.  
No option has been selected above. Similarly check the details for the nested Grouping 
by ‘Manager’.  
Figure 24. Grouping Options for Grouping by Manager  
Here the group data is sorted by ‘Manager’ in ascending order. Click on Options tab to 
check the grouping options. 
Converting reports from Business Objects Crystal Reports to Oracle BI Publisher          Page 28 
Figure 25. ‘Keep Group Together’ property checked.  
The above configuration ‘Keep Group Together’ allows the data under a Manager to 
not break across page. 
2.3.2: Calculations 
To check the formula used in the report for formatting open the Formula Workshop. 
All the formulae used in the report layout will appear under section ‘Formatting 
Formulas’ in the Formula Workshop. 
Figure 26. Formula Workshop showing conditional row formatting     
Converting reports from Business Objects Crystal Reports to Oracle BI Publisher          Page 29 
The above figure shows the formula used to add background color to the Detail 
Section. The formula here would simply make the background color silver for alternate 
rows of data. 
Another thing to notice in the Formula Workshop is the Summary Field in the Group 
Footer #2 with name ‘Sum of @AnnualSalary’, which is a sum of the formula field – 
AnnualSalary. To see the details of the summary field point your cursor over the 
Summary Field on the report design and right click. You will see the option ‘Edit 
Summary’ as shown below. 
Figure 27. Edit Summary for Summary Field on Crystal Reports Developer  
On the Edit Summary Dialogue you can check the field used for summary and the 
function used. In this report it’s a Sum function applied on the formula field 
‘AnnualSalary’. 
Figure 28. Summary Function used for the Summary Field 
Converting reports from Business Objects Crystal Reports to Oracle BI Publisher          Page 30 
Documents you may be interested
Documents you may be interested