pdf viewer c# open source : How to add bookmark in pdf application Library tool html asp.net azure online calibre14-part872

calibre User Manual, Release 2.56.0
The syntax ofthe language is shown by the following grammar:
constant
::= " string " | ' string ' | number
identifier ::= sequence of letters or ``_`` characters
function
::= identifier ( statement [ , statement ]
*
)
expression ::= identifier | constant | function | assignment
assignment ::= identifier '=' expression
statement
::= expression [ ; expression ]
*
program
::= statement
Comments are lines with a ‘#’ character at the beginning of the line.
Anexpression always has avalue,eitherthe valueoftheconstant,the value contained in the identifier, or the value
returned by a function. The value of a statement is the value of the last expression in the sequence of statements.
As such, the value of the program (statement):
1; 2'foobar'; 3
is 3.
Another example ofa complex but rather silly programmight help make things clearer:
{series_index:'
substr(
strcat($, '->',
cmp(divide($, 2), 1,
assign(c, 1); substr('lt123', c, 0),
'eq', 'gt')),
0, 6)
'| prefix | suffix}
This programdoes the following:
• specify that the field beinglooked at is series_index. This sets the value ofthe variable $.
• calls the substr function, which takes 3 parameters (str, start, end). It returns a string formed by
extracting the start through end characters from string, zero-based (the first character is character zero). In this
case the string will be computed by the strcat function, the start is 0, and the end is 6. In this case it will
return the first 6 characters of the stringreturned by strcat,which must be evaluated before substrcan return.
• calls the strcat (string concatenation) function. Strcat accepts 1 or more arguments, and returns a string
formed by concatenating all the values. In this case there are three arguments. The first parameter is the value
in $,which here is the value ofseries_index. The second paremeteris the constant string ’->’. The third
parameter is the value returned by the cmp function, which must be fully evaluated before strcat can return.
• The cmp function takes 5 arguments (x, y, lt, eq, gt). It compares x and y and returns the third
argument lt ifx < y, the fourth argument eq if x == y,andthe fifth argument gt if x >y. As with all functions,
all ofthe parameters can be statements. In this case the first parameter(the value for x) is the result of dividing
the series_index by 2. The second parameter y is the constant 1. The third parameter lt is a statement (more
later). The fourth parameter eq is the constant string ’eq’. The fifth parameter is the constant string ’gt’.
• The third parameter (the one for lt) is a statement, or a sequence of expressions. Remember that a statement
(a sequence of semicolon-separated expressions)is also anexpression, returningthe value ofthe lastexpression
in the list. In this case,the programfirst assigns the value 1 to a local variable c, then returns a substring made
by extracting the c’th character to the end. Since c always contains the constant 1, the substring will return the
second through end’th characters, or ’t123’.
• Once the statement providingthe value to the third parameteris executed, cmp canreturn a value. Atthatpoint,
strcat‘ can return a value, then ‘‘substr can return a value. The program then terminates.
For various values of series_index, the program returns:
1.9. Tutorials
137
How to add bookmark in pdf - add, remove, update PDF bookmarks in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Empower Your C# Project with Rapid PDF Internal Navigation Via Bookmark and Outline
excel hyperlink to pdf bookmark; edit pdf bookmarks
How to add bookmark in pdf - VB.NET PDF bookmark library: add, remove, update PDF bookmarks in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Empower Your VB.NET Project with Rapid PDF Internal Navigation Via Bookmark and Outline
editing bookmarks in pdf; create bookmarks in pdf reader
calibre User Manual, Release 2.56.0
• series_index == undefined, result = prefix ->t123 suffix
• series_index == 0.5,result = prefix 0.50-> suffix
• series_index == 1,result = prefix 1->t12 suffix
• series_index == 2,result = prefix 2->eq suffix
• series_index == 3,result = prefix 3->gt suffix
All the functions listed under single-function mode can be used in program mode. To do so, you must sup-
ply the value that the function is to act upon as the first parameter, in addition to the parameters documented
above. For example, in program mode the parameters of the test function are test(x, text_if_not_empty,
text_if_empty). The x parameter, which is the value to be tested, will almost always be a variable or a function
call, often field().
The following functions are available in addition to those described in single-function mode. Rememberfrom the ex-
ampleabovethat the single-function mode functions requirean additionalfirst parameterspecifying the fieldtooperate
on. With the exception of the id parameter of assign, all parameters can be statements (sequences of expressions).
Note that the definitive documentation for functions is available in the sectionFunctionclassification(page 141):
• and(value, value, ...) –returns the string“1” if all values are not empty,otherwise returns the empty
string. This function works well with test orfirst_non_empty. You can have as manyvalues as you want.
• add(x, y) – returns x + y. Throws an exception if either x or y are not numbers.
• assign(id, val) – assigns val to id, then returns val. id must be an identifier, not an expression
• approximate_formats() – return a comma-separated list of formats that at one point were associated
with the book. There is no guarantee that the list is correct, although it probably is. This function can be called
in template program mode using the template {:’approximate_formats()’}. Note that format names
are always uppercase,as inEPUB.
• author_links(val_separator, pair_separator) – returns a string containing a list of
authors and that author’s link values in the form author1 val_separator author1link
pair_separator author2 val_separator author2link etc. An author is separated from its
link value by the val_separator string with no added spaces. author:linkvalue pairs are separated
by the pair_separator string argument with no added spaces. It is up to you to choose separator strings
that do not occur in author names or links. An author is included even ifthe author link is empty.
• author_sorts(val_separator) – returns a stringcontaininga list ofauthor’s sortvalues forthe authors
of the book. The sort is the one in the author metadata (different from the author_sort in books). The returned
list has the form author sort 1 val_separator author sort 2 etc. The author sort values in this list are in the
same order as the authors of the book. If you want spaces around val_separator then include them in the
separator string
• booksize() – returns the value of the calibre ‘size’ field. Returns ‘’ ifthere are no formats.
• cmp(x, y, lt, eq, gt) – compares x and y after converting both to numbers. Returns lt if x < y.
Returns eq if x == y. Otherwise returns gt.
• current_library_name() – return the last name on the path to the current calibre library. This function
can be called in template program mode using the template {:’current_library_name()’}.
• current_library_path() – return the path to the current calibre library. This function can be called in
template program mode using the template {:’current_library_path()’}.
• days_between(date1, date2) – return the number of days between date1 and date2. The number
is positive if date1 is greater than date2, otherwise negative. If either date1 or date2 are not dates, the
function returns the empty string.
• divide(x, y) – returns x / y. Throws an exception if either x or y are not numbers.
138
Chapter 1. Sections
VB.NET PDF insert image library: insert images into PDF in vb.net
VB.NET PDF - Add Image to PDF Page in VB.NET. Guide VB.NET Programmers How to Add Images in PDF Document Using XDoc.PDF SDK for VB.NET.
bookmark pdf documents; bookmark pdf acrobat
C# PDF Password Library: add, remove, edit PDF file password in C#
C# Sample Code: Add Password to PDF with Permission Settings Applied in C#.NET. This example shows how to add PDF file password with access permission setting.
create bookmarks pdf file; how to bookmark a pdf document
calibre User Manual, Release 2.56.0
• eval(string) – evaluates the string as a program, passing the local variables (those assign ed to). This
permits using the template processor to construct complex results from local variables. Because the { and
}characters are special, you must use [[ for the { character and ]] for the ‘}’ character; they are converted
automatically. Note also that prefixes and suffixes (the |prefix|suffix syntax) cannot be used in the argument to
this function when using template program mode.
• field(name) – returns the metadata field named byname.
• first_matching_cmp(val, cmp1, result1, cmp2, r2, ..., else_result) – compares
val < cmpN in sequence, returning resultN for the first comparison that succeeds. Returns else_result if no
comparison succeeds. Example:
first_matching_cmp(10,5,"small",10,"middle",15,"large","giant")
returns “large”. The same example with a first value of 16 returns “giant”.
• first_non_empty(value, value, ...) – returns the first value that is not empty. If all values are
empty,then the emptyvalue is returned. You can have as many values as you want.
• format_date(x, format_string) – format the value, which must be a date field, using the for-
mat_string, returning a string. The formatting codes are:
d
: the day as number without a leading zero (1 to 31)
dd
: the day as number with a leading zero (01 to 31)
ddd
: the abbreviated localized day name (e.g"Mon" to "Sun").
dddd : the long localized day name (e.g"Monday" to "Sunday").
M
: the month as number without a leading zero (1 to 12).
MM
: the month as number with a leading zero (01 to 12)
MMM
: the abbreviated localized month name (e.g"Jan" to "Dec").
MMMM : the long localized month name (e.g"January" to "December").
yy
: the year as two digit number (00 to 99).
yyyy : the year as four digit number.
h
: the hours without a leading 0 (0 to 11 or 0 to 23, depending on am/pm)
hh
: the hours with a leading 0 (00 to 11 or 00 to 23, depending on am/pm)
m
: the minutes without a leading 0 (0 to 59)
mm
: the minutes with a leading 0 (00 to 59)
s
: the seconds without a leading 0 (0 to 59)
ss
: the seconds with a leading 0 (00 to 59)
ap
: use a 12-hour clock instead of a 24-hour clock, with 'ap' replaced by the localized string for am or pm.
AP
: use a 12-hour clock instead of a 24-hour clock, with 'AP' replaced by the localized string for AM or PM.
iso
: the date with time and timezone. Must be the only format present.
You might get unexpected results if the date you are formatting contains localized month names, which
can happen if you changed the format tweaks to contain MMMM. In this case, instead of using some-
thing like {pubdate:format_date(yyyy)}, write the template using template program mode as in
{:’format_date(raw_field(’pubdate’),’yyyy’)’}.
• finish_formatting(val, fmt, prefix, suffix) –apply the format,prefix, and suffix to a value
in the same way as done in a template like {series_index:05.2f| - |- }. This function is provided
to ease conversion of complex single-function- or template-program-mode templates togeneralprogrammode
(page 157) (see below) to take advantage of GPM template compilation. For example, the following program
produces the same output as the above template:
program: finish_formatting(field("series_index"), "05.2f"" - - "" - ")
Anotherexample: forthetemplate {series:re(([^\s])[^\s]+(\s|$),\1)}{series_index:0>2s|
- | - }{title} use:
program:
strcat(
1.9. Tutorials
139
C# PDF Sticky Note Library: add, delete, update PDF note in C#.net
C#.NET PDF SDK - Add Sticky Note to PDF Page in C#.NET. Able to add notes to PDF using C# source code in Visual Studio .NET framework.
excel print to pdf with bookmarks; pdf bookmark
C# PDF insert image Library: insert images into PDF in C#.net, ASP
C#.NET PDF SDK - Add Image to PDF Page in C#.NET. How to Insert & Add Image, Picture or Logo on PDF Page Using C#.NET. Add Image to PDF Page Using C#.NET.
add bookmarks to pdf file; how to add bookmarks to a pdf
calibre User Manual, Release 2.56.0
re(field('series'), '([^\s])[^\s]+(\s|$)''\1'),
finish_formatting(field('series_index'), '0>2s'' - - '' - - '),
field('title')
)
• formats_modtimes(format_string) – return a comma-separated list of colon-separated items repre-
senting modification times for the formats of a book. The format_string parameter specifies how the date is to
be formatted. See the format_date() function for details. You can use the select function to getthe mod time for
aspecific format. Note that format names are always uppercase, as in EPUB.
• formats_paths() – return a comma-separated list of colon-separated items representing full path to the
formats of a book. You can use the select function to get the path for a specific format. Note that format names
are always uppercase,as inEPUB.
• formats_sizes() – return a comma-separated list of colon-separated items representing sizes in bytes of
the formats of a book. You can use the select function to get the size for a specific format. Note that format
names are always uppercase, as in EPUB.
• has_cover() – return Yes if the book has a cover, otherwise return the empty string
• not(value) – returns the string “1” if the value is empty, otherwise returns the empty string. This function
works well with test or first_non_empty.
• list_difference(list1, list2, separator) – return a list made by removing from list1 any
item found in list2, using a case-insensitive comparison. The items in list1 and list2 are separated by separator,
as are the items in the returned list.
• list_equals(list1, sep1, list2, sep2, yes_val, no_val) – return yes_val if list1 and
list2 contain the same items, otherwise return no_val. The items are determined by splitting each list using
the appropriate separator character (sep1 or sep2). The order of items in the lists is not relevant. The compari-
son is case-insensitive.
• list_intersection(list1, list2, separator) – return a list made by removing from list1 any
item not found in list2, using a case-insensitive comparison. The items in list1 and list2 are separated by
separator, as are the items in the returned list.
• list_re(src_list, separator, include_re, opt_replace) – Construct a list by first sepa-
rating src_list into items using the separator character. For each item in the list, check if it matches include_re.
Ifit does, then add itto the list to be returned. Ifopt_replace is not the emptystring,then apply the replacement
before adding the itemto the returned list.
• list_re_group(src_list, separator, include_re, search_re,
template_for_group_1, for_group_2, ...) – Like list_re except replacements are not op-
tional. It uses re_group(item,search_re, template ...) when doing the replacements.
• list_sort(list, direction, separator) – return list sorted using a case-insensitive sort. If di-
rection is zero, the list is sorted ascending, otherwise descending. The list items are separated by separator, as
are the items in the returned list.
• list_union(list1, list2, separator) – return a list made by mergingthe items in list1and list2,
removing duplicate items using a case-insensitive comparison. If items differ in case, the one in list1 is used.
The items in list1 and list2 are separated byseparator,as are the items in the returned list.
• multiply(x, y) – returns x * y. Throws an exception if either x or y are not numbers.
• ondevice() – return the string “Yes” ifondevice is set, otherwise return the empty string
• or(value, value, ...) – returns the string “1” if any value is not empty, otherwise returns the empty
string. This function works well with test orfirst_non_empty. You can have as manyvalues as you want.
140
Chapter 1. Sections
VB.NET PDF Password Library: add, remove, edit PDF file password
VB: Add Password to PDF with Permission Settings Applied. This VB.NET example shows how to add PDF file password with access permission setting.
export pdf bookmarks to text; bookmarks pdf reader
VB.NET Create PDF from Excel Library to convert xlsx, xls to PDF
to PDF. Image: Remove Image from PDF Page. Image Link: Edit URL. Bookmark: Edit Bookmark. Metadata: Edit, Delete Redact Pages. Annotation & Drawing. Add Sticky Note
creating bookmarks pdf files; export bookmarks from pdf to excel
calibre User Manual, Release 2.56.0
• print(a, b, ...) – prints the arguments to standard output. Unless you start calibre from the command
line (calibre-debug -g),the output will go to a black hole.
• raw_field(name) – returns the metadata field named by name without applying anyformatting.
• raw_list(name, separator) – returns the metadata list named by name without applying any format-
ting or sorting and with items separated by separator.
• re_group(val, pattern, template_for_group_1, for_group_2, ...) – return a string
made by applying the regular expression pattern to the val and replacing each matched instance with the string
computed by replacing each matched group by the value returned by the corresponding template. The original
matched value for the group is available as $. In template program mode, like for the template and the eval
functions, you use [[for{ and ]] for }. The following example in template programmode looks for series with
more than one word and uppercases the first word:
{series:'re_group($, "(\S
*
)(.
*
)", "[[$:uppercase()]]", "[[$]]")'}
• series_sort() – returns the series sort value.
• strcat(a, b, ...) – can take any number of arguments. Returns a string formed by concatenating all
the arguments.
• strcat_max(max, string1, prefix2, string2, ...) – Returns a string formed by concate-
nating the arguments. The returned value is initialized to string1. Prefix, string pairs are added to the end of the
value as long as the resulting string length is less than max. String1 is returned even if string1 is longer than
max. You can pass as many prefix, string pairs as you wish.
• strcmp(x, y, lt, eq, gt) – does a case-insensitive comparison x and y as strings. Returns lt if x <
y. Returns eq if x == y. Otherwise returns gt.
• strlen(a) – Returns the length ofthe stringpassed as the argument.
• substr(str, start, end) – returns the start‘th through the end‘th characters of str. The first
character instr is the zero’th character. Ifend is negative,thenit indicates that many characters counting from
the right. If endis zero, then it indicates the last character. Forexample, substr(’12345’, 1, 0) returns
’2345’, and substr(’12345’, 1, -1) returns ’234’.
• subtract(x, y) – returns x - y. Throws an exception if eitherx or y are not numbers.
• today() – return a date string for today. This value is designed for use in format_date or days_between, but
can be manipulated like any other string. The date is in ISO format.
• template(x) – evaluates x as a template. The evaluation is done in its own context, meaning that vari-
ables are not shared between the caller and the template evaluation. Because the { and } characters are special,
you must use [[ for the { character and ]] for the ‘}’ character; they are converted automatically. For exam-
ple, template(’[[title_sort]]’) will evaluate the template ‘‘{title_sort} and
return its value. Note also that prefixes and suffixes (the |prefix|suffix syntax) cannot be used in the argument to
this function when using template program mode.
Function classification
Reference for all built-in template language functions
Here,we document all the built-in functions available in the calibre template language. Every function is implemented
as a class inpython andyoucan click the source links to see the source code, in case the documentationis insufficient.
The functions are arranged in logical groups by type.
1.9. Tutorials
141
C# PDF Library SDK to view, edit, convert, process PDF file for C#
editing PDF document hyperlink (url) and quick navigation link in PDF bookmark. C#.NET: Edit PDF Metadata. PDF SDK for .NET allows you to read, add, edit, update
export excel to pdf with bookmarks; create bookmark pdf
C# PDF Annotate Library: Draw, edit PDF annotation, markups in C#.
framework. Support to add flatten comments to PDF document online in ASPX webpage. Support C#.NET: Add Text to PDF Document. This page
create bookmarks in pdf; export pdf bookmarks
calibre User Manual, Release 2.56.0
142
Chapter 1. Sections
calibre User Manual, Release 2.56.0
• Arithmetic(page 144)
– add(x,y)(page 144)
– divide(x,y)(page 144)
– multiply(x,y)(page 144)
– subtract(x,y) (page 144)
• Boolean(page 144)
– and(value,value,...)(page 144)
– not(value)(page 144)
– or(value,value,...)(page 144)
• Datefunctions(page 144)
– days_between(date1,date2)(page 144)
– today() (page 144)
• Formattingvalues(page 145)
– finish_formatting(val,fmt,prefix,suffix)(page 145)
– format_date(val,format_string) (page 145)
– format_number(v,template) (page 145)
– human_readable(v)(page 145)
• Getvaluesfrommetadata(page 145)
– approximate_formats()(page 145)
– author_links(val_separator,pair_separator)(page 145)
– author_sorts(val_separator)(page 146)
– booksize()(page 146)
– current_library_name()(page 146)
– current_library_path()(page 146)
– field(name)(page 146)
– formats_modtimes(date_format) (page 146)
– formats_paths() (page 146)
– formats_sizes() (page 147)
– has_cover()(page 147)
– language_codes(lang_strings) (page 147)
– language_strings(lang_codes,localize) (page 147)
– ondevice()(page 147)
– raw_field(name) (page 147)
– raw_list(name,separator) (page 147)
– series_sort() (page 147)
– user_categories()(page 147)
– virtual_libraries()(page 148)
• If-then-else (page 148)
– contains(val,pattern,textifmatch,textifnotmatch)(page 148)
– ifempty(val,textifempty) (page 148)
– test(val,textifnotempty,textifempty) (page 148)
• Iteratingovervalues (page 148)
– first_non_empty(value,value,...)(page 148)
– lookup(val,pattern,field,pattern,field,...,else_field) (page 148)
– switch(val,pattern,value,pattern,value,...,else_value) (page 148)
• Listlookup(page 148)
– identifier_in_list(val,id,found_val,not_found_val) (page 149)
– in_list(val,separator,pattern,found_val,not_found_val) (page 149)
– list_item(val,index,separator) (page 149)
– select(val,key) (page 149)
– str_in_list(val,separator,string,found_val,not_found_val) (page 149)
• Listmanipulation(page 149)
– count(val,separator)(page 149)
– list_difference(list1,list2,separator) (page 149)
– list_equals(list1,sep1,list2,sep2,yes_val,no_val) (page 150)
– list_intersection(list1,list2,separator) (page 150)
– list_re(src_list,separator,include_re,opt_replace) (page 150)
– list_re_group(src_list,separator,include_re,search_re,group_1_template,...) (page 150)
– list_sort(list,direction,separator) (page 150)
– list_union(list1,list2,separator) (page 150)
1.9. Tutorials
143
calibre User Manual, Release 2.56.0
Arithmetic
add(x, y)
class calibre.utils.formatter_functions.BuiltinAdd
add(x, y)– returns x +y. Throws an exception ifeither x or y are not numbers.
divide(x,y)
class calibre.utils.formatter_functions.BuiltinDivide
divide(x, y) – returns x / y. Throws an exception if either x or y are not numbers.
multiply(x, y)
class calibre.utils.formatter_functions.BuiltinMultiply
multiply(x, y)– returns x* y. Throws an exception ifeither x or y are not numbers.
subtract(x, y)
class calibre.utils.formatter_functions.BuiltinSubtract
subtract(x, y)– returns x- y. Throws an exception if either x or y are not numbers.
Boolean
and(value, value,...)
class calibre.utils.formatter_functions.BuiltinAnd
and(value, value, ...) – returns the string “1” if all values are not empty,otherwise returns the empty string. This
function works well with test or first_non_empty. You can have as many values as you want.
not(value)
class calibre.utils.formatter_functions.BuiltinNot
not(value) – returns the string “1” if the value is empty, otherwise returns the empty string. This function works
well with test or first_non_empty.
or(value, value, ...)
class calibre.utils.formatter_functions.BuiltinOr
or(value, value, ...) – returns the string “1” if any value is not empty, otherwise returns the empty string. This
function works well with test or first_non_empty. You can have as many values as you want.
Date functions
days_between(date1, date2)
class calibre.utils.formatter_functions.BuiltinDaysBetween
days_between(date1, date2) – return the number of days between date1 and date2. The number is positive if
date1 is greater than date2, otherwise negative. If either date1 or date2 are not dates, the function returns the
empty string.
today()
class calibre.utils.formatter_functions.BuiltinToday
today() – return a date string for today. This value is designed for use in format_date or days_between, but can
be manipulated like anyother string. The date is in ISO format.
144
Chapter 1. Sections
calibre User Manual, Release 2.56.0
Formatting values
finish_formatting(val,fmt, prefix, suffix)
class calibre.utils.formatter_functions.BuiltinFinishFormatting
finish_formatting(val, fmt, prefix, suffix) – apply the format, prefix, and suffix to a value in the same way as
done ina template like {series_index:05.2f| -|-}. Forexample,the following program produces the same output
as the above template: program: finish_formatting(field(“series_index”), “05.2f”, ” - ”,” -”)
format_date(val, format_string)
class calibre.utils.formatter_functions.BuiltinFormatDate
format_date(val, format_string) – format the value, which must be a date, using the format_string, returning a
string. The formatting codes are: d : the day as number without a leading zero (1 to 31) dd : the day as number
with a leading zero (01 to 31) ddd : the abbreviated localized day name (e.g. “Mon” to “Sun”). dddd : the long
localized day name (e.g. “Monday” to “Sunday”). M : the month as number without a leading zero (1 to 12).
MM : the month as number with a leading zero (01 to 12) MMM : the abbreviated localized month name (e.g.
“Jan” to “Dec”). MMMM : the long localized month name (e.g. “January” to “December”). yy : the year as
two digit number (00 to 99). yyyy : the year as four digit number. h : the hours without a leading 0 (0 to 11 or
0to 23, depending on am/pm) hh : the hours with a leading 0 (00 to 11 or 00 to 23, depending on am/pm) m :
the minutes without a leading 0 (0 to 59) mm : the minutes with a leading 0 (00 to 59) s : the seconds without
aleading 0 (0 to 59) ss : the seconds with a leading 0 (00 to 59) ap : use a 12-hour clock instead of a 24-hour
clock, with “ap” replaced by the localized string for am or pm AP : use a 12-hour clock instead of a 24-hour
clock, with “AP” replaced by the localized string for AM or PM iso : the date with time and timezone. Must be
the only format present
format_number(v,template)
class calibre.utils.formatter_functions.BuiltinFormatNumber
format_number(v, template) – format the number v using a python formatting template such as “{0:5.2f}” or
“{0:,d}” or “${0:5,.2f}”. The field_name part of the template must be a 0 (zero) (the “{0:” in the above
examples). See the template language and python documentation formore examples. Returns the empty string
if formatting fails.
human_readable(v)
class calibre.utils.formatter_functions.BuiltinHumanReadable
human_readable(v) – return a string representing the number v in KB, MB, GB,etc.
Get values from metadata
approximate_formats()
class calibre.utils.formatter_functions.BuiltinApproximateFormats
approximate_formats() – return a comma-separated list of formats that at one point were associated with the
book. There is no guarantee that this list is correct, although it probably is. This function can be called in
template program mode using the template “{:’approximate_formats()’}”. Note that format names are always
uppercase, as in EPUB. This function works only in the GUI. If you want to use these values in save-to-disk or
send-to-device templates then you must make a custom“Column built from othercolumns”, use the function in
that column’s template, and use that column’s value in your save/send templates
author_links(val_separator,pair_separator)
1.9. Tutorials
145
calibre User Manual, Release 2.56.0
class calibre.utils.formatter_functions.BuiltinAuthorLinks
author_links(val_separator, pair_separator) – returns a string containing a list of authors and that author’s link
values in the form author1 val_separator author1link pair_separator author2 val_separator author2link etc. An
author is separated from its link value by the val_separator string with no added spaces. author:linkvalue pairs
are separated by the pair_separator string argument with no added spaces. It is up to you to choose separator
strings that do not occur in author names orlinks. An author is included even if the author link is empty.
author_sorts(val_separator)
class calibre.utils.formatter_functions.BuiltinAuthorSorts
author_sorts(val_separator)– returns a string containing a list ofauthor’s sort values forthe authors of the book.
The sort is the one in the author metadata (different from the author_sort in books). The returned list has the
formauthor sort 1 val_separator author sort 2 etc. The authorsort values in this list are in the same orderas the
authors of the book. If you want spaces around val_separator then include themin the separatorstring
booksize()
class calibre.utils.formatter_functions.BuiltinBooksize
booksize() – return value of the size field. This function works only in the GUI. If you want to use this value in
save-to-disk or send-to-device templates then you must make a custom“Column builtfromother columns”,use
the function in that column’s template, and use that column’s value in your save/send templates
current_library_name()
class calibre.utils.formatter_functions.BuiltinCurrentLibraryName
current_library_name() – return the last name on the path to the current calibre library. This function can be
called in template programmode using the template “{:’current_library_name()’}”.
current_library_path()
class calibre.utils.formatter_functions.BuiltinCurrentLibraryPath
current_library_path() – return the path to the current calibre library. This function can be called in template
program mode usingthe template “{:’current_library_path()’}”.
field(name)
class calibre.utils.formatter_functions.BuiltinField
field(name) – returns the metadata field named by name
formats_modtimes(date_format)
class calibre.utils.formatter_functions.BuiltinFormatsModtimes
formats_modtimes(date_format) – return a comma-separated list of colon-separated items representing modifi-
cation times forthe formats ofa book. The date_format parameterspecifies howthe date is tobe formatted. See
the format_date function for details. You can use the select function to get the mod time for a specific format.
Note that format names are always uppercase, as in EPUB.
formats_paths()
class calibre.utils.formatter_functions.BuiltinFormatsPaths
formats_paths() – return a comma-separated list of colon-separated items representing full path to the formats
of a book. You can use the select function to get the path for a specific format. Note that format names are
always uppercase, as in EPUB.
146
Chapter 1. Sections
Documents you may be interested
Documents you may be interested