free pdf viewer c# : Extract text from pdf to excel SDK application service wpf html web page dnn JasperReports-Ultimate-Guide-318-part1346

D
ATASETS
A dataset is a concept that lies somewhere between a data source and a subreport. 
Datasets allow the engine to iterate through some virtual records, just as data sources do, 
but they also enable calculations and data grouping during this iteration using variables 
and groups. Because dataset declarations contain parameters, fields, variables, and 
groups, they closely resemble subreports, but they completely lack any visual content 
(that is, they have no sections or layout information at the dataset level).
Datasets are useful for chart and crosstab generation when you need to iterate through 
data that is not the main report data source itself, in order to gather data for the chart or 
perform data bucketing for the crosstab. Before datasets, the use of subreports was the 
only way to iterate through virtual records that were nested collections of virtual records 
rather than part of the current report data source. However, subreports come with 
unwanted visual settings and tend to complicate layout and report template structure.
M
AIN
D
ATASET
The report data source, along with the parameters, fields, variables, and groups declared 
at the report level, represent the building blocks of the main dataset for the report. All 
report templates implicitly declare and use this main dataset.
The main dataset is responsible for iterating through the data source records, calculating 
variables, filtering out records, and estimating group breaks during the report-filling 
process.
S
UBDATASETS
User-defined datasets are declared in JRXML using the 
<subDataset>
tag, as shown in 
the Listing 12-1.
Listing 12-1. JRXML Syntax
<!ELEMENT subDataset (property*, parameter*, queryString?, field*, 
sortField*, 
variable*, filterExpression?, group*)>
<!ATTLIST subDataset
name CDATA #REQUIRED
P
AGE
169
Extract text from pdf to excel - extract text content from PDF file in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Feel Free to Extract Text from PDF Page, Page Region or the Whole PDF File
copy highlighted text from pdf; find and replace text in pdf
Extract text from pdf to excel - VB.NET PDF Text Extract Library: extract text content from PDF file in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
How to Extract Text from PDF with VB.NET Sample Codes in .NET Application
how to copy and paste pdf text; copy and paste text from pdf to excel
T
HE
J
ASPER
R
EPORTS
U
LTIMATE
G
UIDE
scriptletClass CDATA #IMPLIED
resourceBundle CDATA #IMPLIED
whenResourceMissingType (Null | Empty | Key | Error) "Null"
>
The engine does not necessarily use a declared dataset. Datasets are instantiated and iterate 
through the supplied data source to calculate dataset variable values only if they are 
referenced by a chart or crosstab dataset run.
Just like subreports, datasets, when instantiated, expect to receive parameter values and a 
data source to iterate through. As a convenience, datasets can have an associated SQL 
query that is executed by the engine if a 
java.sql.Connection
object is supplied to 
them instead of the usual data source.
Datasets can also have scriptlets associated with them to allow making callbacks to user-
defined business logic during the dataset iteration, if further data manipulation is needed.
D
ATASET
R
UNS
Once a dataset is declared inside a report template, it can be used only if it’s actually 
referenced by a chart or crosstab. Simply declaring a dataset at the report level does not 
have any effect.
Listing 12-2. JRXML Syntax
ELEMENT datasetRun (parametersMapExpression?, datasetParameter*,
(connectionExpression | dataSourceExpression)?)>
<!ATTLIST datasetRun
subDataset CDATA #REQUIRED
>
<!ELEMENT datasetParameter (datasetParameterExpression?)>
<!ATTLIST datasetParameter
name CDATA #REQUIRED
>
<!ELEMENT datasetParameterExpression (#PCDATA)>
When a dataset is referenced by a chart or crosstab, a dataset run is instantiated. The 
dataset runs through the supplied data source performing all the variable calculations and 
the required data grouping.
A dataset run declaration supplies the values for the dataset parameters as well as the 
data source through which the dataset will iterate. Optionally, a 
java.sql.Connection 
can be passed to the dataset instead of a 
JRDataSource
instance, when there is a SQL 
query associated with the dataset. This query is executed by the engine using the 
P
AGE
170
VB.NET Create PDF from Excel Library to convert xlsx, xls to PDF
Editor; C#: WPF PDF Viewer; C#: Create PDF from Word; C#: Create PDF from Excel; PDF; C# Page: Insert PDF pages; C# Page: Delete PDF pages; C# Read: PDF Text Extract
copy and paste text from pdf to word; delete text from pdf acrobat
C# PDF Image Extract Library: Select, copy, paste PDF images in C#
Image: Extract Image from PDF. |. Home ›› XDoc.PDF ›› C# PDF: Extract PDF Image. How to C#: Extract Image from PDF Document.
.net extract pdf text; copy text from pdf online
T
HE
J
ASPER
R
EPORTS
U
LTIMATE
G
UIDE
supplied Java Database Connectivity (JDBC) connection and the 
java.sql.ResultSet 
object obtained is iterated through.
Dataset runs resemble subreports in the way parameters and the data source/connection 
are passed in. Please refer to ”Subreports” on page 161 for more details.
Both charts and crosstabs can reference datasets by instantiating and configuring dataset 
runs. If no dataset run is specified for a chart or crosstab, the main dataset of the report is 
used.
P
AGE
171
<!ELEMENT datasetRun (parametersMapExpression?, 
datasetParameter*,
(connectionExpression | dataSourceExpression)?)>
<!ATTLIST datasetRun
subDataset CDATA #REQUIRED
>
<!ELEMENT datasetParameter (datasetParameterExpression?)>
<!ATTLIST datasetParameter
name CDATA #REQUIRED
>
<!ELEMENT datasetParameterExpression (#PCDATA)>
Listing 12-2. JRXML Syntax
<!ELEMENT datasetRun (parametersMapExpression?, 
datasetParameter*,
(connectionExpression | dataSourceExpression)?)>
<!ATTLIST datasetRun
subDataset CDATA #REQUIRED
>
<!ELEMENT datasetParameter (datasetParameterExpression?)>
<!ATTLIST datasetParameter
name CDATA #REQUIRED
>
<!ELEMENT datasetParameterExpression (#PCDATA)>
Listing 12-2. JRXML Syntax
C# Create PDF from Excel Library to convert xlsx, xls to PDF in C#
Create PDF from Excel. |. Home ›› XDoc.PDF ›› C# PDF: Create PDF from Excel. Export PDF from Excel with cell border or no border.
copy pdf text with formatting; copy and paste text from pdf
VB.NET PDF Image Extract Library: Select, copy, paste PDF images
Image: Extract Image from PDF. |. Home ›› XDoc.PDF ›› VB.NET PDF: Extract PDF Image. VB.NET PDF - Extract Image from PDF Document in VB.NET.
copy pdf text to word; extract text from pdf file using java
C
HARTS
JasperReports now has built-in support for charts using the new chart component, which 
greatly simplifies the way charts are included inside reports. Previously, users had to 
completely rely on scriptlets to gather the chart data and render the chart using an image 
element in the report template. 
Note
Users can still render charts by making direct API calls to a particular charting library, which allows them 
to fully control the appearance and content of their charts, as demonstrated in the jcharts and 
jfreechart samples. The former sample uses the jCharts library and the latter sample uses the JFreeChart 
library for rendering the charts as images.
The new chart component uses the JFreeChart library and exposes a limited set of visual 
properties that the charting package actually supports. This limited set should be 
sufficient for the majority of users, and in the future it will be extended to accommodate 
community feedback and requests.
With the new chart component, users only have to apply the desired visual settings and 
define the expressions that will help the engine build the chart dataset incrementally 
during the iteration through the report data source.
When including and configuring a chart component, three entities are involved:
   The overall chart component
   The chart dataset (which groups chart data–related settings)
   The chart plot (which groups visual settings related to the way the chart items 
are rendered)
JasperReports currently supports the following types of charts: Pie, Pie 3D, Bar, Bar 3D, 
XY Bar, Stacked Bar, Stacked Bar 3D, Line, XY Line, Area, XY Area, Scatter Plot, 
Bubble, Time Series, High-Low-Open-Close, and Candlestick.
For each type of chart there is a special JRXML tag that groups various chart settings, 
including the dataset and the plot.
P
AGE
172
C# HTML5 Viewer: Load, View, Convert, Annotate and Edit Excel
freely implement conversion from Excel document to PDF, Tiff and HTML file. Users can add annotations to Excel when viewing it online and use text search and
copy and paste text from pdf; edit pdf replace text
C# PDF insert text Library: insert text into PDF content in C#.net
Text to PDF. C#.NET PDF SDK - Insert Text to PDF Document in C#.NET. Providing C# Demo Code for Adding and Inserting Text to PDF File Page with .NET PDF Library.
extract text from pdf acrobat; extract formatted text from pdf
T
HE
J
ASPER
R
EPORTS
U
LTIMATE
G
UIDE
C
HART
P
ROPERTIES
All chart types have a common set of properties. Charts are normal report elements, so 
they share some of their properties with all the other report elements, as explained in 
“Report Elements” on page 114. Charts are also box elements and can have hyperlinks 
associated with them.
Special chart-specific settings that apply to all types of charts are grouped under a special 
JRXML tag called 
<chart>
, as shown in Listing 13-1.
Listing 13-1. JRXML Syntax
<!ELEMENT chart (reportElement, box?, chartTitle?, chartSubtitle?, 
chartLegend?, 
anchorNameExpression?, hyperlinkReferenceExpression?, 
hyperlinkAnchorExpression?, 
hyperlinkPageExpression?, hyperlinkTooltipExpression?, 
hyperlinkParameter*)>
<!ATTLIST chart
isShowLegend (true | false) "true"
evaluationTime (Now | Report | Page | Column | Group | Band) 
"Now"
evaluationGroup CDATA #IMPLIED
hyperlinkType CDATA "None"
hyperlinkTarget (Self | Blank) "Self"
bookmarkLevel NMTOKEN "0"
customizerClass CDATA #IMPLIED
>
<!ELEMENT chartTitle (font?, titleExpression?)>
<!ATTLIST chartTitle
position (Top | Bottom | Left | Right) "Top"
color CDATA #IMPLIED
>
<!ELEMENT titleExpression (#PCDATA)>
<!ELEMENT chartSubtitle (font?, subtitleExpression?)>
<!ATTLIST chartSubtitle
color CDATA #IMPLIED
>
<!ELEMENT subtitleExpression (#PCDATA)>
<!ELEMENT chartLegend (font?)>
P
AGE
173
C# PDF Page Extract Library: copy, paste, cut PDF pages in C#.net
Page: Extract, Copy and Paste PDF Pages. Easy to Use C# Code to Extract PDF Pages, Copy Pages from One PDF File and Paste into Others in C#.NET Program.
copy text from pdf online; copy text from pdf to word with formatting
C# PDF Convert to Text SDK: Convert PDF to txt files in C#.net
Integrate following RasterEdge C#.NET text to PDF converter SDK dlls into your C#.NET project assemblies; RasterEdge.XDoc.Excel.dll.
copy text from pdf; cut text pdf
T
HE
J
ASPER
R
EPORTS
U
LTIMATE
G
UIDE
<!ATTLIST chartLegend
textColor CDATA #IMPLIED
backgroundColor CDATA #IMPLIED
>
Chart Evaluation
Charts resemble text fields and images in that they can postpone their actual rendering 
until all the data needed for this operation becomes available to the reporting engine.
Data needed by a chart is gathered by the associated dataset during iteration through the 
report data. However, you might want to display charts at the beginning of a document, 
where the required data is not yet available given the way the engine process data and 
renders the final document.
In such cases, you can postpone chart evaluation using the 
evaluationTime
and 
evaluationGroup
attributes, which work in the same manner as for text fields and 
images, as explained in previous chapters.
C
HART
R
ENDERING
In generated reports, the output produced by a chart element an image element. As 
mentioned in “Report Elements” on page 114, image elements are drawn using 
implementations of the 
net.sf.jasperreports.engine.JRRenderable
interface.
Charts have an attribute called 
renderType
which controls specifies the renderer 
implementation that will be used to render the chart during export or report display. By 
default, JasperReports recognizes the following values for this attribute:
   Draw: The chart is drawn directly on the target graphic context using the 
JFreeChart API (
renderType="draw"
).
   Image: An image is first produced from the chart and this image in turn gets 
rendered onto the target graphic context (
renderType="image"
).
   SVG: The chart is transformed into the Scalable Vector Graphics format and 
from that format is then rendered onto the target graphic context 
(
renderType="svg"
).
C
HART
T
ITLE
AND
S
UBTITLE
All charts can have one title and one subtitle. Both are optional and can be customized 
for color, font, and position.
The title of a chart can be placed at the top of the chart, at the bottom of the chart, or on 
the left or right side of the chart, depending on the value of the 
position
attribute of the 
<chartTitle>
tag.
P
AGE
174
T
HE
J
ASPER
R
EPORTS
U
LTIMATE
G
UIDE
C
HART
L
EGEND
All chart types can display a legend that explains the values represented by the chart. By 
default all charts display the legend, but you can suppress this display by setting the 
isShowLegend
flag to 
false
.
You can control the font-related properties as well as the text color and the background 
color of the chart legend using the optional 
<chartLegend>
tag and its nested 
<font> 
tag.
C
HART
C
USTOMIZER
AND
C
HART
T
HEME
Although the JFreeChart library is a fairly complete charting package that offers great 
flexibility and a comprehensive range of settings to fully customize the appearance and 
the content of the charts it renders, the built-in chart component offered by JasperReports 
exposes only a subset of the library’s original charting functionality. This ensures that 
JasperReports charts are easily embeddable into reports and that the basic set of 
properties exposed through JRXML and the object model is enough for the majority of 
use cases.
In time, other JFreeChart settings will be exposed through the built-in chart component, 
but certainly JasperReports will never be able to expose all the JFreeChart settings 
through JRXML tags or the API.
To provide full control over chart customization even when using the built-in chart 
component, JasperReports can make use of either a chart theme implementation, or of a 
chart customizer implementation associated with the chart element, or both.
Chart themes are a more recent addition to the library and in a way they deprecate the 
chart customizers because they bring enhanced capabilities in controlling chart output.
A chart customizer is an implementation of the 
net.sf.jasperreports.engine.JRChartCustomizer
interface that is associated 
with the chart element using the 
customizerClass
attribute. The easiest way to 
implement this interface is by extending the 
net.sf.jasperreports.engine.JRAbstractChartCustomizer
class and thus 
having access to parameters, fields, and variables, for more flexible chart customization 
based on report data.
However, we now encourage people to implement and work with chart themes instead of 
chart customizers, because chart themes give more control over chart output, including 
the creation of the JFreeChart object itself. Chart customizer only allow modifying the 
JFreeChart object that is created externally and passed in to them. Also, chart themes 
affect a whole range of chart types across multiple reports and are not necessarily tied to 
a specific chart element within a report. They can even apply globally to all charts within 
a given JasperReports deployment, applying a new look and feel to all charts created 
within that environment.
P
AGE
175
T
HE
J
ASPER
R
EPORTS
U
LTIMATE
G
UIDE
The chart theme can be set globally using a configuration property within the 
jasperreports.properties
file as follows:
net.sf.jasperreports.chart.theme=theme_name
The global chart theme can be overridden at report level using the following report 
property in the report template:
<property name="net.sf.jasperreports.chart.theme" 
value="theme_name"/>
If needed, at chart element level, the chart theme is specified using the 
theme
attribute.
C
HART
D
ATASETS
One of the most important considerations when putting a chart element into a report 
template is the data mapping. The chart will need to extract its data from whatever data is 
available inside the report at runtime.
In the sections that follow, we first present an overview of the chart dataset, and then we 
detail each of the available datasets.
C
HART
D
ATASET
O
VERVIEW
Charts rely on a data-oriented component called the chart dataset for mapping report 
data and retrieving chart data at runtime.
A chart dataset is an entity that somewhat resembles a report variable because it gets 
initialized and incremented at specified moments during the report-filling process and 
iteration through the report data source. Like a report variable, at any moment a chart 
dataset holds a certain value, which is a complex data structure that gets incremented and 
will be used for rendering the chart at the appropriate moment.
Several types of chart datasets are available in JasperReports because each type of chart 
works with certain datasets: Pie, Category, XY, Time Series, Time Period, XYZ, and 
High-Low.
The JasperReports object model uses the 
net.sf.jasperreports.engine.JRChartDataset 
interface to define chart datasets. 
There are implementations of this interface for each of the aforementioned dataset types. 
All chart datasets initialize and increment in the same way, and differ only in the type of 
data or data series they map.
Common dataset properties are grouped under the 
<dataset>
tag in JRXML format, as 
shown in Listing 13-2.
P
AGE
176
T
HE
J
ASPER
R
EPORTS
U
LTIMATE
G
UIDE
Listing 13-2. JRXML Syntax
<!ELEMENT dataset (incrementWhenExpression?, datasetRun?)>
<!ATTLIST dataset
resetType (None | Report | Page | Column | Group) "Report"
resetGroup CDATA #IMPLIED
incrementType (None | Report | Page | Column | Group) "None"
incrementGroup CDATA #IMPLIED
>
<!ELEMENT incrementWhenExpression (#PCDATA)>
Resetting and Incrementing Chart Datasets
As previously mentioned, chart datasets resemble variables in that they are used to 
calculate a certain value in an incremental fashion. In the case of the chart dataset, this 
value is a complex data structure that will be used by the charting library to render the 
chart. This data structure is built incrementally during iteration through the report data 
source by adding values to it.
At certain moments, the chart dataset must be reinitialized because it has probably 
already been used for rendering a chart during report filling and must be prepared for 
further incrementation for later reuse.
All four attributes—
resetType
resetGroup
incrementType
, and 
incrementGroup
—have the same meaning and work exactly as previously explained for report variables.
Filtering Out Data
The way a chart dataset is incremented can be further customized by filtering out 
unwanted data through the use of the 
<incrementWhenExpression>
tag. The chart 
dataset is incremented in accordance with the specified 
incrementType
and 
incrementGroup
attributes, but only if the mentioned expression returns 
Boolean.TRUE
(or is not present). The expression returning 
null
is equivalent to 
Boolean.FALSE
, so incrementation does not occur at that particular moment.
Using Report Subdatasets Through Dataset Runs
The 
<datasetRun>
tag is optional for a chart dataset declaration. This means that by 
default, the engine will use the main dataset of the report. In such a case, all chart 
expressions make use of report-level parameters, fields, and variables, and the group 
level resets or increments are performed based on the report data-grouping structure.
Charts that use the main dataset of the report gather their data during iteration through 
the data source of the report itself and can be rendered only when this process is 
completed. This is why charts that use the main dataset of the report are usually placed at 
P
AGE
177
T
HE
J
ASPER
R
EPORTS
U
LTIMATE
G
UIDE
the end of the report or the end of a certain group. If the chart precedes the data it used 
inside the overall document, then the 
evaluationTime
attribute must be used to 
postpone rendering of the chart after the iteration through that data has completed.
Sometimes charts and crosstabs need to gather data by iterating through virtual records 
that are not part of the report data source, but are instead virtual records nested inside 
complex data structures that are part of the current record inside the report data source. 
To iterate through such nested data structures, use subdatasets as explained in the 
previous chapter.
A chart dataset can instantiate a dataset run by referencing a subdataset declared at the 
report level and by supplying parameter values to it, as well as a data source or a 
connection.
Using a chart coupled with a dataset run is equivalent to putting a chart inside a 
subreport and doing all the required wiring for passing the data from the master report to 
the subreport. Datasets were introduced to simplify this procedure and to remove the 
need to use subreports that do not have visual content but are used only for iterating 
through data and performing calculations.
We’ll now take a closer look at the dataset types to see what kind of data mapping they 
require.
P
IE
D
ATASET
This dataset is useful for rendering Pie or Pie 3D charts. Data required for such charts 
comes in the form of key-value pairs. Each pair represents a slice in the pie chart. Listing 
13-3 gives the JRXML syntax for the Pie dataset.
Listing 13-3. JRXML Syntax
<!ELEMENT pieDataset (dataset?, keyExpression?, valueExpression?, 
labelExpression?, 
sectionHyperlink?)>
Key Expression
Values of this expression represent the categories that will make up the slices in the pie 
chart. This expression can return any 
java.lang.Comparable
object.
Value Expression
This expression produces the values that correspond to each category/key in the dataset. 
Values are always 
java.lang.Number
objects.
P
AGE
178
Documents you may be interested
Documents you may be interested