display pdf winform c# : Rotate pages in pdf and save software SDK dll winforms wpf html web forms 7053154973-Excel%202007%20VBA%20Programmers%20Reference%20-%20Wrox%20200727-part652

Summary
Although Excel has many facilities for importing and exporting text files, it can’t handle every possible
format. Using VBA, you can import and export text with much greater flexibility.
FileDialogallows you to display the File➪Open and File➪Save As dialog boxes as well as a direc-
tory browser. It provides more powerful facilities than the GetOpenFileNameand GetSaveAsFileName
functions, which are only available in Excel.
FileDialogcould be used in conjunction with the text file handling procedures that were presented to
allow users to specify the location of input and output files.
238
Chapter 11: Text Files and File Dialog
Rotate pages in pdf and save - rotate PDF page permanently in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Empower Users to Change the Rotation Angle of PDF File Page Using C#
save pdf rotated pages; pdf rotate page and save
Rotate pages in pdf and save - VB.NET PDF Page Rotate Library: rotate PDF page permanently in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
PDF Document Page Rotation in Visual Basic .NET Class Application
how to rotate one page in a pdf file; pdf reverse page order online
Working with XML and the
Open XML File Formats
XML(Extensible Markup Language) functionality has been available in various forms since
Office2000. It made its debut in the Office suite of applications in 1999 with relatively little fanfare,
waiting there quietly until the release of Office 2003, where it was touted as one of the most signifi-
cant improvements in Excel. Office 2003 came with many new XMLcapabilities and the promise of
major changes in the way businesses would work with data. In addition to seamless exchange of
data, XMLpromised easy analysis, dynamic reporting, and the ability to consume data from an
untold number of external sources.
Unfortunately, XMLhas failed to find a place in the hearts of many Excel programmers. The prob-
lem is that many Excel programmers still look at XMLas a solution to a problem that they haven’t
quite encountered yet. This is because much of the functionality offered by XMLcan be handled
by existing technologies and processes that programmers are already comfortable with. In addition,
most Excel developers don’t live in environments where XMLshines the brightest—environments
where data is routinely exchanged between disparate platforms (such as the web). The reality is
that most Excel programmers live in a world where the Office suite of applications and a few SQL
Server databases are as diverse as it gets. The bottom line is that there has never been that one
compelling reason to leave the comfort of existing technologies and processes to go to XML.
Thatis, not until now.
Why has XMLsuddenly become so important? Two words: Open XML. With Office 2007,
Microsoft gives XMLa leading role by introducing the Open XMLfile format. These new file for-
mats are XML-based, meaning that each Excel workbook you create in Office 2007 is essentially a
group of XMLdocuments. These XMLdocuments are saved as a collection of parts, compressed
into a Zip container, and given a file extension (for example, .xlsx, .xlsm, .xlam, and so on).
As illogical as Microsoft’s move toward XMLmay seem, the decision to bet on XMLis a fairly
rational one. An XML-based Office will be able to move into an increasing number of environ-
ments as XMLbecomes a widely adopted standard. An XML-based Office can be integrated with
much wider array of XML-capable software and web-based applications. An XML-based Office
opens up new opportunities for programmers to develop applications that revolve around the
Office suite.
VB.NET PDF Page Delete Library: remove PDF pages in vb.net, ASP.
doc.Save(outPutFilePath). How to VB.NET: Delete Consecutive Pages from PDF. This is a VB .NET example for how to delete a range of pages from a PDF document.
save pdf rotate pages; pdf rotate just one page
C# PDF Page Insert Library: insert pages into PDF file in C#.net
how to merge PDF document files by C# code, how to rotate PDF document page doc2.Save(outPutFilePath Add and Insert Multiple PDF Pages to PDF Document Using
pdf rotate single page reader; how to rotate pdf pages and save
With this move toward XML, Microsoft takes a huge step toward making Excel spreadsheets universal
widgets that can be integrated into almost any application or web-based solution. Within the next few
years, XML-based solutions will start materializing everywhere until XMLbecomes a part of the Excel
developer’s everyday vernacular.
So as Microsoft pushes us all into a new realm of development, it’s important to start to get a grasp of
the XMLtechnology. In this chapter, you will get a firm understanding of XMLas it pertains to both
Excel and the new Open XMLfile formats. That being said, it’s important to note that the goal of this
chapter is not to make you an expert XMLdeveloper. Indeed, the topic of XMLis a robust one that can-
not be fully covered in one chapter. The goal of this chapter is to give you a solid understanding of all
the aspects of XMLyou will need to be familiar with when working with XMLin Excel.
The Basics of Using XML Data in Excel
As intimidating as an XMLdocument may seem, it’s really nothing more than a text file that contains
data wrapped in markup(tags that denote structure and meaning). These tags essentially make the text
file machine-readable. The term machine-readableessentially means that any application or web-based
solution designed to read XMLfiles will be able to discern the structure and content of your file.
Because XMLis text-based, it is not platform-dependent. That is to say, XMLis not dependent on a 
specific application for construction, reading, or editing. This versatility promotes application interoper-
ability, collaboration, and data sharing. In addition, because of their text-based nature, XMLdocuments
tend to compress at a higher compression rate than binary files, making them ideal for storing and
archiving data.
Another benefit of XMLdocuments is that they internally describe their own content and structure in
parent/child hierarchies. This allows applications to search and extract data far more efficiently than
standard text files. And because XMLdocuments are intrinsically open, programmers don’t have to
spend valuable time developing processes to work around the ugly internal details of proprietary 
components.
This section gives you a solid understanding of the fundamentals of XML. You will also get some context
for XMLfunctionality in Excel by exploring some of the ways Excel allows you to work with XMLdata
through the user interface.
XML Fundamentals
XMLfiles are made up of several syntactic constructs. Take a moment to explore the fundamental com-
ponents of a standard XMLdocument.
The XML Declaration
The first line of an XMLdocument is called the XMLdeclaration. The following line of code shows an
example of a typical XMLdeclaration:
<?xml version=”1.0”? encoding=”UTF-8” standalone=”Yes”?>
240
Chapter 12: Working with XML and the Open XML File Formats
C# PDF Page Delete Library: remove PDF pages in C#.net, ASP.NET
doc.DeletePage(2); // Save the file. doc.Save(outPutFilePath); Demo Code: How to Delete Consecutive Pages from PDF in C#.NET. How
how to rotate a single page in a pdf document; rotate pdf page few degrees
C# PDF Page Extract Library: copy, paste, cut PDF pages in C#.net
Able to extract PDF pages and save changes to original PDF file in C#.NET. C#.NET Sample Code: Extract PDF Pages and Save into a New PDF File in C#.NET.
reverse page order pdf online; rotate pdf page
The XMLdeclaration typically contains three parts: a versionattribute, and optional encodingand
standaloneattributes.
The versionattribute tells the processing application that this text file is an XMLdocument. You will
rarely see XMLdocuments that go beyond version 1.0, primarily for two reasons: version 1.0 has been
around since 1998, and changes to XMLsince version 1.0 have been relatively minor.
The encodingattribute is primarily used to work around character encoding issues. Because XMLdocu-
ments are inherently Unicode, the encodingattribute is optional if the character encoding used to create
the document is UTF-8, UTF-16, or ASCII. Indeed, you will find that the character encoding is omitted
from many of the XMLdocuments you may encounter.
The standaloneattribute tells the processing application whether the document references an external
data source. If the document contains no reference to external data sources, it is deemed to be standalone;
thus the “Yes”value. Because every XMLdocument is inherently standalone, this attribute is optional
for documents that do not reference an external source.
Processing Instructions
As their namesake implies, processing instructions provide explicit instructions to the processing appli-
cation. These can be identified by distinctive tags comprised of left and right angle brackets coupled
with question marks (<??>). These instructions are typically found directly under the XMLdeclaration
and can provide any number of directives. For example, the following processing instruction would
direct the use of Excel to open the given XMLdocument:
<?mso-application progid=”Excel.Sheet”?>
Comments
Comments allow XMLdevelopers to enter plain-language explanations or remarks about the contents of
the document. Just as in VBA, where the single quote signifies a comment, XMLhas its own syntax to
denote a comment. Comments in XMLbegin with the <!--characters and end with the -->characters,
as follows:
<!--Document created by Mike Alexander-->
Comments are also useful when you want to disable a particular construct or processing instruction in
the XMLdocument. For instance, imagine your XMLdocument contained a processing instruction that
forced the document to open with Excel. You may want to disable this processing instruction so the doc-
ument opens in Internet Explorer by default. Instead of removing the processing instruction, you can
simply comment it out by wrapping it in a comment as shown here:
<!-- <?mso-application progid=”Excel.Sheet”?> -->
Elements and the Root Element
An element is defined by a start tag (such as <MyData>) and an end tag (such as </MyData>). Any data
you enter between the start and end tags makes up the contents of that element. As you can see in the
following example, the document begins with <MyTable>and ends with </MyTable>; all of the syntax
you see between these tags makes up the content of the MyTableelement:
241
Chapter 12: Working with XML and the Open XML File Formats
VB.NET PDF Page Insert Library: insert pages into PDF file in vb.
outPutFilePath As String = Program.RootPath + "\\" Output.pdf" Dim doc1 doc2.InsertPages(pages, pageIndex) ' Output the new document doc2.Save(outPutFilePath
rotate all pages in pdf preview; rotate pdf page and save
How to C#: Rotate Image according to Specified angle
pages edit, C#.NET PDF pages extract, copy, paste, C#.NET rotate PDF pages, C#.NET VB.NET How-to, VB.NET PDF, VB.NET Word, VB.NET Excel, VB Steps to Rotate image.
pdf reverse page order; how to rotate a page in pdf and save it
<?xml version=”1.0”?>
<MyTable>
<Customer>
<Quarter>Q1</Quarter>
<Region>North</Region>
<Revenue>25000</Revenue>
</Customer>
</MyTable>
The concept of tags will be a familiar one to those who have worked with HTML. However, unlike HTML,
tags in XMLare not predefined. That is to say, the text MyTablehas no predefined utility or meaning.
Youcan change that text to Porkand it would be all the same to the XMLdocument. And herein, you
stumble on the beauty of XML. XMLallows you to create custom tags: tags to which you give definition
and purpose. As long as you adhere to a few basic rules, you can create and describe any number of 
elements by creating your own custom tags. Here are the basic syntactic rules that must be followed
when creating elements:
Every element must have a start tag, represented by left and right angle brackets (<>), as well
asa corresponding end tag represented by a left angle bracket, forward slash, and right angle
bracket (</>).
Names in XMLare case sensitive, so the start and end tags of an element must match in case as
well as in syntax. For example, an element defined by the tags <Data></data>would cause a
parsing error. XMLwould look for the end tag for <Data>as well as the start tag for </data>.
You must begin all element names with a letter or an underscore; never a digit. In addition,
names that begin with any permutation of xmlare reserved and cannot be used.
The MyTableelement is the root elementfor this particular XMLdocument. The root element (which is
always the topmost element in an XMLdocument) serves as the container for all of the contents within
the document. Every XMLdocument must have one (and only one) root element.
Below the root element, you will see four elements, each one containing its own content. Elements can
contain numbers, text, and even other elements.
Elements are normally framed in a parent/child hierarchy. For instance, in the previous example, the
Customerelement is a child o the MyTableroot element. Likewise, the MyTableelement is the parent
ofthe Customerelement. Following that logic, the QuarterRegion, and Revenueelements are the
children of the Customerelement. This parent/child hierarchy allows the XMLdocument to describe
the structure of the data as well as the content. Later in this chapter, you will discover how this
parent/child hierarchy is leveraged to programmatically move around in XMLdocuments.
Attributes
Attributes in XMLdocuments come in two flavors: data attributes and metadata attributes. Data
attributes are used to provide the actual data for an element. For example, the following attributes 
(nameand age) provide the data for the Petelement:
<Pet name=’Shnuckums’ age=”4”>Dog</Pet>
242
Chapter 12: Working with XML and the Open XML File Formats
C# Create PDF from Tiff Library to convert tif images to PDF in C#
Similarly, Tiff image with single page or multiple pages is supported. Description: Convert to PDF and save it on the disk. Parameters:
rotate single page in pdf reader; how to rotate page in pdf and save
C# Create PDF from Word Library to convert docx, doc to PDF in C#.
Able to get word count in PDF pages. Change Word hyperlink to PDF hyperlink and bookmark. Description: Convert to PDF/TIFF and save it on the disk.
rotate pdf pages individually; pdf reverse page order preview
Notice that the ageattribute is wrapped in quotes even though the value itself is a number. This is
because unlike elements, attributes are textual. This means that attributes must be wrapped in either 
single or double quotes.
You may also see attributes that exist in an empty element that contains no nested children. In these situ-
ations, you will see the attributes formatted as such:
<name=’Doodoo’ age=”4”/>
Metadata attributes provide descriptive information about the contents of elements. For instance, in the
following example, the Customerelement has an attribute called idthat provides that Customerwith a
unique identifier:
<?xml version=”1.0”?>
<MyTable>
<Customer id=”1”/>
<Quarter>Q1</Quarter>
<Region>North</Region>
<Revenue>25000</Revenue>
</MyTable>
Many new users of XMLfind the concept of attributes versus elements a bit confusing. After all, most
elements can be easily converted to attributes (or vice versa) and the XMLdocument would parse just
fine. For example, the Customeridattribute could just as easily be presented in an element as such:
<id>1</id>. There are, however, general rules of thumb that most XMLdocuments seem to adhere to
when it comes to elements versus attributes:
If the content is not an actual data item, but a descriptor of the data (record number, index num-
ber, unique identifier, and so forth), then an attribute is typically used.
Elements are used for any content that consists of multiple values.
If there is a chance that the content will expand in structure to include children, then elements
are typically used.
Namespaces
The idea behind namespaces is simple. Because XMLlets developers create and name their own ele-
ments and attributes, there is a possibility that a particular name could be used in different contexts.
Forinstance, an XMLdocument may use the name ID to describe both a customer ID and an invoice ID.
Namespaces associate overlapping identifiers with Uniform Resource Identifiers (URI), allowing appli-
cations that process XMLdocuments to make a distinction between similar names.
AURI is typically made up of a URLand a relative descriptor. For instance, the following line of code
defines a namespace. As you can imagine, xmlnsstands for XMLnamespace:
xmlns=”http://www.datapigtechnologies.com/customers”
243
Chapter 12: Working with XML and the Open XML File Formats
The fact that URLs are used to define namespaces leads many to believe that namespaces point to some
sort of online source. The fact is that URLs are only used to provide some semblance of ownership to
anyone reading the XMLfile. The goal of a namespace is merely to create a unique string. So you could
technically use something like xmlns=”arbitrary_namespace”, although it wouldn’t be very useful in
identifying ownership or utility.
As you can imagine, using a URLcan lead to some fairly long namespace strings. Most XMLdevelopers
get around this problem by creating namespace prefixes. Aprefix is nothing more than an alias for the
namespace. For instance, the following namespace uses the prefix dpc. Then the dpcprefix is applied to
an attribute:
Xmlns:dpc=”http://www.datapigtechnologies.com/customers”
<Invoice dpc:id=”201”>
In most XMLdocuments, the first namespace is considered to be the default namespace for the document.
That is to say, the names in the document that are not explicitly associated with other namespaces will be
associated with this catch-all namespace.
You will notice that in the example illustrated in the following listing, the namespace is placed directly
into the root element. Any namespace declared within an element is automatically applied to all child
elements. You may be wondering why a namespace would be needed in a document where there are no
duplicate names. Many XMLdocuments contain a default namespace to avoid overlapping names with
other XMLdocuments that may be consumed in the same process or application:
<?xml version=”1.0”?>
<Customer xmlns=”http://www.datapigtechnologies.com/customers”>
<Quarter>Q1</Quarter>
<Region>North</Region>
<Revenue>25000</Revenue>
</Customer>
Now take a look at an example of namespaces in action. In this XMLdocument, you are using the name
idto describe both the invoice ID and the customer ID. As you can see, you have applied three names-
paces; one namespace is the default for the document, one is a prefixed namespace used for the orders
ID, and one is used directly in the idelement:
<?xml version=”1.0” encoding=”UTF-8”?>
<Order xmlns=”http://www.datapigtechnologies.com”
xmlns:O=”http://www.datapigtechnologies.com/orders”>
<Invoice O:id=”1-A-234”>
<Customer>Zalex Corp</Customer>
<id xmlns=”http://www.datapigtechnologies.com/customers”>21112</id>
<Amount>1000</Amount>
</Invoice>
</Order>
244
Chapter 12: Working with XML and the Open XML File Formats
The first namespace is considered to be the default namespace for the document. The next namespace
uses the letter Oas a prefix. The invoice ID is then qualified with the association of the Oprefix. Finally,
the last namespace declaration can be found within the ielement.
Viewing and Editing an XML Document
Double-clicking a standard XMLdocument will typically open it in Internet Explorer. When XMLdocu-
ments are presented through a browser, they are read-only. To edit XMLdocuments, you must open
them with either a text editor such as Notepad or an XMLeditor.
It’s generally a good idea to open any new XMLdocuments you encounter with Internet Explorer so
they can be checked with Internet Explorer’s built-in XMLparser. Internet Explorer 5 and above has a
built-in DLLthat can read XMLdocuments and check for well-formedness. This is akin to the VBAcom-
piling your code and checking for syntax errors. If the XMLdocument you are trying to open is not well
formed, the parser will throw an error message. The idea here is that if Internet Explorer cannot open
your XMLfile, you will not be able to use it in Excel.
Just for the record, a well-formed document has the following characteristics:
There is one root element encapsulating all content in the XMLdocument.
All element tags have a start tag and a matching end tag, as in <element></element>.
None of the element tags have mismatched cases (such as <Element></element>).
All child elements are closed before their parents. For instance, <Parent><Child></Parent>
</Child>would cause a parsing error because the child element is closed after the parent ele-
ment has been closed. The correct sequence would be <Parent><Child></Child></Parent>.
All attributes have one value wrapped in either single or double quotes.
Once your XMLdocument has been validated by Internet Explorer, opening with no parsing errors, it is
ready to be used.
Every version of Internet Explorer from Internet Explorer 5 on has its version of the
built-in MSXML.DDLparser. The MSXML.DLLcomes with its own object model
called the Document Object Model (DOM). Later, you will learn how to leverage
this object model to read and edit data from XMLfiles.
Although you can use simple text editors, you will find that an XMLeditor struc-
tures your XMLdocuments into reader-friendly trees that make finding and editing
content much easier. You can find both free and commercial XMLeditors online.
XMLMarker and XMLCook Top are both excellent free editors.
245
Chapter 12: Working with XML and the Open XML File Formats
Consuming XML Data Directly
Once you have a well-formed XMLdocument, you can start using the data it contains. One of the sim-
plest ways to use an XMLdocument is to open it directly from Excel. To help demonstrate this, open
EmployeeSales.xml,shown here. This XMLdocument contains data revolving around the invoices
filed by the employee in an organization:
<?xml version=”1.0”?>
<EmployeeSales>
<Employee>
<Empid>2312</Empid>
<FirstName>Mike</FirstName>
<LastName>Alexander</LastName>
<InvoiceNumber>100</InvoiceNumber>
<InvoiceAmount>2300</InvoiceAmount>
</Employee>
<Employee>
<Empid>24601</Empid>
<FirstName>Stephen</FirstName>
<LastName>Bullen</LastName>
<InvoiceNumber>200</InvoiceNumber>
<InvoiceAmount>3211</InvoiceAmount>
</Employee>
</EmployeeSales>
Start Excel, select File➪Open, and then open the XMLdocument titled EmployeeSales.xml. You will
immediately see the Open XMLdialog box, shown here in Figure 12-1.
Figure 12-1
Select As an XMLtable and click the OK button. This will activate the dialog box, shown here in
Figure12-2, where Excel tells you that it could not find a schema for your XMLdocument so it will 
create one for you.
You can find the sample files used in the various walkthroughs for this chapter at
www.wrox.com,in this chapter’s XMLSampleFiles folder.
246
Chapter 12: Working with XML and the Open XML File Formats
Figure 12-2
Because the EmployeeSales.xmlfile does not have an associated schema file (XSD), Excel will infer a
schema from your XMLdocument. This means Excel essentially creates an internal schema that will dic-
tate the rules for the document. 
Once you click the OK button, Excel will create a new workbook and populate it with your XMLdata
table. At this point, you should see the same table shown in Figure 12-3.
Figure 12-3
Excel automatically creates an XMLlist, mapping a range of cells to the elements in the source XMLdoc-
ument. These cells are linked back to the XMLdocument and can be refreshed with the latest data by
right-clicking inside the XMLlist and selecting XML➪Refresh XMLData.
You can also refresh using the Refresh Data button, found in the XMLGroup under
the Developer tab of the Ribbon.
In XMLterms, the word schemarefers to an XMLSchema Description (XSD).
AnXSD is a file typically associated with an XMLfile in order to provide rules
forthe document. XSD files dictate the layout and sequencing for the data in an
XMLdocument, as well as the data types and default values for each element and
attribute.
The topic of XSD is a subject that is worthy of its own book. This chapter is, alas,
focused on areas outside the scope of XSD, so XSD is not covered in detail here.
Although there are plenty of books that cover this subject, a visit to www.w3shcools.
com/schemawill get you off on the right foot. This site will give you a solid (and free)
start on learning more about XSD.
247
Chapter 12: Working with XML and the Open XML File Formats
Documents you may be interested
Documents you may be interested