asp net core 2.0 mvc pdf : All jpg to one pdf converter control application system azure html .net console McGraw.Hill.CSharp.4.0.The.Complete.Reference.Apr.201042-part1201

394
Part I: The C# Language
Demonstrating Binary I/O
Here is a program that demonstrates BinaryReader and BinaryWriter. It writes and then 
reads back various types of data to and from a file.
// Write and then read back binary data.
using System;
using System.IO;
class RWData {
static void Main() {
BinaryWriter dataOut;
BinaryReader dataIn;
int i = 10;
double d = 1023.56;
bool b = true;
string str = "This is a test";
// Open the file for output.
try {
Method
Description
bool ReadBoolean( )
Reads a bool.
byte ReadByte( )
Reads a byte.
sbyte ReadSByte( )
Reads an sbyte.
byte[ ] ReadBytes(int count)
Reads count bytes and returns them as an array.
char ReadChar( )
Reads a char.
char[ ] ReadChars(int count)
Reads count characters and returns them as an array.
decimal ReadDecimal( )
Reads a decimal.
double ReadDouble( )
Reads a double.
float ReadSingle( )
Reads a float.
short ReadInt16( )
Reads a short.
int ReadInt32( )
Reads an int.
long ReadInt64( )
Reads a long.
ushort ReadUInt16( )
Reads a ushort.
uint ReadUInt32( )
Reads a uint.
ulong ReadUInt64( )
Reads a ulong.
string ReadString( )
Reads a string that is represented in its internal, binary 
format, which includes a length specifier. This method 
should only be used to read a string that has been written 
using a BinaryWriter.
T
ABLE
14-6  Commonly Used Input Methods Defi ned by BinaryReader
All jpg to one pdf converter - Merge, append PDF files in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Provide C# Demo Codes for Merging and Appending PDF Document
pdf combine two pages into one; acrobat reader merge pdf files
All jpg to one pdf converter - VB.NET PDF File Merge Library: Merge, append PDF files in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
VB.NET Guide and Sample Codes to Merge PDF Documents in .NET Project
best pdf combiner; pdf merge
P
A
R
T
I
Chapter 14: Using I/O 
395
P
A
R
T
I
P
A
R
T
I
dataOut = new
BinaryWriter(new FileStream("testdata", FileMode.Create));
}
catch(IOException exc) {
Console.WriteLine("Error Opening File:\n" + exc.Message);
return;
}
// Write data to a file.
try {
Console.WriteLine("Writing " + i);
dataOut.Write(i);
Console.WriteLine("Writing " + d);
dataOut.Write(d);
Console.WriteLine("Writing " + b);
dataOut.Write(b);
Console.WriteLine("Writing " + 12.2 * 7.4);
dataOut.Write(12.2 * 7.4);
Console.WriteLine("Writing " + str);
dataOut.Write(str);
}
catch(IOException exc) {
Console.WriteLine("I/O Error:\n" + exc.Message);
} finally {
dataOut.Close();
}
Console.WriteLine();
// Now, read the data.
try {
dataIn = new
BinaryReader(new FileStream("testdata", FileMode.Open));
}
catch(IOException exc) {
Console.WriteLine("Error Opening File:\n" + exc.Message);
return;
}
try {
i = dataIn.ReadInt32();
Console.WriteLine("Reading " + i);
d = dataIn.ReadDouble();
Console.WriteLine("Reading " + d);
b = dataIn.ReadBoolean();
Console.WriteLine("Reading " + b);
C# PDF Convert to Jpeg SDK: Convert PDF to JPEG images in C#.net
Turn multiple pages PDF into single jpg files respectively Support of converting from any single one PDF page and may customize the names of all converted JPEG
batch pdf merger online; all jpg to one pdf converter
VB.NET PDF Convert to Jpeg SDK: Convert PDF to JPEG images in vb.
Turn multiple pages PDF into multiple jpg files in VB Support of converting from any single one PDF page and And converted JPEG image preserves all the content
acrobat split pdf into multiple files; pdf mail merge plug in
396
Part I: The C# Language
d = dataIn.ReadDouble();
Console.WriteLine("Reading " + d);
str = dataIn.ReadString();
Console.WriteLine("Reading " + str);
}
catch(IOException exc) {
Console.WriteLine("I/O Error:\n" + exc.Message);
} finally {
dataIn.Close();
}
}
}
The output from the program is shown here:
Writing 10
Writing 1023.56
Writing True
Writing 90.28
Writing This is a test
Reading 10
Reading 1023.56
Reading True
Reading 90.28
Reading This is a test
If you examine the testdata file produced by this program, you will find that it contains 
binary data, not human-readable text.
Here is a mor
program implements a very simple inventory program. For each item in the inventory, 
the program stores the item’s name, the number on hand, and its cost. Next, the program 
prompts the user for the name of an item. It then searches the database. If the item is found, 
the inventory information is displayed.
/* Use BinaryReader and BinaryWriter to implement
a simple inventory program. */
using System;
using System.IO;
class Inventory {
static void Main() {
BinaryWriter dataOut;
BinaryReader dataIn;
string item; // name of item
int onhand;  // number on hand
double cost; // cost
try {
dataOut = new
Online Convert Jpeg to PDF file. Best free online export Jpg image
Easy converting! Drag and drop your JPG file, choose all the conversion settings you like, and download it with one click.
adding pdf pages together; best pdf merger
C# Create PDF from images Library to convert Jpeg, png images to
C#.NET Example: Convert One Image to PDF in Visual C# .NET 1.bmp")); images.Add(new Bitmap(Program.RootPath + "\\" 1.jpg")); images.Add All Rights Reserved.
asp.net merge pdf files; break pdf into multiple files
P
A
R
T
I
Chapter 14: Using I/O 
397
P
A
R
T
I
P
A
R
T
I
}
catch(IOException exc) {
Console.WriteLine("Cannot Open Inventory File For Output");
Console.WriteLine("Reason: " + exc.Message);
return;
}
// Write some inventory data to the file.
try {
dataOut.Write("Hammers");
dataOut.Write(10);
dataOut.Write(3.95);
dataOut.Write("Screwdrivers");
dataOut.Write(18);
dataOut.Write(1.50);
dataOut.Write("Pliers");
dataOut.Write(5);
dataOut.Write(4.95);
dataOut.Write("Saws");
dataOut.Write(8);
dataOut.Write(8.95);
}
catch(IOException exc) {
Console.WriteLine("Error Writing Inventory File");
Console.WriteLine("Reason: " + exc.Message);
} finally {
dataOut.Close();
}
Console.WriteLine();
// Now, open inventory file for reading.
try {
dataIn = new
}
catch(IOException exc) {
Console.WriteLine("Cannot Open Inventory File For Input");
Console.WriteLine("Reason: " + exc.Message);
return;
}
// Look up item entered by user.
Console.Write("Enter item to look up: ");
string what = Console.ReadLine();
Console.WriteLine();
try {
for(;;) {
// Read an inventory entry.
VB.NET Create PDF from images Library to convert Jpeg, png images
take Gif image file as an example for converting one image to 1.bmp")) images.Add( New REImage(Program.RootPath + "\\" 1.jpg")) images.Add All Rights Reserved
attach pdf to mail merge in word; acrobat combine pdf
C# PDF Image Extract Library: Select, copy, paste PDF images in C#
Get JPG, JPEG and other high quality image files from PDF document. Able to extract vector images from PDF. C#: Select All Images from One PDF Page.
c# pdf merge; merge pdf files
398
Part I: The C# Language
item = dataIn.ReadString();
onhand = dataIn.ReadInt32();
cost = dataIn.ReadDouble();
// See if the item matches the one requested.
// If so, display information.
if(item.Equals(what, StringComparison.OrdinalIgnoreCase)) {
Console.WriteLine(onhand + " " + item + " on hand. " +
"Cost: {0:C} each", cost);
Console.WriteLine("Total value of {0}: {1:C}." ,
item, cost * onhand);
break;
}
}
}
catch(EndOfStreamException) {
Console.WriteLine("Item not found.");
}
catch(IOException exc) {
Console.WriteLine("Error Reading Inventory File");
Console.WriteLine("Reason: " + exc.Message);
} finally {
dataIn.Close();
}
}
}
Here is a sample run:
Enter item to look up: Screwdrivers
18 Screwdrivers on hand. Cost: $1.50 each
Total value of Screwdrivers: $27.00.
In the program, notice how inventory information is stored in its binary format. 
Thus, the number of items on hand and the cost are stored using their binary format rather 
than their human-readable text-based equivalents. This makes it is possible to perform 
computations on the numeric data without having to convert it from its human-readable 
form.
There is one other point of interest in the inventory program. Notice how the end of the 
file is detected. Since the binary input methods throw an EndOfStreamException when 
the end of the stream is reached, the program simply reads the file until either it finds the 
desir
the end of the file.
Random Access Files
Up to this point, we have been using sequential files, which are files that are accessed in a 
strictly linear fashion, one byte after another. However, you can also access the contents of a 
file in random order. One way to do this is to use the Seek( ) method defined by FileStream.
This method allows you to set the file position indicator (also called the filepointer or simply 
thecurrent position) to any point within a file.
C# Image Convert: How to Convert MS PowerPoint to Jpeg, Png, Bmp
C:\output\"; // Convert PowerPoint to jpg and show This demo code convert PowerPoint file all pages to Bmp The last one is for rendering PowerPoint file to
pdf split and merge; attach pdf to mail merge
C# Image Convert: How to Convert Tiff Image to Jpeg, Png, Bmp, &
In general, conversion from one image to another should always retain the original size This demo code convert TIFF file all pages to jpg images.
c# combine pdf; add pdf together one file
P
A
R
T
I
Chapter 14: Using I/O 
399
P
A
R
T
I
P
A
R
T
I
The method Seek( ) is shown here:
long Seek(long offset, SeekOrigin origin)
Here, offset specifies the new position, in bytes, of the file pointer from the location specified 
byorigin. The origin will be one of these values, which are defined by the SeekOrigin
enumeration:
Value
Meaning
SeekOrigin.Begin
Seek from the beginning of the file.
SeekOrigin.Current
Seek from the current location.
SeekOrigin.End
Seek from the end of the file.
After a call to Seek( ), the next read or write operation will occur at the new file position. 
The new position is returned. If an error occurs while seeking, an IOException is thrown. 
If the underlying stream does not support position requests, a NotSupportedException is 
thrown. Other exceptions are possible.
Here is an example that demonstrates random access I/O. It writes the uppercase 
alphabet to a file and then reads it back in non-sequential order.
// Demonstrate random access.
using System;
using System.IO;
class RandomAccessDemo {
static void Main() {
FileStream f = null;
char ch;
try {
f = new FileStream("random.dat", FileMode.Create);
// Write the alphabet.
for(int i=0; i < 26; i++)
f.WriteByte((byte)('A'+i));
// Now, read back specific values.
f.Seek(0, SeekOrigin.Begin); // seek to first byte
ch = (char) f.ReadByte();
Console.WriteLine("First value is " + ch);
f.Seek(1, SeekOrigin.Begin); // seek to second byte
ch = (char) f.ReadByte();
Console.WriteLine("Second value is " + ch);
f.Seek(4, SeekOrigin.Begin); // seek to 5th byte
ch = (char) f.ReadByte();
Console.WriteLine("Fifth value is " + ch);
Console.WriteLine();
400
Part I: The C# Language
// Now, read every other value.
Console.WriteLine("Here is every other value: ");
for(int i=0; i < 26; i += 2) {
f.Seek(i, SeekOrigin.Begin); // seek to ith character
ch = (char) f.ReadByte();
Console.Write(ch + " ");
}
}
catch(IOException exc) {
Console.WriteLine("I/O Error\n" + exc.Message);
} finally {
if(f != null) f.Close();
}
Console.WriteLine();
}
}
The output from the program is shown here:
First value is A
Second value is B
Fifth value is E
Here is every other value:
A C E G I K M O Q S U W Y
AlthoughSeek( ) offers the greatest flexibility, there is another way to set the current file 
position. You can use the Position property. As shown previously in Table 14-2, Position is 
a read/write property. Therefore, you can use it to obtain the current position, or to set the 
current position. For example, here is the code sequence from the preceding program that 
reads every other letter from the file, rewritten to use the Position property:
Console.WriteLine("Here is every other value: ");
for(int i=0; i < 26; i += 2) {
f.Position = i; // seek to ith character via Position
ch = (char) f.ReadByte();
Console.Write(ch + " ");
}
Using MemoryStream
Sometimes it is useful to read input from or write output to an array. To do this, you will 
useMemoryStream.MemoryStream is an implementation of Stream that uses an array of 
bytes for input and/or output. MemoryStream defines several constructors. Here is the one 
we will use:
MemoryStream(byte[ ] buffer)
Here, buffer is an array of bytes that will be used for the source and/or target of I/O 
requests. The stream created by this constructor can be written to, read from, and supports 
Seek( ). When using this constructor, you must remember to make buffer large enough to 
hold whatever output you will be directing to it.
P
A
R
T
I
Chapter 14: Using I/O 
401
P
A
R
T
I
P
A
R
T
I
Here is a program that demonstrates the use of MemoryStream:
// Demonstrate MemoryStream.
using System;
using System.IO;
class MemStrDemo {
static void Main() {
byte[] storage = new byte[255];
// Create a memory-based stream.
MemoryStream memstrm = new MemoryStream(storage);
// Wrap memstrm in a reader and a writer.
StreamWriter memwtr = new StreamWriter(memstrm);
StreamReader memrdr = new StreamReader(memstrm);
try {
// Write to storage, through memwtr.
for(int i=0; i < 10; i++)
memwtr.WriteLine("byte [" + i + "]: " + i);
// Put a period at the end.
memwtr.WriteLine(".");
memwtr.Flush();
Console.WriteLine("Reading from storage directly: ");
// Display contents of storage directly.
foreach(char ch in storage) {
if (ch == '.') break;
Console.Write(ch);
}
Console.WriteLine("\nReading through memrdr: ");
// Read from memstrm using the stream reader.
memstrm.Seek(0, SeekOrigin.Begin); // reset file pointer
string str = memrdr.ReadLine();
while(str != null) {
str = memrdr.ReadLine();
if(str[0] == '.') break;
Console.WriteLine(str);
}
} catch(IOException exc) {
Console.WriteLine("I/O Error\n" + exc.Message);
} finally {
// Release reader and writer resources.
memwtr.Close();
memrdr.Close();
}
}
}
402
Part I: The C# Language
The output from the program is shown here:
Reading from storage directly:
byte [0]: 0
byte [1]: 1
byte [2]: 2
byte [3]: 3
byte [4]: 4
byte [5]: 5
byte [6]: 6
byte [7]: 7
byte [8]: 8
byte [9]: 9
Reading through memrdr:
byte [1]: 1
byte [2]: 2
byte [3]: 3
byte [4]: 4
byte [5]: 5
byte [6]: 6
byte [7]: 7
byte [8]: 8
byte [9]: 9
In the program, an array of bytes called storage is created. This array is then used as the 
underlying storage for a MemoryStream called memstrm. From memstrm are created a 
StreamReader called memrdr and a StreamWriter called memwtr. Using memwtr, output 
is written to the memory-based stream. Notice that after the output has been written, Flush( )
is called on memwtr. Calling Flush( ) is necessary to ensure that the contents of memwtr’s
buffer are actually written to the underlying array. Next, the contents of the underlying byte 
array are displayed manually, using a foreach loop. Then, using Seek( ), the file pointer is 
reset to the start of the stream, and the memory stream is read using memrdr.
Memory-based streams are quite useful in programming. For example, you can 
constr
technique is especially useful when programming for a GUI environment, such as 
Windows. You can also redirect a standard stream to read from an array. This might 
be useful for feeding test information into a program, for example.
Using StringReader and StringWriter
For some applications, it might be easier to use a string rather than a byte array for the 
useStringReader and StringWriter.StringReader inherits TextReader, and StringWriter
inheritsTextWriter. Thus, these streams have access to methods defined by those two 
classes. For example, you can call ReadLine( ) on a StringReader and WriteLine( ) on a 
StringWriter.
The constructor for StringReader is shown here:
StringReader(strings)
Here, s is the string that will be read from.
P
A
R
T
I
Chapter 14: Using I/O 
403
P
A
R
T
I
P
A
R
T
I
StringWriter defines several constructors. The one we will use here is this:
StringWriter( )
This constructor cr
of a StringBuilder) is automatically created by StringWriter. You can obtain the contents of 
this string by calling ToString( ).
Here is an example that uses StringReader and StringWriter:
// Demonstrate StringReader and StringWriter.
using System;
using System.IO;
class StrRdrWtrDemo {
static void Main() {
StringWriter strwtr = null;
StringReader strrdr = null;
try {
// Create a StringWriter.
strwtr = new StringWriter();
// Write to StringWriter.
for(int i=0; i < 10; i++)
strwtr.WriteLine("This is i: " + i);
// Create a StringReader.
strrdr = new StringReader(strwtr.ToString());
// Now, read from StringReader.
string str = strrdr.ReadLine();
while(str != null) {
str = strrdr.ReadLine();
Console.WriteLine(str);
}
} catch(IOException exc) {
Console.WriteLine("I/O Error\n" + exc.Message);
} finally {
// Release reader and writer resources.
if(strrdr != null) strrdr.Close();
if(strwtr != null) strwtr.Close();
}
}
}
The output is shown here:
This is i: 1
This is i: 2
This is i: 3
This is i: 4
This is i: 5
This is i: 6
Documents you may be interested
Documents you may be interested