real 0m13.801s
user 0m13.925s
sys 0m0.076s
arara records the total time taken as 13.39 seconds.
The next test uses datagidx and \loadgidx. The result is:
real 0m2.643s
user 0m2.775s
sys 0m0.065s
arara records the total time taken as 2.23 seconds.
The third test uses glossaries. The result is:
real 0m1.156s
user 0m1.307s
sys 0m0.069s
arara records the total time taken as 0.75 seconds.
Using glossaries is clearly faster than using datagidx. In the case of \loadgidx, gloss-
aries is approximately three times faster. In the case of \newgidx, glossaries is approx-
imately 18 times faster. If a third LAT
E
Xrun was required for the location lists with
\newgidx, using glossaries would be approximately 27 times faster (with only two LAT
E
X
runs and one makeglossaries run).
If you’re interested to know how this compares with \makenoidxglossaries instead
of \makeglossaries, here’s the revised glossaries code:
% arara: clean: {extensions: [’aux’]}
% arara: pdflatex
% arara: pdflatex
\documentclass{report}
\usepackage[nonumberlist,nogroupskip,toc]{glossaries}
\usepackage{glossary-mcols}
\makenoidxglossaries
\renewcommand{\glossaryname}{Index}
\renewcommand{\glsnamefont}[1]{\textmd{#1}}
\newcommand{\newterm}[1]{%
\bgroup
\def\c##1{##1}%
\let\’\c
\xdef\thislabel{#1}%
41
Save pdf rotate pages - 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#
how to permanently rotate pdf pages; pdf save rotated pages
Save pdf rotate pages - 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
save pdf rotated pages; how to rotate all pages in pdf at once
\egroup
\def\thisname{#1}%
\edef\donewgloss{%
\noexpand\newglossaryentry{\thislabel}%
{name={\expandonce\thisname},%
sort={\thislabel},%
description={\noexpand\nopostdesc}}%
}%
\donewgloss
}
\input{entries}
\begin{document}
\tableofcontents
\chapter{Sample}
\glsaddall
\printnoidxglossary[style=mcolindex]
\end{document}
The result is:
real 0m2.463s
user 0m2.596s
sys 0m0.065s
arara records the total time taken as 2.06 seconds. This is slightly quicker than the
second datagidx test.
42
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.
pdf expert rotate page; rotate single page in pdf reader
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
rotate pdf page permanently; how to save a pdf after rotating pages
4 Importing Data
Data canbe importedfromCSV files (seesection4.1),SQL databases (seesection4.3) or
from files that canbeimported withthe probsoln package’s \loadallproblems command
(seesection4.4). In the case of the first two, datatooltk can automatically convert
T
E
X’s special characters if the --map-tex-specials command line option is used or the
Map TeX characters when importing data from CSV or SQL option has been selected
in the Preferences dialog box (seechapter6).
Note that data can’t be exported back to any of those formats.
4.1 Import CSV Data
Data can be imported from a CSV file using the --csv command line option or (in
GUI mode) usingtheFile→Import→ImportCSV menuitem. . Thedefault t separator is
acomma and the default delimiter is the double-quote character. These can be changed
using the --sep and --delim command line options or in the Preferences dialog box (see
chapter 6). Unlikedatatool’s\DTLloaddbcommand,datatooltkcanimportdatawith
multilined entries (via the Open CSV library http://opencsv.sourceforge.net/).
Multiple blank lines within entries are automatically converted to \DTLpar (although
you won’t see this inGUImode).
If theCSV file has a header row, you must make sure the --csvheader option is used
or the Has Header Row option is checked in the Preferences dialog box. If theCSV file
has no header row, you must make sure the --nocsvheader option is used or the Has
Header Row option is unchecked in the Preferences dialog box.
Example 7.
Consider theCSV file shown below:
Number,Notes
1,"A sample entry with several lines of text and here’s some more
text.
This is supposed to be the start of a new paragraph. Here’s the
next sentence."
2,A short note.
This has a cell with multiple lines. When it’s imported into datatooltk, the paragraph
break is converted to \DTLpar. However, this isn’t visible when you look at the file in
GUImode(seeFigure 4.1).
43
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
save pdf rotate pages; rotate pages in pdf
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.
saving rotated pdf pages; rotate single page in pdf
Figure 4.1: Paragraph Breaks Appear as a Single Blank Line
Note that the redundant second blank line in theCSV file has gone as multiple blank
lines are replaced by a single \DTLpar.
4.2 Import Spreadsheet Data
Data can be imported from an Excel .xls file (via the Apache POI library http://
poi.apache.org/)oranOpenDocumentSpreadsheet(viathejOpenDocumentLibrary
http://www.jopendocument.org/) usingthe --xls s or r --ods s commandlineoptions,
respectively. Alternative, inGUImode you canuse the File→Import→Import Spreadsheet
menu item. When using the command line, you additionally need to specify the sheet
index (starting from 0) or the sheet name using the --sheet command line option. If
you are using theGUI, after you’ve selected the spreadsheet file from the file selector
dialog, you need to select the required sheet name.
Importing data from a spreadsheet uses the same header row option andT
E
Xmapping
settings as the importCSV function. So if the sheet doesn’t have a header row, you
need to use --nocsvheader or uncheck the Has Header Row button in the Preferences
dialog box. Note that .xlsx files aren’t supported.
Note: no formatting information is read when importing data from an Excel spread-
sheet. It’s up to you to explicitly add L
A
T
E
Xfont commands when you include the data
in your document.
44
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
pdf rotate single page; rotate pdf page few degrees
How to C#: Rotate Image according to Specified angle
VB.NET How-to, VB.NET PDF, VB.NET Word, VB.NET Excel, VB.NET PowerPoint, VB.NET Tiff, VB Steps to Rotate image. Save the rotated image to an image file on the disk
rotate pages in pdf and save; reverse pdf page order online
Figure 4.2: SQL Import Dialog Box
Figure 4.3: Password Dialog Box
4.3 Import SQL Data
Data can be imported from anSQL database using the --sql command line option or
the File→Import→Import SQL menu item. You additionally need to supply the database,
port, prefix, host, user name and password. In batch mode, you can use the command
line options --sqldb, --sqlport, --sqlprefix, --sqlhost and --sqluser. You can
specify the password with --sqlpassword, but that isn’t secure. If you don’t use that,
you will be prompted for the password, where the text you enter won’t be visible. Note
that in batch mode, the default action is to use the console to request the password.
If there’s no console available, you need to use the --noconsole-action to determine
what action to perform. Seechapter1 for more details about command line options.
InGUImode, when you use File→Import→Import SQL the dialog box shown inFig-
ure 4.2will bedisplayed,where youcanenter r thesettings. . Inadditionto o the above
named settings, you must also specify theSQL SELECT statement that identifies the re-
quired data to import. (This manual assumes that if you have data in anSQL database,
then you have a basic knowledge ofSQL syntax.)
For example, inFigure4.2I want to import all data from the table called customers
in the MySQL database called myshop. (I’ve created a user called shopadmin with
SELECT privileges for this database.) Once I’ve entered this information, I then click
on Okay and the password dialog box will appear (seeFigure4.3).
Alternatively, I can use batch mode to import and save the data from the command
prompt:
45
How to C#: Basic SDK Concept of XDoc.PDF for .NET
example, you may easily create, load, combine, and split PDF file(s), and add, create, insert, delete, re-order, copy, paste, cut, rotate, and save PDF page(s
rotate all pages in pdf and save; rotate individual pdf pages reader
C# PDF Convert to Word SDK: Convert PDF to Word library in C#.net
key. Quick to remove watermark and save PDF text, image, table, hyperlink and bookmark to Word without losing format. Powerful components
rotate pdf page; reverse page order pdf online
datatooltk --output customers.dbtex --sql "SELECT * FROM customers"
←
--sqldb myshop --sqluser shopadmin
Password:
(The symbol ← above indicates a line wrap. Don’t insert a line break at that point.)
The password should be entered at the Password prompt. Remember that it’s more
efficient to get theSQL database to do any sorting. For example (assuming the table
has a column called Surname):
datatooltk --output customers.dbtex --sql "SELECT * FROM customers ORDER BY
←
Surname" --sqldb myshop --sqluser shopadmin
Password:
4.4 Import probsoln Data
The probsoln package allows you to define problems (andoptionally their solutions) using
\newproblem or the defproblem environment. datatooltk can load a file containing
these definitions and convert the probsoln data into a datatool database containing three
columns with keys: Label, Question and Answer. You canimport one of thesefiles using
the --probsoln command line option or (inGUImode) using the File→Import→Import
probsoln File menu item.
T
E
Xis a difficult language to parse, so datatooltk uses LAT
E
Xto help gather the data
from the imported file. The datatooltk application creates a temporary LAT
E
Xfile and
runs LAT
E
Xon it in the background. It assumes that the latex application is on your
path. If this isn’t the case, you will have to specify the location of the latex executable
in the Preferences dialog box (seechapter6). The temporary files are deleted when you
quit datatooltk unless you have used the --nodelete-tmp-files option.
Note: datatooltk doesn’t support problems that require arguments. Any instance of
#n will be replaced with ##n, but you will have to replace those with something else.
Also, recallfromsection1.3 that youcan’t have verbatim text in a datatool database, but
you can use \verbatiminput (from the verbatim package) or \lstinputlisting (from
the listings package). Since L
A
T
E
Xis used to gather the data, pretty-printing spaces and
comments won’t be imported.
Example 8.
Consider the file called prob-mixed.tex that contains the following:
\newproblem*{oop}{%
% This is an essay style question.
Describe what is meant by object-oriented programming.%
}
46
\begin{defproblem}{inheritance}
% This is an essay style question.
Describe what is meant by the term \emph{inheritance} in
object-oriented programming. Use examples.
\end{defproblem}
\begin{defproblem}{weightedcoin}%
\begin{onlyproblem}
A coin is weighted so that heads is four times as likely
as tails. Find the probability that:
\begin{textenum}
\item tails appears,
\item heads appears
\end{textenum}%
\end{onlyproblem}%
\begin{onlysolution}
Let $p=P(T)$, then $P(H)=4p$. We require $P(H)+P(T)=1$,
so $4p+p=1$, hence $p=\frac{1}{5}$. Therefore:
\begin{textenum}
\item $P(T)=\frac{1}{5}$,
\item $P(H)=\frac{4}{5}$
\end{textenum}
\end{onlysolution}
\end{defproblem}
\begin{defproblem}{validprobspaces}
\begin{onlyproblem}%
Under which of the following functions does
$S=\{a_1,a_2\}$ become a probability space?
\par
\begin{textenum}
\begin{tabular}{ll}
\item $P(a_1)=\frac{1}{3}$, $P(a_2)=\frac{1}{2}$
&
\item\label{validprobspacescorrect1} $P(a_1)=\frac{3}{4}$,
$P(a_2)=\frac{1}{4}$
\\
\item\label{validprobspacescorrect2} $P(a_1)=1$, $P(a_2)=0$
&
\item $P(a_1)=\frac{5}{4}$, $P(a_2)=-\frac{1}{4}$
\end{tabular}
\end{textenum}
\end{onlyproblem}%
\begin{onlysolution}%
47
\ref{validprobspacescorrect1} and \ref{validprobspacescorrect2}%
\end{onlysolution}
\end{defproblem}
\begin{defproblem}{digraph}
% This problem requires the tikz package
\begin{onlyproblem}\label{ex:digraph}
Identify, if any, the sinks and sources of the digraph shown
in Figure~\ref{fig:digraph}.
\begin{figure}[tbh]
\centering
\begin{tikzpicture}[every node/.style={draw,circle}]
\path (0,0) node (A) {$A$}
(1,0) node (B) {$B$}
(0,1) node (C) {$C$};
\draw[->] (A) -- (B);
\draw[->] (B) -- (C);
\draw[->] (A) -- (C);
\end{tikzpicture}
\par
\caption{Digraph for Question~\ref{ex:digraph}}
\label{fig:digraph}
\end{figure}
\end{onlyproblem}
\begin{onlysolution}
$A$ is a source and $C$ is a sink.
\end{onlysolution}
\end{defproblem}
This contains a mixture of \newproblem and defproblem. It also has comments and
spaces to make the code more readable. As can be seen inFigure4.4these have gone in
the import.
See also:
• ShufflingtheData
• SortingandShuffling
48
Figure 4.4: Pretty Printing and Comments are Lost When ImportingData from probsoln
49
5 Templates
Templates that come with datatooltk are located in the resources/templates subdir-
ectory of the datatooltk installation directory. You can also write your own templates
and store them in the user templates directory (seesection5.1). Each template defines
aset of column headers. To create a new database with a particular set of column head-
ers, use the File→New From Template menu item, which opens the dialog box shown in
Figure 5.1.
The datatooltk application comes with the following templates: datagidx (creates
adatabase withthe same structure as usedby the datagidx package) and people (creates
adatabase suitable for storing records about people, including columns for forenames,
asurname, title and address.) For example,Figure5.2shows a database created from
the people template.
Rows can now be added to this database using the Edit→Row menu or via correspond-
ing plugins (seesection3.4).
5.1 Writing a Template File
If you want to write your own template, you need to create an XML file and store it
in a subdirectory of the datatooltk user properties directory (see chapter 6) called
templates. You will need to create this directory, if it doesn’t already exist. For ex-
ample, ona UNIX-likesystem,the user template directory willbe ~/.datatooltk/templates/.
The template file must have the extension .xml for it to be listed in the “New From
Template” dialog box. (The base name of the file is used in the list.)
The template file must have one <datatooltktemplate> element. This element may
contain one or more <header> elements. Each <header> element must contain one
<label> element and optionally one <title> and/or one <type> element.
The <label> element contains the uniquely identifying header label. The <title>
element contains the header title. If omitted, the title is set to the label, unless there is
Figure 5.1: New From Template Dialog
50
Documents you may be interested
Documents you may be interested