mvc pdf viewer : C# convert pdf to text file SDK application API wpf html azure sharepoint memman40-part899

21.2. Code
References
Use the reference heading appropriate for your discipline, in uppercase, centered and at
the top of the page. Individual refences should be single-spaced with the second and
later lines of a multiline reference indented with respect to the first line. There should be
double-spacing between references.
Appendices
The heading for an appendix consists of the word ‘APPENDIX’ followed by the uppercase
letter signifying its position in the sequence of appendices (e.g., A or B or C or ... ). This
shall be centered on the top line. The title of the appendix, in uppercase, is centered on the
following line. This page is not numbered. Subsequent pages are numbered and the text
commences on the top text line of the following page.
Biography
The title for the optional biographical page is ‘BIOGRAPHICAL SKETCH’, in the usual
position. The text shall not exceed the one page.
21.2 C
ODE
Given the above set of requirements we can produce code that, hopefully, will generate
documents that will not fall foul of the inspectorate. For simplicity I’ll do the code in the
form of a package called
pwasu.sty
. I will be using some LaTeX kernel commands that
you won’t normally come. Some of the macros include
@
as part of their name but this is
safe as they are in a package, otherwise they would have to be within a
\makeatletter
.. .
\makeatother
grouping (see §E.4).
21.2.1 Initialisation
First, identify the package and its basic requirements.
%%%% file pwasu.sty
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{pwasu}[2009/04/18 v0.3 ASU thesis]
This is only going to work with memoir, so check if the class is being used, and if not then
give an error message and stop reading the package code.
%% Only works with the memoir class!!!!!!!!!!!!!!!
\@ifclassloaded{memoir}{\let\endpwasu\relax}{\let\endpwasu\endinput
\PackageError{pwasu}{The pwasu package only works with the memoir class}%
{\@ehd}}
\endpwasu
ASU is very strict about only using a single font in a single size. It is probable that
at least one reference will be made to a location on the web. With LaTeX such references
are set using theurlpackage, which defaults to using a monospaced font for urls. For
ASU we have to make sure that they will be made using the body font (and the same
applies to any verbatim text, such as computer code listings, for which we can use the
\setverbatimfont
command).
363
C# convert pdf to text file - SDK application API:C# PDF Convert to Text SDK: Convert PDF to txt files in C#.net, ASP.NET MVC, WinForms, WPF application
C# PDF to Text (TXT) Converting Library to Convert PDF to Text
www.rasteredge.com
C# convert pdf to text file - SDK application API:VB.NET PDF Convert to Text SDK: Convert PDF to txt files in vb.net, ASP.NET MVC, WinForms, WPF application
VB.NET Guide and Sample Codes to Convert PDF to Text in .NET Project
www.rasteredge.com
21. A
NEXAMPLE THESIS DESIGN
\usepackage{url}
\urlstyle{same}
\setverbatimfont{\normalfont\rmfamily}% make verbatims use the body font
Ensuring that footnotesuse the body font isasimple matterof redefining
\foottextfont
.
\renewcommand*{\foottextfont}{\normalfont\normalsize}
Noticing that the requirementscan involve switching between double and single spac-
ing, some of which will be done internally in the package, give the user a chance to
change the default double spacing. The argument to
\setasuspacing
can be either
\OnehalfSpacing
or
\DoubleSpacing
.The result sets
\AsuSpacing
to be one of these
commands.
% To enable spacing to be changed if neccesary by the user
\newcommand*{\setasuspacing}[1]{%
\let\AsuSpacing#1
\AsuSpacing}
\setasuspacing{\DoubleSpacing}
21.2.2 Page layout
As this is for an American University on letterpaper sized paper we’ll assume letterpaper
stock, so no cropping will be needed. Setting the side margins is easy:
% left, right margins and textwidth
\setlrmarginsandblock{1.5in}{1in}{*}
Setting the top and bottommargins requiresmore thought. LaTeX provides the header
and footer areas for page numbers. However, the requirements state that page numbers
must be either on the top or bottom line (of the textblock) with the text extending down
to the bottom line or up to the top line (of the textblock). I’ll organise it according to the
layout for the main body. Here, the top of the header is 1 inch below the top of the paper
and the bottom of the text is 1 inch above the bottom of the paper (with the footer below
that).
%% for main body, bottom of text at 1in, footer below
%% top of header at 1in, first text line double spaced
%% below base of header
\newlength{\linespace}
\setlength{\linespace}{\baselineskip} % current equivalent of \onelineskip
\setlength{\headheight}{\onelineskip}
\setlength{\headsep}{\linespace}
\addtolength{\headsep}{-\topskip}
\setlength{\uppermargin}{1in}
\addtolength{\uppermargin}{\headheight}
\addtolength{\uppermargin}{\headsep}
And for the bottom margin:
%% and for the bottom
\setlength{\lowermargin}{1in}
\setlength{\textheight}{\paperheight}
364
SDK application API:C# PDF Text Extract Library: extract text content from PDF file in
How to C#: Extract Text Content from PDF File. Add necessary references: RasterEdge.Imaging.Basic.dll. RasterEdge.Imaging.Basic.Codec.dll.
www.rasteredge.com
SDK application API:C# PDF Convert to Jpeg SDK: Convert PDF to JPEG images in C#.net
In the following example, this C#.NET PDF to JPEG converter library will name the converted JPEG image file Output.jpg. Convert PDF to JPEG Using C#.NET.
www.rasteredge.com
21.2. Code
\addtolength{\textheight}{-\uppermargin}
\addtolength{\textheight}{-\lowermargin}
And finally for footnotes:
%% footnote settings
\setlength{\footskip}{\onelineskip}
\setlength{\footnotesep}{\onelineskip}
The layout on the preliminary pages is different, so I’ll need some handy lengths in order
to change the layout as appropriate. The user can also make adjustments with these if
necessary.
%% the fiddle lengths (..ta.. for title/approval page, others for prelims)
\newlength{\toptafiddle} \setlength{\toptafiddle}{2\linespace}
\newlength{\bottafiddle} \setlength{\bottafiddle}{0pt}
\newlength{\topfiddle}
\setlength{\topfiddle}{\toptafiddle}
\newlength{\botfiddle}
\setlength{\botfiddle}{\onelineskip}
That’s it for the general layout, except for increasing the paragraph indentation as the line
spacing is larger than normal.
\setlength{\parindent}{2em}
\checkandfixthelayout[nearest]
As the layout isset up, the bottom of the text is one inch above the bottom of the paper.
This is fine for the main text and the Title and Approval pages but the text height must
be decreased, temporarily, for the other pages in the prelims. Changes to the page layout
may be accomplished by the following sneaky procedure. First change from one- to two-
column(or vice-versa), which startsa new page, make the changes, then change from two-
to one-column (or vice-versa) which starts the same new page again but with the layout
changes implemented. The following code implements this for the
\textheight
in a one
column document, which is what we are dealing with here.
\newcommand*{\addtotextheight}[1]{%
\twocolumn
\addtolength{\textheight}{#1}%
\onecolumn}
21.2.3 Page styles
Next I’ll tackle the page styles. The style for the mainbody issimple, withthe page number
top right, and the empty style is the one for chapter pages. The page number for the
preliminary pages is centered at the bottom, and the plain page style provides that. For
the main text define the asu page style.
%%%% pagestyles
%% the main text
\makepagestyle{asu}
\makeevenhead{asu}{\thepage}{}{}
\makeoddhead{asu}{}{}{\thepage}
Any ‘continuation’ pages for the ToC, etc., have a header that consists of a name at the
left and the word ‘Page’ at the right. We need a header for each kind of listing.
365
SDK application API:C# PDF Convert to HTML SDK: Convert PDF to html files in C#.net
it extremely easy for C# developers to convert and transform The HTML document file, converted by C#.NET PDF style that are included in target PDF document file
www.rasteredge.com
SDK application API:C# PDF File Split Library: Split, seperate PDF into multiple files
C#.NET control for splitting PDF file into two or multiple files online. This is an C# example of splitting a PDF file into multiple ones by number of pages.
www.rasteredge.com
21. A
NEXAMPLE THESIS DESIGN
%% for continuation pages of the ToC, LoF, LoT
\makepagestyle{toc}
\makeevenfoot{toc}{}{\thepage}{}
\makeoddfoot{toc}{}{\thepage}{}
\makeevenhead{toc}{Chapter}{}{Page}
\makeoddhead{toc}{Chapter}{}{Page}
\makepagestyle{lof}
\makeevenfoot{lof}{}{\thepage}{}
\makeoddfoot{lof}{}{\thepage}{}
\makeevenhead{lof}{Figure}{}{Page}
\makeoddhead{lof}{Figure}{}{Page}
\makepagestyle{lot}
\makeevenfoot{lot}{}{\thepage}{}
\makeoddfoot{lot}{}{\thepage}{}
\makeevenhead{lot}{Table}{}{Page}
\makeoddhead{lot}{Table}{}{Page}
21.2.4 TheToC and friends
While we’re at it, do the code for the LoF and LoT, which is simpler than that needed
for the ToC. We have to specify our new pagestyles which can be done by extending the
\listof...
macros. The
\addtodef
macro makes this rather easy.
%%%% The LoF
\renewcommand{\listfigurename}{LIST OF FIGURES}
\addtodef{\listoffigures}{\clearpage\pagestyle{lof}}{}
For the titles, these have to be moved up into the header area, so that they come just below
the top margin, and set the initial pagestyle as plain. After the title we can insert the
relevant column headers.
\renewcommand*{\lofheadstart}{\vspace*{-\topfiddle}}
\renewcommand*{\afterloftitle}{\thispagestyle{plain}%
\par\nobreak {\normalfont Figure \hfill Page}\par\nobreak}
And the same for the LoT.
%%% The LoT
\renewcommand{\listtablename}{LIST OF TABLES}
\addtodef{\listoftables}{\clearpage\pagestyle{lot}}{}
\renewcommand*{\lotheadstart}{\vspace*{-\topfiddle}}
\renewcommand*{\afterlottitle}{\thispagestyle{plain}%
\par\nobreak {\normalfont Table \hfill Page}\par\nobreak}
The ToC is similar but we also have to deal with the entries themselves.
%%%% Do the ToC
\renewcommand{\contentsname}{TABLE OF CONTENTS}
\addtodef{\tableofcontents}{\clearpage\pagestyle{toc}}{}
\renewcommand*{\tocheadstart}{\vspace*{-\topfiddle}}
\renewcommand*{\aftertoctitle}{\thispagestyle{plain}%
\par\nobreak \mbox{}\hfill{\normalfont Page}\par\nobreak}
366
SDK application API:C# PDF File Compress Library: Compress reduce PDF size in C#.net
Hidden layer content. Convert smooth lines to curves. Detect and merge image fragments. Flatten visible layers. C#.NET DLLs: Compress PDF Document.
www.rasteredge.com
SDK application API:C# PDF Convert to Tiff SDK: Convert PDF to tiff images in C#.net
C#.NET PDF SDK - Convert PDF to TIFF in C#.NET. Online C# Tutorial for How to Convert PDF File to Tiff Image File with .NET XDoc.PDF Control in C#.NET Class.
www.rasteredge.com
21.2. Code
And the changes to the entries, all of which are set in the normal font and with dotted
leaders, with no extra space between any of the entries.
\renewcommand*{\cftchapterfont}{\normalfont}
\renewcommand*{\cftchapterpagefont}{\normalfont}
\renewcommand*{\cftchapterleader}{%
\cftchapterfont\cftdotfill{\cftchapterdotsep}}
\renewcommand*{\cftchapterdotsep}{\cftdotsep}
Unlike the typical LaTeX ToC there must be no additional space before chapter entries;
also, there should be no additional space inserted by the chapters in the LoF or LoT which
just requires a simple redefinition of
\insertchapterspace
..
%%% no extra space before the entry, or in the LoF/LoT
\setlength{\cftbeforechapterskip}{0pt plus 0pt}
\renewcommand*{\insertchapterspace}{}
21.2.5 Chapter styling
Moving on to styling the chapter titles, the first line must be moved up into the header
area, and other spacings set to give blank lines. The fonts are just the regular body font.
Call the chapterstyle asu and make sure that the empty pagestyle is used for it.
%% chapter style
\makechapterstyle{asu}{%
\setlength{\beforechapskip}{-\topfiddle}
\setlength{\midchapskip}{1.0\onelineskip}
\setlength{\afterchapskip}{1.0\onelineskip}
\renewcommand*{\chapnamefont}{\normalfont}
\renewcommand*{\chapnumfont}{\chapnamefont}
\renewcommand*{\printchapternum}{\centering\chapnumfont \thechapter}
\renewcommand*{\chaptitlefont}{\normalfont\centering}
\renewcommand*{\printchapternonum}{}}
\aliaspagestyle{chapter}{empty}
The chapterstyle for any appendices is slightly different as the title, all in uppercase, is
on one page by itself and the text starts on the following page. Call this the asuappendix
chapterstyle.
%% chapter style for appendices, text comes on following page
\makechapterstyle{asuappendix}{%
\setlength{\beforechapskip}{-\topfiddle}
\setlength{\midchapskip}{1.0\onelineskip}
\setlength{\afterchapskip}{1.0\onelineskip}
\renewcommand*{\chapnamefont}{\normalfont}
\renewcommand*{\chapnumfont}{\chapnamefont}
\renewcommand*{\printchaptername}{%
\chapnamefont\MakeUppercase{\@chapapp}}
\renewcommand*{\printchapternum}{\centering\chapnumfont \thechapter}
\renewcommand*{\chaptitlefont}{\normalfont\centering}
\renewcommand*{\printchapternonum}{}
\renewcommand*{\afterchaptertitle}{\clearpage}}
367
SDK application API:C# PDF File Merge Library: Merge, append PDF files in C#.net, ASP.
PDF page deleting, PDF document splitting, PDF page reordering and PDF page image and text extraction. Remarkably, all those C#.NET PDF document page
www.rasteredge.com
SDK application API:C# PDF Convert to Word SDK: Convert PDF to Word library in C#.net
Quick to remove watermark and save PDF text, image, table for batch converting PDF documents in C#.NET program. Convert PDF to multiple MS Word formats such as
www.rasteredge.com
21. A
NEXAMPLE THESIS DESIGN
We have to extend the
\appendix
command to use the new chapter style, and also to
ensure that double spacing willbe used (certain elements that come before the appendices
are single spaced).
%%% different chapter style for appendices, (and double spaced)
\addtodef{\appendix}{}{\chapterstyle{asuappendix}\AsuSpacing}
21.2.6 Section, etc., styling
Set upthe sectionheadings so that they are centered, use the normalfont, and have ablank
line before and after.
%%% (subsub)section styles
\setsecheadstyle{\centering\normalfont}
\setbeforesecskip{-1\onelineskip plus -1ex minus -.2ex}
\setaftersecskip{1\onelineskip plus .2ex}
\setsubsecheadstyle{\centering\normalfont}
\setbeforesubsecskip{-1\onelineskip plus -1ex minus -.2ex}
\setaftersubsecskip{1\onelineskip plus .2ex}
21.2.7 Captions
The captions are set flushleft and raggedright with the name and number on one line and
the title on the following line. Fortunately floatsare automatically set single spaced, which
is what the requirements specify.
%% Captions
\captiontitlefont{\normalfont}% title font
\precaption{\raggedright}% for Caption N
\captiondelim{\newline}% newline
\captionstyle{\raggedright}% for title
\setlength{\belowcaptionskip}{\onelineskip}
21.2.8 Thebibliography
The requirements imply that the title is likely to be ‘REFERENCES’. The bibliography is
set single spaced but with a blank line between the entries.
%% for REFERENCE section
\renewcommand*{\bibname}{REFERENCES}
\setlength{\bibitemsep}{\onelineskip}
The second and later lines of any entry are to be indented. We use the
\biblistextra
hook for setting this up.
\renewcommand*{\biblistextra}{%
\setlength{\itemsep}{\bibitemsep}
\setlength{\labelwidth}{0pt}
\setlength{\leftmargin}{3em}% hanging indent
\setlength{\itemindent}{-\leftmargin}}
The title for thebibliography isset viathe
\bibsection
macro. The heading isunnum-
bered but is added to the ToC. To get the spacing right the heading, set as a
\chapter*
,
which must be called double spaced, and then single spacing is called for after that.
368
21.2. Code
\renewcommand*{\bibsection}{%
\AsuSpacing
\chapter*{\bibname}\addcontentsline{toc}{chapter}{\bibname}
\SingleSpacing}
21.2.9 End notes
The heading for the Notes section is similar to the bibliography heading.
%% endnotes
\renewcommand*{\notesname}{NOTES}
\renewcommand*{\notedivision}{%
\AsuSpacing
\chapter*{\notesname}
\addcontentsline{toc}{chapter}{\notesname}
\SingleSpacing}
The rest of the code forendnotesensuresthat they are numbered continuously through-
out the text, the number isset as asuperscript, that there isa blank line between each entry,
and that there are no subdivisions within the listing.
\continuousnotenums
\renewcommand*{\notenuminnotes}[1]{\textsuperscript{#1}\space}
\renewcommand{\noteinnotes}[1]{#1\\}
\renewcommand*{\pagenotesubhead}[3]{}% no subheads
21.2.10 Preliminary headings
There can be any number of sections in the prelims. The titles for these are located in the
LaTeX header area. Here’s a general macro for setting these.
%%% general macro for Abstract, etc., headings
\newcommand*{\pretoctitle}[1]{{\clearpage\centering
\vspace*{-\topfiddle}#1\par}}
%%% Start the ACKNOWLEDGEMENTS
\newcommand{\asuacknowledgements}{\pretoctitle{ACKNOWLEDGEMENTS}}
The Abstract is the first sectionafter the title and approval pages. At this point we must
reduce the textheight in order to raise the footer area.
%%% Start the ABSTRACT
\newcommand{\asuabstract}{%
\addtotextheight{-\botfiddle}%
\pretoctitle{ABSTRACT}}
While we are at this, the textheight must be reset to its default value just before the first
chapter in the main matter. A simple addition to
\mainmatter
handles this.
\addtodef{\mainmatter}{\addtotextheight{\botfiddle}{}
The dedication, if any, does not have a heading and the text is centered horizontally
and vertically.
%% make it easy to center any dedication
\newcommand{\asudedication}[1]{%
369
21. A
NEXAMPLE THESIS DESIGN
{\clearpage\mbox{}\vfill\centering #1 \par\vfill\clearpage}}
There may be sections in the prelims that come after the ToC, and the titles of these are
added to the ToC.
%% for any headings after the tocloft and before the main body
\newcommand{\prelimtitle}[1]{%
\pretoctitle{#1}\addcontentsline{toc}{chapter}{#1}}
21.2.11 Components of the title and approval pages
There are several items that are set on the title and approval pages. In order to separate
the information from the particular layout, I’ve defined a macro for defining each item.
%%%% for the title page and approval page.
% your title
\newcommand{\settitle}[1]{\def\asutitle{#1}}
% you
\newcommand{\setauthor}[1]{\def\asuauthor{#1}}
% document type (e.g., thesis)
\newcommand{\setdoctype}[1]{\def\asudoctype{#1}}
% possible degree
\newcommand{\masters}{\def\asudegree{Master of Arts}}
\newcommand{\doctors}{\def\asudegree{Doctor of Philosophy}}
% defence date
\newcommand{\setdefdate}[1]{\def\asudefdate{#1}}
% graduation date
\newcommand{\setgraddate}[1]{\def\asugraddate{#1}}
% committe chair
\newcommand{\setchair}[1]{\def\asuchair{#1, Chair}}
% committe co-chairs
\newcommand{\setchairs}[2]{%
\def\asuchair{#1, Co-chair \\ #2, Co-chair}}
% other members (separated by \\s)
\newcommand{\setmembers}[1]{\def\asumembers{#1\par}}
Just for fun, create some default settings for these. The successful user will have
changed them all!
%% Use them like this, and if you don’t change them you will
%% get unacceptable title and/or approval pages
\settitle{AN INCREDIBLE PIECE OF WORK OVER WHICH I HAVE STRUGGLED
DAY AND NIGHT FOR FAR TOO LONG AND NOW IT IS OVER}
\setauthor{A. N. Author}
\setdoctype{Polemic}
\masters % going for a Masters degree
%% \doctors % going for a PhD
\setdefdate{April 2018}
\setgraddate{May 2021}
% \setchair{A. Jones}
% this one
370
21.2. Code
\setchairs{A. Jones}{B. Doe} % or this one
\setmembers{C. Smith \\ D. Somebody \\ Some One Else \\ Yet Another}
21.2.12 The title and approval pages
An example of a title page is shown in Figure 21.1 and an example of the corresponding
approval page is in Figure 21.2.
Now we can set up the layouts for the title and approval pages. The information type-
set on these pagesis obtained fromthe previousset of commands. Note that the last line on
eachof these pages has to be set upon the bottom margin. The ASU inspectorate is likely to
be very keen onthis, perhaps using aruler to measure the actual distance from the bottom
of the page to ensure that it is the magic 1 inch. I have included an
\enlargethispage
by the amount
\bottafiddle
so the user can make any fine adjustment that might be re-
quested. Similarly, the length
\toptafiddle
may be altered to fine tune the positionof the
title. Hopefully, neither of these tweaks will be needed, but if so, then use
\addtolength
instead of
\setlength
to make an adjustement.
%%% typesets the TITLE page
\newcommand{\thetitlepage}{{%
\clearpage
\thispagestyle{empty}
\centering
\vspace*{-\toptafiddle}
\asutitle \\ by \\ \asuauthor
\vfill
{\SingleSpace
A \asudoctype\ Presented in Partial Fulfillment \\
of the Requirements for the Degree \\
\asudegree\par}
\vfill
ARCHIBALD SMYTHE UNIVERSITY \\
\asugraddate
\par
\enlargethispage{\bottafiddle}
\clearpage}}
And similary for the approval page.
%%% typesets the APPROVAL page
\newcommand{\approvalpage}{{%
\thispagestyle{empty}
\centering
\vspace*{-\toptafiddle}
\asutitle \\ by \\ \asuauthor \\[3\onelineskip]
has been approved \\
\asudefdate
371
21. A
NEXAMPLE THESIS DESIGN
CONTINUING CONUNDRUMS IN THE TYPOGRAPHIC
REQUIREMENTS FOR THESES
by
Ima A. Student
APolemic Presented in Partial Fulfillment
of the Requirements for the Degree
Master of Arts
ARCHIBALDSMYTHE UNIVERSITY
May 2021
Figure 21.1: Example Archibald Smythe University title page
372
Documents you may be interested
Documents you may be interested