free pdf viewer c# : Extract all text from pdf SDK Library API .net asp.net winforms sharepoint JasperReports-Ultimate-Guide-313-part1341

T
HE
J
ASPER
R
EPORTS
U
LTIMATE
G
UIDE
choose to cache your images using the 
isUsingCache
attribute available in the 
<image> 
element and if the corresponding 
<imageExpression>
returns the same value from one 
iteration to the next (the same file name, the same URL, etc.).
Lines and rectangles always repeat themselves because they are static elements, just like 
the static texts shown previously. So, when you suppress repeating values for a line or a 
rectangle, it is displayed only once, at the beginning of the report, and then ignored until 
the end of the report.
Note
The isPrintRepeatedValues attribute works only if the corresponding 
<printWhenExpression> is missing. If it is not missing, it will always dictate whether the element should 
be printed, regardless of the repeating values.
If you decide to not display the repeating values for some of your report elements, you 
can modify this behavior by indicating the exceptional occasions in which you might 
want to have a particular value redisplayed during the report-generation process.
When the repeating value spans multiple pages or columns, you can redisplay this 
repeating value at least once for every page or column. If you set 
isPrintInFirstWholeBand="true"
, then the report element will reappear in the first 
band of a new page or column that is not an overflow from a previous page or column. 
Also, if the repeating value you have suppressed spans multiple groups, you can make it 
reappear at the beginning of a certain report group if you specify the name of that 
particular group in the 
printWhenGroupChanges
attribute.
R
EMOVING
B
LANK
S
PACE
When a report element is not displayed for some reason (for example, 
<printWhenExpression>
evaluates to 
Boolean.FALSE
, or a repeated value is 
suppressed), the area where the report element stood at design time will be left empty. 
This blank space also appears if a text field displays only blank characters or an empty 
text value. You can eliminate this unwanted blank space on the vertical axis only if 
certain conditions are met.
For example, say you have three successive text fields, one on top of the other, like this:
TextField1
TextField2
TextField3
If the second field has an empty string as its value or contains a repeated value that you 
chose to suppress, the output would look like this:
TextField1
P
AGE
119
Extract all text from pdf - 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 and paste text from pdf to word; copy paste text pdf file
Extract all text from pdf - 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
export text from pdf; erase text from pdf file
T
HE
J
ASPER
R
EPORTS
U
LTIMATE
G
UIDE
TextField3
In order to eliminate the gap between the first text field and the third, set 
isRemoveLineWhenBlank= "true"
for the second text field. The following then 
displays:
TextField1
TextField3
However, certain conditions must be met in order for this functionality to work. The 
blank space will not be removed if your second text field shares some vertical space with 
other report elements that are printed, even if this second text field does not print.
For example, you might have some vertical lines on the sides of your report section, like 
this:
|   TextField1   |
|                |
|   TextField3   |
or you might have a rectangle that draws a box around your text fields:
------------------
|   TextField1   |
|                |
|   TextField3   |
------------------
or even other text elements that are placed on the same horizontal line with your second 
text field:
Label1   TextField1
Label2 
Label3   TextField3
In all these situations, the blank space between the first and the third text field cannot be 
removed because it is being used by other visible report elements.
Note
The blank vertical space between elements can be removed using the isRemoveWhenBlank 
attribute only if it is not used by other elements, as explained previously.
S
TRETCH
B
EHAVIOR
The 
stretchType
attribute of a report element can be used to customize the stretch 
behavior of the element when, on the same report section, there are text fields that stretch 
themselves because their text content is too large for the original text field height. When 
P
AGE
120
C# PDF Image Extract Library: Select, copy, paste PDF images in C#
Able to extract vector images from PDF. Extract all images from whole PDF or a specified PDF page. C#: Extract All Images from PDF Document.
cut text from pdf document; can't copy and paste text from pdf
VB.NET PDF Image Extract Library: Select, copy, paste PDF images
Extract all images from whole PDF or a specified PDF page in VB.NET. using RasterEdge.XDoc.PDF; VB.NET: Extract All Images from PDF Document.
extract pdf text to word; copy text from scanned pdf to word
T
HE
J
ASPER
R
EPORTS
U
LTIMATE
G
UIDE
stretchable text fields are present on a report section, the height of the report section 
itself is affected by the stretch.
A report element can respond to the modification of the report section layout in three 
ways:
 Won’t stretch: The report element preserves its original specified height 
(
strechType= "NoStretch"
).
 Stretching relative to the parent band height: The report element adapts its height 
to match the new height of the report section it is placed on, which has been 
affected by stretch (
stretchType="RelativeToBandHeight"
).
 Stretching relative to the tallest element in group: You have the possibility of 
grouping the elements of a report section in multiple nested groups, if you like. The 
only reason to group your report elements is to customize their stretch behavior. 
Details about how to group elements are supplied in the “Element Groups” section, 
later in this chapter. Report elements can be made to automatically adapt their 
height to fit the amount of stretch suffered by the tallest element in the group that 
they are part of (
stretchType="RelativeToTallestObject"
).
C
USTOM
E
LEMENT
P
ROPERTIES
Report elements can define arbitrary properties in the form of name/value pairs. 
JasperReports itself recognizes and uses a set of such properties, and external code can 
recognize further custom element properties.
In report templates, element properties can be defined either as a static name/value pair, 
or as a pair that has a static name and an expression that produces a dynamic value.
Listing 10-2 gives the JRXML syntax for the custom report element properties.
Listing 10-2. JRXML Syntax
<!ELEMENT reportElement (property*, propertyExpression*, ...)>
<!ELEMENT property EMPTY>
<!ATTLIST property
name CDATA #REQUIRED
value CDATA #IMPLIED
>
<!ELEMENT propertyExpression (#PCDATA)>
<!ATTLIST propertyExpression
name CDATA #REQUIRED
>
The 
<property>
element is the same element used for report-level properties. The 
<propertyExpression>
element defines a property that has a dynamic value; the 
element contents will be used as property value expression. The property value 
expression needs to evaluate to a 
java.lang.String
instance at fill time.
P
AGE
121
VB.NET PDF Page Extract Library: copy, paste, cut PDF pages in vb.
VB.NET: Extract All Images from PDF Document. This is an example that you can use it to extract all images from PDF document. ' Get page 3 from the document.
extracting text from pdf; c# read text from pdf
C# PDF Convert to Text SDK: Convert PDF to txt files in C#.net
DotNetNuke), SharePoint. All text content of target PDF document can be copied and pasted to .txt files by keeping original layout. C#.NET
.net extract pdf text; extract all text from pdf
T
HE
J
ASPER
R
EPORTS
U
LTIMATE
G
UIDE
Property value expressions are evaluated at the same moment at which the element itself 
gets evaluated; hence for elements that have delayed evaluation, the dynamic properties 
will be evaluated at the moment given by the delayed evaluation type. If the value 
expression evaluates to 
null
, no name/value pair will be set for the element.
Properties that have dynamic values overwrite static properties: if the report has a static 
property and a dynamic property with the same name, the dynamic property value will 
override the static value, unless the value expression evaluates to 
null
.
Some custom element properties are used by the reporting engine at fill time, and others 
are propagated to the generated elements in the filled report and used at export time.
The first category includes properties such as the ones used to customize text truncation 
(see T
EXT
T
RUNCATION
on page 137). Another example of element properties used at fill time 
are custom chart properties that are recognized by a chart customizer.
The second category includes properties that are defined for report design elements, 
transferred to the print elements generated by the design elements and used when the 
filled report gets exported. An example of such properties are the properties that specify 
export filter criteria (see Exporter Filters on Page 237).
The JasperReports exporters recognize a limited set of custom element properties, but 
one can extend the built-in exporters to recognize and use further element properties. 
This would allow users to introduce new export functionality, and to parametrize such 
functionality per report element via custom properties.
To determine which element properties need to be propagated into the filled report, 
JasperReports uses a list of configurable property prefixes. Element properties that match 
one of the configured property prefixes are copied into the print elements generated by 
the element from the report template.
The prefixes of properties to be propagated are configured via JasperReports global 
properties of the form 
net.sf.jasperreports.print.transfer.<arbitrary_suffix>
. The values of 
such properties are used as prefixes for properties that are to be transferred to the filled 
report elements.
The built-in JasperReports configuration defines a single such prefix: 
net.sf.jasperreports.export
. Consequently, all element properties that start with 
this prefix will be propagated to the generated report elements by default.
T
EXT
E
LEMENTS
There are two kinds of text elements in JasperReports: static texts and text fields. As 
their names suggest, the first are text elements with fixed, static content, they do not 
change during the report-filling process, and they are used especially for introducing 
labels into the final document. Text fields, however, have an associated expression that is 
evaluated at runtime to produce the text content that will be displayed. Both types of text 
P
AGE
122
C# PDF Form Data Read Library: extract form data from PDF in C#.
enable users abilities to read and extract PDF form data Able to retrieve all form fields from adobe PDF it should have functions for processing text, image as
copy highlighted text from pdf; get text from pdf file c#
VB.NET PDF Form Data Read library: extract form data from PDF in
DLLs: Read and Extract Field Data in VB.NET. Demo Code to Retrieve All Form Fields from a PDF field Console.WriteLine(" Content: " + obj.Text) ElseIf TypeOf
cut and paste pdf text; extract text from pdf to excel
T
HE
J
ASPER
R
EPORTS
U
LTIMATE
G
UIDE
elements share some properties, and those are introduced using a 
<textElement> 
element. We are now going to show them in detail.
Listing 10-3 gives the JRXML syntax for text element properties
<!ELEMENT textElement (font?)>
<!ATTLIST textElement
textAlignment (Left | Center | Right | Justified) #IMPLIED
verticalAlignment (Top | Middle | Bottom) #IMPLIED
rotation (None | Left | Right | UpsideDown) #IMPLIED
lineSpacing (Single | 1_1_2 | Double) #IMPLIED
isStyledText (true | false) #IMPLIED
>
Listing 10-3. JRXML Syntax
H
ORIZONTAL
A
LIGNMENT
To specify the horizontal alignment style of a text element , use the 
textAlignment 
attribute and choose one of the four possible values 
Left
Center
Right
, or 
Justified
. The default horizontal alignment for text is 
Left
.
V
ERTICAL
A
LIGNMENT
You can align text inside the element bounds on the vertical axis by using the 
verticalAlignment
attribute and choosing one of the three possible values 
Top
Middle
, or 
Bottom
. By default, text elements are aligned at the top.
R
OTATING
T
EXT
The 
rotation
attribute, available for text elements, allows changing the text direction 
by rotating it 90 degrees to the right or to the left, or by rotating it 180 degrees to be 
rendered upside down.
L
INE
S
PACING
The amount of space between consecutive lines of text can be set using the 
lineSpacing
attribute:
 Single: The paragraph text advances normally using an offset equal to the text line 
height (
lineSpacing="Single"
).
 1.5 Lines: The offset between two consecutive text lines is 1.5 lines 
(
lineSpacing= "1_1_2"
).
 Double: The space between text lines is double the height of a single text line 
(
lineSpacing="Double"
).
P
AGE
123
C# PDF - Extract Text from Scanned PDF Using OCR SDK
SharePoint. Recognize the whole PDF document and get all text content. Recognize a page of PDF document and extract its text content.
delete text from pdf online; c# extract text from pdf
C# PDF Text Search Library: search text inside PDF file in C#.net
1; int pageCount = 2 // Search text from second page SearchResult results = pdf.Search("RasterEdge", option, pageOffset Search specified string from all the
extract text from scanned pdf; cut and paste text from pdf
T
HE
J
ASPER
R
EPORTS
U
LTIMATE
G
UIDE
The font settings for the text elements are also part of the 
<textElement>
tag. Font 
settings are explained in a later section.
S
TYLED
T
EXT
The 
isStyledText
attribute is a flag that indicates whether the text content of the 
element is pure text or has embedded styling information like colors, fonts, and so on. 
More about styled text functionality can be found in the “Styled Text” section later in 
this chapter.
F
ONTS
AND
U
NICODE
S
UPPORT
Each text element present on your report can have its own font settings. Those settings 
can be specified using the 
<font>
tag available in the 
<textElement>
tag.
Since a report template usually uses only a few types of fonts shared by different text 
elements, there’s no point forcing JRXML report template creators to specify the same 
font settings repeatedly for each text element. Instead, reference a report-level font 
declaration and adjust only some of the font settings, on the spot, if a particular text 
element requires it.
Report Fonts
A report font is a collection of font settings, declared at the report level, that can be 
reused throughout the entire report template when setting the font properties of text 
elements.
Note
Report fonts are now deprecated and report style definitions should be used instead. Please refer to the 
“Styles” section on page 49 for more details on styles.
Listing 10-4 gives the JRXML syntax for report fonts.
<!ELEMENT reportFont EMPTY>
<!ATTLIST reportFont
name CDATA #REQUIRED
isDefault (true | false) "false"
fontName CDATA #IMPLIED
size NMTOKEN #IMPLIED
isBold (true | false) #IMPLIED
isItalic (true | false) #IMPLIED
isUnderline (true | false) #IMPLIED
isStrikeThrough (true | false) #IMPLIED
pdfFontName CDATA #IMPLIED
P
AGE
124
T
HE
J
ASPER
R
EPORTS
U
LTIMATE
G
UIDE
pdfEncoding CDATA #IMPLIED
isPdfEmbedded (true | false) #IMPLIED
>
Listing 10-4. JRXML Syntax
Report Font Name
The 
name
attribute of a 
<reportFont>
element is mandatory and must be unique, 
because it will be used when referencing the corresponding report font throughout the 
report.
Default Report Font
You can use 
isDefault="true"
for one of your report font declarations. It marks the 
default base font that the reporting engine uses when dealing with text elements that do 
not reference a particular report font. This default font is also used by the text elements 
that do not have any font settings at all.
All the other report font properties are the same as those for a normal 
<font>
element, 
as shown in Listing 10-5.
<!ELEMENT font EMPTY>
<!ATTLIST font
reportFont CDATA #IMPLIED
fontName CDATA #IMPLIED
size NMTOKEN #IMPLIED
isBold (true | false) #IMPLIED
isItalic (true | false) #IMPLIED
isUnderline (true | false) #IMPLIED
isStrikeThrough (true | false) #IMPLIED
pdfFontName CDATA #IMPLIED
pdfEncoding CDATA #IMPLIED
isPdfEmbedded (true | false) #IMPLIED
>
Listing 10-5. JRXML Syntax
Referencing a Report Font
When introducing the font settings for a text element of your report, you can use a report 
font declaration as a base for the font settings you want to obtain. The attributes of the 
<font>
element, if present, are used only to override the same-named attributes that are 
present in the report font declaration referenced using the 
reportFont
attribute.
For example, if the report contains a font like the following:
P
AGE
125
T
HE
J
ASPER
R
EPORTS
U
LTIMATE
G
UIDE
<reportFont
name="Arial_Normal"
isDefault="true"
fontName="Arial"
size="8"
pdfFontName="Helvetica"
pdfEncoding="Cp1252"
isPdfEmbedded="false"/>
and you want to create a text field that has the same font settings as those in this report 
font, only larger, simply reference this report font using the 
reportFont
attribute and 
specify the desired font size like this:
<textElement>
<font reportFont="Arial_Normal" size="14"/>
</textElement>
When the 
reportFont
attribute is missing, the default report font is used as the base 
font.
Font Name
In Java, there are two types of fonts: physical fonts and logical fonts. Physical fonts are 
the actual font libraries consisting of, for example, TrueType or PostScript Type 1 fonts. 
The physical fonts may be Arial, Time, Helvetica, Courier, or any number of other fonts, 
including international fonts.
Logical fonts are the five font types that have been recognized by the Java platform since 
version 1.0: Serif, SansSerif, Monospaced, Dialog, and DialogInput. These logical fonts 
are not actual font libraries that are installed anywhere on your system. They are merely 
font type names recognized by the Java runtime, which must be mapped to some 
physical font that is installed on your system.
In addition to the JVM's physical fonts and logical fonts, the JasperReports library can 
make use of fonts registered on-the-fly at runtime, through its built-in support for font 
extensions. A font extension can make available to JasperReports a list of font families 
that are each made out of similarly looking font faces and supporting specific locales.
In the 
fontName
attribute of the 
<font>
element or the 
<reportFont>
element, you 
must specify the name of a physical font, the name of a logical font, or the name of a font 
family from the registered JasperReports font extensions. 
Note
We strongly encourage people to use only fonts derived from font extensions, because this is the only 
way to make sure that the fonts will be available to the application when the reports are executed at runtime. 
Using system fonts always brings the risk for the reports not to work properly when deployed on a new machine 
that might not have those fonts installed. Font extensions are explained in “Advanced JasperReports” on page 
P
AGE
126
T
HE
J
ASPER
R
EPORTS
U
LTIMATE
G
UIDE
275.
For more details about fonts in Java, check the Java tutorial or the JDK documentation.
Font Size
The font size is measured in points and can be specified using the 
size
attribute.
Font Styles and Decorations
There are four Boolean attributes available in the 
<font>
and 
<reportFont>
elements 
that control the font style and/or decoration. They are 
isBold
isItalic
isUnderline
, and 
isStrikeThrough
. Their meanings are obvious.
PDF Font Name
When exporting reports to PDF format, the JasperReports library uses the iText library. 
As the name (Portable Document Format) implies, PDF files can be viewed on various 
platforms and will always look the same. This is partially because in this format there is 
a special way of dealing with fonts.
If you want to design your reports so that they will eventually be exported to PDF, make 
sure you choose the appropriate PDF font settings that correspond to the Java font 
settings of your text elements.
The iText library knows how to deal with built-in fonts and TTF files. It recognizes the 
following built-in font names:
 Courier
 Courier-Bold
 Courier-BoldOblique
 Courier-Oblique
 Helvetica
 Helvetica-Bold
 Helvetica-BoldOblique
 Helvetica-Oblique
 Symbol
 Times-Roman
 Times-Bold
P
AGE
127
T
HE
J
ASPER
R
EPORTS
U
LTIMATE
G
UIDE
 Times-BoldItalic
 Times-Italic
 ZapfDingbats
Every time you work with fonts, the iText library requires you to specify as the font 
name one of the following:
 A built-in font name from the preceding list
 The name of a TTF file that it can locate on disk
 The real name of the font, provided that the TTF file containing the font has been 
previously registered with iText or that an alias was defined when the font was 
registered
The font name introduced by the 
fontName
attribute is of no use when exporting to PDF. 
The special font attributes exist so that you can specify the font settings that the iText 
library expects from you.
Configuration properties (see “Configuration Files” on page 272) are used to register 
fonts with iText so that the real font name or a given alias can be used to specify the PDF 
font name. Font files, font collection files, and font directories can be registered with 
iText.
To register a font file or font collection, create a property having a key that starts with 
net.sf.jasperreports.export.pdf.font
and the file location as the property 
value. The file location can be the name of a file to be loaded from the file system, the 
name of a resource present on the classpath, or a URL. You can register a font directory 
on the file system with iText by creating a property having a key starting with 
net.sf.jasperreports.export.pdf.fontdir
. When registering a directory, all the 
font files in that directory are loaded, and the real font name will be accepted when 
working with iText fonts.
The 
pdfFontName
attribute can contain one of the following values:
 The name of a built-in PDF font from the preceding list
 The name of a TTF file that can be located on disk at runtime when exporting to 
PDF
 The real name of a registered font
 The suffix of the key (the part after 
net.sf.jasperreports.export.pdf.font
for a font registered with iText as a font file
Note
The report template creator must choose the right value for the pdfFontName attribute that 
corresponds exactly to the physical or logical Java font specified using the fontName attribute. If those two 
fonts (one used by the Java viewers and printers and the other used in the PDF format) do not represent the 
same font or do not at least look alike, you might get unexpected results when exporting to PDF format.
P
AGE
128
Documents you may be interested
Documents you may be interested