asp.net open pdf file in web browser using c# vb.net : Best pdf compression tool software SDK dll winforms wpf .net web forms InData2UserGuide4-part456

Avoiding Unwanted Blank LinesFrom Missing Fields
If we imported data into the document right now, some of the resulting name and
address entries would have unwanted blank lines within them:
Calvin, John. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ext. 2873
VP Human Resources  (Admin Dept.)
264 Poli Way, Shellville
444-9584
Caxton, Thomas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ext. 2846
Accountant (Admin Dept.)
3421 W. 120th St., Bright Valley
missing phone
Donne, Anne e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ext. 2190
Secretary  (Admin Dept.)
3981 W. 115th St., Bright Valley
444-5984
Thomas Caxton’s record has no data in the phone number field. However, InDa-
ta still puts a new line character into the document at that point because it is a
literal character within the prototype.
InData is able to conditionallyimport fields into the document. Using this fea-
ture, we can eliminate the blank linesby telling InData to import certain fields
and their corresponding new line characters only if the fields are not empty. Here
is an example of how this is done (but don’t type anything into your prototype
yet):
«if address is not empty»«address»
¬
«endif»¶
These prototype statements tell InData to insert the contents of the field named
address
into the document followed by a new line character only if that field is not
empty.
Sometimes, however, it is the new line characteritselfthat needs to be made part
of the condition. Here is an example:
«lastname», «firstname»«if title»
¬
«title»«endif»¶
In this case, the 
title
field is being conditionally imported. If a record has a title,
then InData will insert a new line character after the name line. However, if a
record has no value in the 
title
field, then this new line character is not needed.
That is why the new line is placed beforethe 
title
field placeholder but insidethe
if…endif
conditional statement.
InDataTutorials
Tutorial 3: Advanced Data Importing
InData User’s Guide
29
Best pdf compression tool - Compress reduce PDF size in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
C# Code & .NET API to Compress & Decompress PDF Document
pdf files optimized; reader shrink pdf
Best pdf compression tool - VB.NET PDF File Compress Library: Compress reduce PDF size in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
VB.NET PDF Document Compression and Decompression Control SDK
change font size on pdf text box; pdf form change font size
This prototype also illustrates a short version of the 
if field is not empty
statement:
the 
is not empty
part is actually optional.
We’ll add conditional importing statements to both the 
address
and 
phone
fields
in our prototype.
8
Modify the prototype so that both the 
address
and 
phone
fields are imported only
if they are not empty. Only include the 
city
field if the 
address
field is not empty.
You may want to try this on your own, before looking at the completed prototype
below.
This is how the modified prototype will look:
«fields last, first, ext, title, dept, address, city, phone¶
«last», «first»
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ext. «ext»
¬
«title» («dept» Dept.)«if address is not empty»
¬
«address», «city»«endif»«if phone»
¬
«phone»«endif»¶
There are a couple of tricky aspects to this prototype. First, the ifstatements need
to place the new line characters beforetheir corresponding fields, so that new
lines are created only if there is data in the field. Secondly, the final endif state-
ment comes beforethe final new paragraph mark because the latter should not
be imported conditionally; each record should always end with a paragraph
break.
This section has illustrated only the simplest uses of InData’s conditional import-
ing features. See Chapter 6 for an in-depth discussion of these capabilities.
Adding Room Numbers
The last modification we’ll make to this file is to add each person’s office location
to the formatted record. In this company, in-house phone numbers in the 
ext
field
are created by starting with a 2, then adding the floor of the building the person’s
office is on, and finally adding the two-digit room number after it. For example,
an extension of 2287 means that person’s office is on the second floor in room 87.
So, to add floor and room numbers to the outputted records, we need to extract
this information from the 
ext
field.
InData has a 
character
operatorthat allows you to do just that. Here is its gen-
eral format:
«character startto endof field»
where startand endare numbers indicating which characters to extract (num-
bering begins at 1), and fieldis the name of a field from the fields statement. If
you want only one character from the field, then the 
toend
part may be omitted.
If you want all the characters starting at a given location, then use the form
»
Tutorial 3: Advanced Data Importing
Chapter 3:
30
InData User’s Guide
C# PDF Convert to Tiff SDK: Convert PDF to tiff images in C#.net
Best C#.NET PDF converter SDK for converting PDF to Supports tiff compression selection. library control (XDoc.PDF) is a multifunctional PDF document converting
best way to compress pdf file; .pdf printing in thumbnail size
VB.NET PDF - Convert PDF Online with VB.NET HTML5 PDF Viewer
Best Visual Studio .NET HTML5 PDF Viewer PDF Viewer control as Export multiple pages PDF document to multi-page Tiff Able to choose TIFF file compression mode.
change font size in pdf text box; change page size pdf
length(field)
for end,which stands for the total length of the field’s contents. The
keyword 
character
may be abbreviated to 
char
.
We’ll add a line to each imported record below the name and extension line, con-
taining the floor and room number of their office. Here is how a formatted record
will look:
Johnson, Samuel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ext. 2456
Floor 4, Room 56
Installation Planner(Customer Support Dept.)
123 North Cedar Street, Berkeley
555-6677
9
Add 
char
expressions and literal text to the prototype to produce records like the
one above. You may want to try this on your own before looking at the complet-
ed prototype.
Here is what the finished prototype looks like:
«fields last, first, ext, title, dept, address, city, phone¶
«last», «first»
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ext. «ext»
¬
Floor «char 2 of ext», Room «char 3 to 4 of ext»
¬
«title»(«dept» Dept.)«if address is not empty»
¬
«address», «city»«endif»«if phone»
¬
«phone»«endif»¶
The words “Floor” and “Room” are literal text placed into the prototype. The
appropriate characters extracted from the ext field are placed after each word.
Don’t forget to change the font size of the line you’ve added (if desired).
As this prototype indicates, it’s perfectly all right to use a field more than once in
a prototype. Incoming fields can be placed in any order within a prototype, be
used more than once, or be ignored altogether. It’s completely up to you as the
prototype creator.
Don’t worry if some of the prototype lines wrap to the next column.  The format-
ted records will fit within the column just fine.
10
If you like, save the file as a template for later use.
Import the Data
Now we’re ready to import the data.
11
Check to make sure that the data format is set to 
Tab-delimited
.
»
InDataTutorials
Tutorial 3: Advanced Data Importing
InData User’s Guide
31
C# HTML5 PDF Viewer SDK to convert and export PDF document to
Best Visual Studio .NET HTML5 PDF Viewer PDF Viewer control as Export multiple pages PDF document to multi-page Tiff Able to choose TIFF file compression mode.
pdf paper size; change page size pdf acrobat
12
Select 
InData
=>
Import from File…
, and then select the Poole employees data file
once again.
When all of the data is imported, you will have completed tutorial number three.
In the next tutorial you will learn some more advanced uses of conditional state-
ments in InData.
Tutorial 4: Adding Department Headlines
In this tutorial we’ll modify the prototype from Tutorial 3 to add reversed type
department headlines. The formatted records will look something like this:
Sales
Beaumont, Christopher r . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ext. 2637
Floor 6, Room 37
Sales Representative
2312 W. 112th St., Bright Valley
444-3322
1
To begin this tutorial, either open the file you created in the last tutorial (assum-
ing that you didn’t import data into your only copy) or open the file 
Tutor_4
in the
Tutorial
folder. If you choose the latter file, you will notice small formatting changes
in the prototype. 
Comparing the Current and Previous Records
The records in the data file are sorted by department and then by last name; the
“Admin” (administration) department comes first, with all its members in alpha-
betical order, followed by the alphabetized members of the Marketing depart-
ment, and so on. We want to create a new department headline every time the
department changes (and only at those times). To do this we’ll use the 
if
state-
ment.
InData’s 
if
statement is more powerful than the simple use we made of it in the
last tutorial might suggest. For example, it may also be used to compare the con-
tents of a field to a literal value, to the contents of another field, or to the value of
the same field in the previous record. It’s the latter operation that we want.
2
First of all, remove the 
dept
field placeholder and its accompanying literal text—
“ Dept.)” and the preceding opening parenthesis—from the prototype.
We’re going to place the department headline before the first record for each
department, so we’ll be adding to the prototype on a line between the 
fields
state-
ment and the 
last
field placeholder.
Tutoria4: Adding Department Headlines
Chapter 3:
32
InData User’s Guide
3
Create a new line for the 
dept
placeholder by entering a carriage return at the
end of the 
fields
statement, and type in the 
dept
placeholder on that line. Set the
department placeholder in 16 point boldface Helvetica type.
The prototype should now look something like this:
«fields last, first, ext, title, dept, address, city, phone¶
«dept»
«last», «first»
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ext. «ext»
¬
Floor «char 2 of ext», Room «char 3 to 4 of ext»
¬
«title»«if address is not empty»
¬
«address», «city»«endif»«if phone»
¬
«phone»«endif»¶
As it currently is, the prototype tells InData to place the contents of the 
dept
field
before every record. Our next step is to tell InData to include the 
dept
field only
if it has changed since the last record. 
4
Add this 
if
statement and its closing 
endif
statement to the prototype so that the
dept field is imported only if its contents are different from that in the previous
record:
«if dept is not previous dept»
This statement compare the contents of the 
dept
field in each record with what
was present in that same field in the previousrecord. If the 
dept
field changes,
then InData will perform the actions that lie between the 
if
statement and its
closing 
endif
statement.
Here is the completed prototype:
«fields last, first, ext, title, dept, address, city, phone¶
«if dept <> prev dept¶
«dept»
«endif»«last», «first»
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ext. «ext»
¬
Floor «char 2 of ext», Room «char 3 to 4 of ext»
¬
«title»«if address is not empty»
¬
«address», «city»«endif»«if phone»
¬
«phone»«endif»¶
As this prototype indicates, the 
previous
keywordmay be abbreviated as 
prev
, and
the 
is not
operator can be abbreviated as <>(the not equal sign).
We’ve placed the 
if
statement on a separate line above the 
dept
field placehold-
er, ending it with a carriage return instead of a right chevronmarkso that the
carriage return does not become a literal character in the prototype and produce
»
»
InDataTutorials
Tutorial 4: Adding Department Headlines
InData User’s Guide
33
blank lines in the formatted records. However, we could have written that part of
the prototype as:
«if dept is not prev dept»
«dept»
«endif»
This is purely an aesthetic choice; either form is correct. Note that the 
endif
state-
ment comes after the carriage return following the dept field placeholder since
the carriage return itself should only be included if the 
dept
field is.
We also chose to set the 
if
statement in smaller type than the 
dept
placeholder, to
minimize its visual prominence as we look at the prototype. Since it won’t appear
in the formatted data, we are free to format it as desired.
You might wonder if this prototype will work correctly on the first record of the
data file. The answer is yes, since the previous contents of any field in the first
record are considered empty (null).
Creating Reversed Typewith Paragraph Rules
Now we’ll turn to the task of setting the paragraph format for the 
dept
field
placeholder.
5
Place the cursor in the paragraph holding the 
dept
field placeholder. Bring up the
Paragraph 
dialog by choosing 
Type
=>
Paragraph…
from the dialog’s pop-up
menu. Change the following settings (you may alter the numeric values if you
like, to taste):
Space Before:
0.5" (36 pt)
Space After:
0.2" (14.4 pt)
Keep with Next:
1
Alignment:
Centered
6
Select the entire 
dept
field placeholder and change its color to white.
The placeholder will temporarily disappear, but it will reappear as soon as we add
black rulesto the paragraph:
7
Without changing the insertion point, select 
Paragraph
=>
Paragraph Rules…
.
from the 
Paragraph
palette’s popup menu. Add a 22 point black rule above the
paragraph. Set the values of the 
Offset:
field so that the rules form a black frame
behind the 
dept 
field placeholder.
The idea here is to get the rule to cover the text completely. Since the text is
white, it will stand out against the black rule. We found that an offset of about
.083" (-6 pt) works well for 16 point boldface Helvetica type. If you’re using a dif-
ferent font or size, you may need to experiment with this value a bit.
Tutorial 4: Adding Department Headlines
Chapter 3:
34
InData User’s Guide
Here is our completed 
Paragraph Rules
dialog:
8
Save the file at this point as we’ll want to use it more than once. If you like, save
the file as a template for repeated use.
9
Import the Poole employees data file into the document. Several department
headlines will be created along with the formatted employee records.
Forcing a Paragraph to the Top of a Column
Sometimes, you want to force a paragraph to the top of a column or page. In this
example, you might want each department to start its own column. Here is how
to accomplish this.
10
Revert to the last saved version of the document, or open the template you cre-
ated. (If you didn’t save it, you can open the file named 
Tutor_5
).
11
Place the cursor in the paragraph containing the 
dept
field placeholder, and then
open the 
Paragraph
palette. Click on the palette’s slide-out menu, and select the
Keep Options...
item. Then, select 
In Next Column
from the 
Start Paragraph
menu. Close all dialogs.
This will force the department header to the top of the next column on the page:
However, when you import the actual data, the initial fields and 
if
statements will
not be placed into the document, and the first department headline will start at
the top of the first column on page 1 of the document.
InDataTutorials
Tutorial 4: Adding Department Headlines
InData User’s Guide
35
12
Import the data file into the document again, and then examine the document’s
pages to verify that the department headlines are placed at the start of new
columns.
This completes the fourth tutorial.
Tutorial 5: Importing Pictures
In this tutorial, we’ll conditionally import graphics into the document. We’ll final-
ly be using the last field of each data record, which contains the name of the file
containing each person’s photograph (if one is available).
Note
to save space, only one photograph file has been placed on the InData dis-
tribution, and this same file is used for three different people in the data file.
Despite these unrealistic aspects, however, you will still be able to get a good
sense of how picture importing works from this tutorial.
1
Open the file named 
Tutor_5
in the Tutorial folder. Modify the space before setting
of the department paragraph as in the previous tutorial. Save the file to any
name you choose within the same folder before proceeding, or pictures will not
import properly.
Adding a Picture Frame to the Prototype
The first step required in importing pictures with InData is to add a picture 
frame to the prototype.
2
With the rectangular frame tool, draw an approximately one inch square picture
frame in some convenient location (in the empty right hand column or on the
pasteboard, for example).
3
With the selection tool, make sure the just-created picture frame is selected, and
then choose 
Cut
from the 
Edit
menu.
4
With the type tool, place the cursor between 
«endif»
and 
«last»
in the prototype.
Begin a new paragraph by entering a carriage return.
5
Without moving the cursor, paste the cut picture frame into the prototype, and
then enter another carriage return.
Tutorial 5: Importing Pictures
Chapter 3:
36
InData User’s Guide
This part of your prototype will now look like this:
«dept»
«endif»¶
«last», «first»
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ext. «ext»
¬
Floor «char 2 of ext», Room «char 3 to 4 of ext»
¬
«title»«if address is not empty»
¬
«address», «city»«endif»«if phone»
¬
«phone»«endif»¶
Continue the prototype by modifying the paragraph containing the picture frame,
setting the space before to .08” (6 points) and the space after to 0.  Set its keep
with next setting to 1 line (so the picture always stays with corresponding entry).
Specifying the Picture Filename in the Prototype
First we need to add the final field in the data file to the prototype’s fields state-
ment.
6
Add the field name 
pix
to the end of the 
fields
statement. Be sure to place a
comma before it.
The 
setfilename
commandis used to tell InData what field contains the picture
filename for any anchored picture frames within the prototype. Its general for-
mat is:
«set filename of picture nto field»
where nindicates which picture frame within the prototype is meant, and field
indicates which data field contains the name of the picture file to import. We want
to set the field for the first (and only) picture frame in the prototype to 
pix
.
7
Add a 
set filename
statement before the 
last
field placeholder. You may end the 
set
filename
statement with a carriage return, placing it on its own line within the
prototype, if you omit the right chevron.
»
InDataTutorials
Tutorial 5: Importing Pictures
InData User’s Guide
37
Here is how this part of the prototype now looks:
«set filename of picture 1 to pix¶
«last», «first»
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ext. «ext»
¬
Making the Picture Import Conditional
Of course, we only want to include the picture frame if the 
pix
field contains a file
name—if it’s not empty, in other words.
8
Add an 
if
statement to the prototype so that the picture frame, its associated
paragraph mark, and the 
setfilename
statement are included only if the 
pix
field
is not empty.
Here is one way to accomplish this:
«dept»
«endif»«if pix¶
«set filename of picture 1 to pix»«endif¶
«last», «first»
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ext. «ext»
¬
The 
if
statement precedes the picture frame, and the 
endif
comes after the 
setfile-
name
statement. A right chevron now closes the 
setfilename
statement, and the
paragraph mark closes the 
endif
statement.
Specifying Global Picture Attributes
When you import a graphic into a picture frame, it may or may not be sized cor-
rectly for the frame. InData allows you to specify how to position and size import-
ed graphics within their picture frames in the 
InData: General Preferences
dia-
log, which you reach by selecting 
InData
=>
Preferences
=>
General…
from the
InDesign menu.
»
»
Tutorial 5: Importing Pictures
Chapter 3:
38
InData User’s Guide
Documents you may be interested
Documents you may be interested