asp.net open pdf file in web browser using c# vb.net : Adjust pdf page size software Library project winforms .net wpf UWP InData2UserGuide11-part444

Constructing and Using Loops within Prototypes
Suppose you wanted to make ten address labels for each record within a data file.
You could repeat the prototype ten times, but loopsprovide another, easier way
to perform this task.
The following prototype statements will create ten address labels for each record:
«repeat 10¶
«first» «last»¶
«address»¶
«city», «state» «zip»
«end repeat¶
The general form of a 
repeat
loop is:
«repeat expression»loop body statements«end repeat»
When an integer expression is used as 
repeat
’s argument, it may include field val-
ues, as in these examples:
«repeat b»…
Field 
b
’s contents control # of times loop repeats.
«repeat b-2»…
Repeat loop
b-2
times.
«repeat b+c»…
Add contents of fields 
b
and 
c
and loop that many times.
For example, the following prototype repeats a given address label 
count
times,
where the paragraph consisting of 
«name»
has a space-before setting of 
15”
to
force jumping to the next label frame:
«repeat count¶
«name»¶
Special space-before setting on this paragraph.
«address»¶
«city», «state»  «zip»¶
«end repeat¶
This is an example of a loop that is (potentially) repeated a different number of
times for each imported record.
Like 
if
statements, 
repeat
loops may be nested within prototypes. Each loop will
require its own 
endrepeat
statement.
Other Forms of the repeat Statement
Here are the various formats that a 
repeat
statement can take:
«repeatinteger-expression» loop body statements«end repeat»
«repeat for integer-expression times»loop body statements«end repeat»
Conditional Data Importing
Constructing and Using Loops within Prototypes
InData User’s Guide
99
Adjust pdf page size - Compress reduce PDF size in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
C# Code & .NET API to Compress & Decompress PDF Document
best compression pdf; adjust size of pdf in preview
Adjust pdf page size - 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
reduce pdf file size; acrobat compress pdf
Loops using this form repeat the prototype statements in the loop body the spec-
ified number of times. The second form is a more verbose equivalent of the first
one.
«repeat until condition» loop body statements «end repeat»
«repeat whilecondition» loop body statements «end repeat»
These forms of the
repeat
statement continue the loop until some logical condition
is met. The 
repeatuntil
form repeats the loop until the specified conditionbecomes
true—in other words, as long as it remains false. In contrast, the 
repeatwhile
form
repeats the loop as long as the specified conditionremains true—in other words,
until it becomes false.
Here are examples of these types of 
repeat
loops:
«repeat while dept="R&D"¶
«repeat until balanceŽ0¶
«last», «first» («degree»)¶
«acctnum» is overdrawn!¶
Ext. «extension»¶
Balance = $«balance»¶
«read»«end repeat¶
«read»«end repeat¶
The left loop processes records until the 
dept
field holds something other than
R&D
; each subsequent record is retrieved by the 
read
statement (discussed in
detail in Chapter 10). The loop on the right processes records until the 
balance
field ceases to hold a negative value (again using the 
read
statement to retrieve
records).
Note that if the initial condition is not met for these types of loops, then the loop
is not processed even once. For example, if the 
dept
field holds 
Admin
when the
loop on the left is encountered, then the loop will be skipped, although it may be
encountered again when some later record is processed.
The following loop forms function like loops in high-level programming lan-
guages:
«repeat withvariable= integer-expression1to integer-expression2» …
«repeat with variable= integer-expression1down to integer-expression2» …
These loops initially set the specified global InData variable to the result of inte-
ger-expression1, and increment or decrement it by one each time through the loop.
The loop terminates when the variablepasses the value in integer-expression2
(exceeds it or falls below it).
For example, the left loop will run through five iterations, setting the global vari-
able 
ind
to 1, 2, 3, 4 and 5. The right loop will run through three iterations, setting
the variable ind to 10, 9 and 8:
«repeat with ind=1 to 5¶
«repeat with ind=10 down to 8¶
Constructing and Using Loops within Prototypes
Chapter 6:
100
InData User’s Guide
VB.NET Image: How to Draw Annotation on Doc Images with Image SDK
jpeg, gif, tiff and bmp) or documents (like multi-page TIFF, Microsoft Office Word and PDF file top of that, you are also able to adjust various image
change font size pdf form reader; pdf text box font size
C# Image: Zoom Image and Document Page in C#.NET Web Viewer
jpeg), gif, bmp (bitmap), tiff / multi-page tiff, PDF, etc JavaScript APIs for Visual C# .NET developers to adjust the image & document page viewing size
pdf file size limit; change file size of pdf document
Three important points need to be kept in mind when using these types of loops:
u
The variablemust be an InData variable and must notbe a field name.
u
The integer expressions in the 
repeat
statement are evaluated only once, at
the start of the loop. Consider this statement:
«repeat with ind=count1 to count2+1»
If 
count1
and 
count2
are variables, then whatever values they have when the
repeat
statement is executed are the ones that will be used to define the loop,
regardless of how the variables’ contents may change during the course of the
loop.
u
For ascending loops, the initial value, in integer-expression1, must be less
than the value in integer-expression2, or the loop will be skipped. Similarly,
for descending (
down to
) loops, integer-expression1must be greater than inte-
ger-expression2.When the two values are equal, then the loop is executed
exactly once.
The specified variable retains the value it had during the last loop iteration after
the loop terminates. If the loop is skipped, it retains its initial value (integer-
expression1).
«repeat forever»
«repeat»
Both of these forms do what 
repeat forever
implies, and you will have to use an 
exit
repeat
statement to break out of the loop (described in the next subsection). How-
ever, we recommend you use a 
repeat ntimes
form instead, using a very large
value for n, as InData will never relinquish control back to InDesign if you hap-
pen to have a bug in your prototype statements.
Leaving a Loop Early
The 
«exit repeat»
statementallows you to break out of a 
repeat
loop early. For
example, if you don’t know ahead of time how many times a 
repeat
loop should
execute, you could use something like:
«repeat 1000000¶
prototype statements
«if balance > 100000»«exit repeat»«endif¶
prototype statements, probably includingread
«end repeat»
When the value in the 
balance
field is greater than 100,000, then the loop will
terminate.
Conditional Data Importing
Constructing and Using Loops within Prototypes
InData User’s Guide
101
C# PDF: Use C# APIs to Control Fully on PDF Rendering Process
new PDFDocument(@"c:\sample.pdf"); // compute zoom be adjusted to specified size page.GetBitmap(new 0, originalWidth, originalHeight), size); // adjust with a
300 dpi pdf file size; change page size pdf acrobat
C# PowerPoint: How to Set PowerPoint Rendering Parameters in C#
to render PowerPoint (2007 or above) slide into PDF document or are allowed to set image resolution, image size, batch conversion and page-by-page
change file size of pdf; pdf files optimized
Ending a Loop Iteration Early
The 
«next repeat»
statement is used to skip the rest of the current 
repeat
loop’s
body, going on to the next iteration. For example:
«repeat 1000000¶
«if degree<>"PhD"»«next repeat»«endif¶
Dr. «first» «last»¶
additional prototype statements
«if next dept="Admin"»«exit repeat»«endif¶
«read»«end repeat¶
Note that a 
nextrepeat
statementencountered outside of a 
repeat
loop is treated
as a 
next
statement (discussed in Chapter 10), and an 
exitrepeat
statement
encountered outside of a repeat loop is treated as an 
exit
statement (discussed
earlier in this chapter).
Using Picture Frames in a Loop
You can use anchored picture frames inside repeat loops. The only restriction is
that any 
set
statement referencing a given picture box (e.g., 
«set the filename of
picture n»
) must be at the same loop level as the anchored picture frame. (The
“same loop level” includes being outside any repeat loops altogether, as in pre-
vious versions.) 
There are no restrictions on the depth of loop nesting nor the number of anchored
boxes inside each loop.
Constructing and Using Loops within Prototypes
102
InData User’s Guide
VB.NET Image: VB.NET Code to Create Watermark on Images in .NET
This page will show you how to create high size "16", and style "Bold"), and then adjust brush color powerful & profession imaging controls, PDF document, tiff
pdf page size may not be reduced; pdf file size
C# PDF Convert: How to Convert Word, Excel, PowerPoint, Tiff
Support rendering image to a PDF document page, no change for image size. Able to adjust and customize image resolution to meet various C# PDF conversion
pdf custom paper size; change page size pdf
7
Manipulating Incoming Data
This chapter discusses ways of manipulating data as it is imported: extracting
parts of it, transforming it, converting it, and so on. It also covers general char-
acter string manipulation within InData
Extracting Parts of Fields and Expressions
InData offers several methods of extracting part of the data in a field (or any
string). The InData 
character
operatormay be used to extract substrings of field
values. It has the following form:
charactern[to mof expression
where nand mare expressions for the starting and ending indices—offsets—of
the characters to extract from the value in the specified expression, often just a
field name. 
Character
may be abbreviated as simply 
char
, and the 
to
mpart of the
operator is optional if you only want to extract a single character. Character
indices start at 1 and go up to the length of the string; any index out of these
bounds is quietly normalized to the nearest bound—e.g., 0 or -5 becomes 1, and
index 10 of a 4-character string becomes 4. If mis less than n, then the result-
ing string is always empty.
For example, the following expression extracts the first character of the 
last
field:
char 1 of last
The following expression extracts the third through the last characters from the
partnumber
field:
character 3 to length(partnumber) of partnumber
In a more complicated example, the following 
if
statement compares the first
character of the current and previous values of the 
last
field:
«if char 1 of last <> char 1 of prev last»
InData User’s Guide
103
C# Word: Set Rendering Options with C# Word Document Rendering
& raster and vector images, such as PDF, tiff, png Word rendering application still enables users to adjust and set specify a region of Word document page as a
can pdf files be compressed; can a pdf be compressed
C# Word: How to Draw Text, Line & Image in C#.NET Word Project
the sample codes below to adjust text properties. img = (REImage)aPage.ToImage();// translate page to image & profession imaging controls, PDF document, image
change font size in pdf comment box; apple compress pdf
Here are some more examples (assume that the field 
title
holds 
The Narnian Chron-
icles
):
EXPRESSION
RESULTINGSTRING
char 1 to 4 of title
The
char 5 to 10 of title
Narnia
character 1 of title
T
char 2 to 2 of title
h
char 2 to 1 of title
empty string
character 100 of title
empty string
character 1 to length(title) of title
The Narnian Chronicles
The following prototype uses 
char
to reformat a phone number:
«first» «last»
«char 1 to 3 of phone»«char 4 to 6 of phone»•«char 7
to 10 of phone»¶
The phone field holds a 10-digit phone number without any formatting. The for-
matted records look like this:
James Kirk
510555•1212
The following prototype reformats a price based on its number of digits:
«item» «if length(price) <= 2»«price»¢«else if length(price)>= 3»$ «char 1 of
price».
«char 2 to 3 of price»
«else»$«char 1 to 2 of price».
«char 3 to 4 of price»
«endif»¶
This prototype appends a cents sign if the data in the 
price
field has only 1 or 2
digits. If it has 3 or 4 digits, the prototype puts a dollar sign in front of the first
character, a period before the final two characters, and formats the final two char-
acters in smaller, underlined, raised type.
Here are some sample formatted records:
Ink
$12.
35
Pens
$1.
23
Rubber Eraser
59¢
Parchment Ream
$05.
00
The prototype aligns all the differently formatted prices by using a right tab.
As the final example indicates, the previous prototype works only for prices of
four or fewer digits. Here is an only slightly more complex version that works for
any price:
«item»
«if length(price) <= 2»«price»¢«else»$«char 1 to length(price)–2
of price».
«char length(price)-1 to length(price) of price»
«endif»¶
»
»
Extracting Parts of Fields and Expressions
Chapter 7:
104
InData User’s Guide
View Images & Documents in Web Image Viewer | Online Tutorials
page document or image file, like Word, PDF or TIFF API enables programmers to scroll to the next page. btnFitWidth API allows developers to adjust the width of
best way to compress pdf file; pdf compress
VB.NET Excel: VB Methods to Set and Customize Excel Rendering
we treat every single Excel spreadsheet as a page in our VB Adjust Image Scaling Factor. supports converting Excel to other document files, like PDF with online
adjust size of pdf; can a pdf file be compressed
This prototype formats two digit prices with a cents sign following them. For all
other prices, it outputs a dollar sign, followed by all but the last two digits of the
price field, followed by a decimal point (period), followed by the final two digits,
set in smaller, raised, underlined type. Here is how it formats the final price:
Parchment Ream
$105.
00
Let’s consider a more complex prototype using the 
character
statement. It formats
a car parts price list. This document is included in the 
Samples
folder as 
CarParts
:
«fields partno, note1, note2, list, discount¶
«if char 1 of partno = "*"¶
«char 2 to 500 of partno»¶
«else¶
«char 1 to 3 of partno»-«char 4 to 20 of partno»
«note1»
«note2»
«list»
«discount»¶
«endif¶
The prototype uses 
char
to format the part number and also to recognize and for-
mat the header records—distinguished by an initial asterisk—whenever they
appear in the input.
Here are some sample formatted records, along with their fixed column heading
line:
Part
Note
Note
List Discount
Number
1
2
Price
Price
Transmission
400-102000
EF
3
74.50
37.25
400-102001
A
9
86.50
43.25
400-102002
60.00
30.00
400-102003
B
1
34.50
17.25
400-102008
KEB
9
30.00
15.00
400-102009
L
1
63.50
31.75
400-102010
JK
74.00
37.00
400-102011
FCJ
22.00
11.00
400-102012
G
6
41.50
20.75
Alternator
400-102013
1
25.50
12.75
400-102014
D
4
108.50
54.25
400-102015
E
4
89.00
44.50
400-102016
A
93.00
46.50
400-102017
A
1
23.50
11.75
»
»
»
Manipulating Incoming Data
Extracting Parts of Fields and Expressions
InData User’s Guide
105
Finding the Length of a Character String
The 
length
functiongives the total length (number of characters) of any field or
expression. It has two equivalent forms:
the length of expression
length(expression)
Which one to use depends only on your personal preference.
As the previous prototype indicates, the arguments to character specifying the
starting and ending character indices need not be literal numbers, but can be any
expression that evaluates to a number, including ones involving arithmetic oper-
ations.
As we noted in the previous chapter, InData supports the following arithmetic
operations:
+
addition
subtraction
*
multiplication
/
division (with truncation)
mod
modulus (remainder after division)
These operations may be used for whole numbers (integers) only; InData does not
support arithmetic involving non-integer numbers such as prices with fractional
components. It does support comparisons involving non-integers, however.
Here is a more complex example using 
length
. The following prototype formats
each incoming record in one of two ways depending on the combined lengths of
the 
addr
and 
city
fields:
«if length(addr)+length(city) < 25
«last», «first».  «addr», «city»
«phone»¶
«else
«last», «first»
«phone»¶
«addr», «city»¶
«endif¶
Here are some examples of the formatted records:
Jones, Tom.  
12 Cherry Lane, London
223-4433
Smith, Phyllis
243-5544
45638 Westminster Palace Drive, Morgantown
Wong, Terrance.  
954 Land St., Dover
223-5544
»
»
Extracting Parts of Fields and Expressions
Chapter 7:
106
InData User’s Guide
Extracting Substrings
The 
offset
functiontakes two arguments: a string to search for (the pattern) and
a string expression in which to look for it:
offset(pattern, expression
)
Offset
returns an integer character position for where the first occurrence of pat-
ternbegins in the specified expression, or zero if patternis not found. Remember
that character position numbering begin at 1.
For example, the following expression would evaluate to
5
if the field 
last
held the
value 
Johnson
:
offset("son", last)
Offset
is often used in conjunction with 
char
to perform substring extractions
whose starting and ending points are not known in advance. For example, the fol-
lowing prototype expression will insert all characters following the first hyphen
in the 
acct
field into the formatted data:
«char offset("–", acct)+1 to length(acct) of acct»
If there is no hyphen in the 
acct
field, 
offset
will return zero and the 
char
opera-
tor will begin extracting at the first character (0+1), which is just what we want.
String Concatenation
InData supports two string concatenation operators:
&
Concatenate two character strings.
&&
Concatenate two strings, adding an intervening space.
You can use these operators with literal character strings, fields, and general
character expressions. Here are some examples (assume that the field 
last
holds
Smith
,and 
first
holds 
Karen
):
EXAMPLE
RESULT
first & last
KarenSmith
first && last
Karen Smith
first & " Jones"
Karen Jones
first && char 1 of last & ".  Jones"
Karen S. Jones
Of course, within an actual prototype, these expressions would need to be
enclosed in chevron marks. We’ll see examples of these operators in action in later
chapters of this manual.
Manipulating Incoming Data
Extracting Parts of Fields and Expressions
InData User’s Guide
107
Including Literal ChevronMarks in a Prototype
The global named constants 
guillemetleft
and 
guillemetright
may be used to place
literal « and »marks into formatted records, as in this example:
«fields homme, citation¶
«homme» a dit «guillemetleft»«citation» …«guillemetright»
The typeset records appear as follows:
John F. Kennedy a dit «Ich bin ein Berliner …»
Napoleon a dit «Able was I ere I saw Elba …»
Josephine Baker a dit «J’ai deux amours …»
Extracting Words and Lines from Expressions
The 
word
operatormay be used to extract words from fields and general strings.
Its format is very similar to 
character
’s:
word n[to m] of expression
where nis the index of the first word you want (or an expression evaluating to
a whole number), and mis the index of the final word you want (the 
to
mpart
is optional if you only want to extract one word). Word indices begin at 1. With-
in the expression, words are normally separated by spaces.
Here are some examples (assume that the field 
title
holds 
Star Trek: The Next Gen-
eration
):
EXPRESSION
RESULTINGSTRING
word 2 of title
Trek:
word 3 to 4 of title
The Next
word 8 of title
empty string
word 4 to 1000 of title
Next Generation
As the final example illustrates, including a very large number as the final word
to be extracted causes InData to select all remaining words. You can also use the
the number of words inexpression
statement:
word 4 to the number of words in title of title
The 
word
operator may be used to translate the numerical code fields common-
ly found in relational databases to descriptive strings. Here is an example:
raw data:
2
10
50
3
1
150
1
5
29
Extracting Parts of Fields and Expressions
Chapter 7:
108
InData User’s Guide
Documents you may be interested
Documents you may be interested