pdf viewer c# open source : Add bookmarks to pdf file software SDK project winforms wpf web page UWP calibre29-part888

calibre User Manual, Release 2.56.0
manifest_type_map
Mapping of manifest media-type to list of canonical names of that media-type
mi
The metadata of this book as a Metadata object. Note that this object is constructed on the fly every time
this property is requested, so use it sparingly.
name_to_abspath(name)
Convert a canonical name to an absolute OS dependant path
name_to_href(name,base=None)
Convert a name toa hrefrelative tobase, which must be a name or None in which case self.root is used as
the base
names_that_must_not_be_changed
Set of names that must never be renamed. Depends on the ebook file format.
names_that_must_not_be_removed
Set of names that must never be deleted from the container. Depends on the ebook file format.
names_that_need_not_be_manifested
Set of names that are allowed to be missing from the manifest. Depends on the ebook file format.
open(name,mode=u’rb’)
Open the file pointed to by name for direct read/write. Note that this will commit the file if it is dirtied
and remove it fromthe parse cache. You must finish with this file before accessing the parsed version of it
again, or bad things will happen.
opf
The parsed OPF file
opf_get_or_create(name)
Convenience method to either return the first XML element with the specified name or create it under the
opf:package element and then return it, ifit does not already exist.
opf_version
The version set on the OPF’s <package> element
opf_xpath(expr)
Convenience method to evaluate an XPath expression on the OPF file, has the opf: and dc: namespace
prefixes pre-defined.
parsed(name)
Return a parsed representation ofthe file specified by name. For HTML and XML files an lxml tree is re-
turned. ForCSSfiles acssutils stylesheet is returned. Note that parsed objects are cachedfor performance.
If you make any changes to the parsed object, you must calldirty() (page 286) so that the container
knows to update the cache. See alsoreplace() (page 288).
raw_data(name,decode=True, normalize_to_nfc=True)
Return the rawdata corresponding to the file specified by name
Parameters
• decode – If True and the file has a text based mimetype, decode it and return a unicode
object instead ofraw bytes.
• normalize_to_nfc – If True the returned unicode object is normalized to the NFC
normal formas is required for the EPUB and AZW3 file formats.
relpath(path,base=None)
Convert an absolute path (with os separators) to a path relative to base (defaults to self.root). The relative
path is not a name. Useabspath_to_name() (page 285) for that.
1.12. Setting up a calibre development environment
287
Add bookmarks to pdf file - 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
add bookmark to pdf reader; pdf export bookmarks
Add bookmarks to pdf file - 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
how to add bookmarks to pdf files; export pdf bookmarks to excel
calibre User Manual, Release 2.56.0
remove_from_spine(spine_items, remove_if_no_longer_in_spine=True)
Remove
the
specified
items
(by
canonical
name)
from
the
spine.
If
remove_if_no_longer_in_spine is True, the items are also deleted from the book, not just
from the spine.
remove_from_xml(item)
Removes item from parent, fixing indentation (works only with self closing items)
remove_item(name,remove_from_guide=True)
Remove the item identified by name from this container. This removes all references to the item in the
OPF manifest, guide and spine as well as fromany internal caches.
rename(current_name, new_name)
Renames a file from current_name to new_name. It automatically rebases all links inside the file if the
directory the file is in changes. Note however, that links are not updated in the other files that could
reference this file. This is for performance, such updates should be done once, inbulk.
replace(name,obj)
Replace the parsed object corresponding to name with obj, which must be a similar object, i.e. an lxml
tree forHTML/XML or a cssutils stylesheet for a CSSfile.
replace_links(name,replace_func)
Replace all links in name using replace_func, whichmustbe a callable that accepts a URL and returns the
replaced URL. It must also have a ‘replaced’attribute that is set to True if anyactual replacement is done.
Convenient ways of creating such callables are using the LinkReplacer and LinkRebaser classes.
serialize_item(name)
Convert a parsed object (identified by canonical name) into a bytestring. Seeparsed() (page 287).
set_spine(spine_items)
Set the spine to be spine_items where spine_items is an iterable of the form (name, linear). Will raise an
error if one of the names is not present in the manifest.
spine_items
An iterator yielding the path for every item in the books’ spine. See also:spine_iter (page 288) and
spine_items(page288).
spine_iter
An iterator that yields item, name is_linear for every item in the books’ spine. item is the lxml element,
name is the canonical file name and is_linear is True if the item is linear. See also: spine_names
(page 288) andspine_items (page 288).
spine_names
An iterator yielding name and is_linear for every item in the books’ spine. See also: spine_iter
(page 288) andspine_items (page 288).
Managing component files in a container
calibre.ebooks.oeb.polish.replace.replace_links(container,
link_map,
frag_map=<function
<lambda>>,
replace_in_opf=False)
Replace links to files inthe container. Will iterate over all files in the container and change the specified links in
them.
Parameters
• link_map – A mapping of old canonical name to new canonical name. For example:
{’images/old.png’:
’images/new.png’}
288
Chapter 1. Sections
VB.NET PDF File Compress Library: Compress reduce PDF size in vb.
Compress & decompress PDF document file while maintaining original content of target PDF document file. Remove bookmarks, annotations, watermark, page labels
create pdf bookmarks online; create pdf bookmark
C# PDF File Compress Library: Compress reduce PDF size in C#.net
Bookmarks. Comments, forms and multimedia. Flatten visible layers. C#.NET DLLs: Compress PDF Document. Add necessary references: RasterEdge.Imaging.Basic.dll.
bookmarks pdf; delete bookmarks pdf
calibre User Manual, Release 2.56.0
• frag_map – A callable that takes two arguments (name, anchor) and returns a new
anchor. This is useful if you need to change the anchors in HTML files. By default, it does
nothing.
• replace_in_opf – If False,links are not replaced in the OPF file.
calibre.ebooks.oeb.polish.replace.rename_files(container,file_map)
Rename files in the container,automatically updating all links to them.
Parameters file_map – A mapping of old canonical name to new canonical name, for example:
{’text/chapter1.html’:
’chapter1.html’}.
calibre.ebooks.oeb.polish.replace.get_recommended_folders(container, names)
Return the folders that are recommended for the given filenames. The recommendation is based on where the
majority of files of the same type are located in the container. If no files of a particular type are present, the
recommended folder is assumed to be the folder containing the OPF file.
Pretty printing and autofixingparse errors
calibre.ebooks.oeb.polish.pretty.fix_html(container,raw)
Fix any parsing errors in the HTML represented as a string in raw. Fixing is done using the HTML5 parsing
algorithm.
calibre.ebooks.oeb.polish.pretty.fix_all_html(container)
Fix any parsing errors in all HTML files in the container. Fixing is done using the HTML5 parsing algorithm.
calibre.ebooks.oeb.polish.pretty.pretty_html(container,name, raw)
Pretty print the HTML represented as a string in raw
calibre.ebooks.oeb.polish.pretty.pretty_css(container,name, raw)
Pretty print the CSS represented as a string in raw
calibre.ebooks.oeb.polish.pretty.pretty_xml(container,name, raw)
Pretty printtheXML representedas a string in raw. Ifname is thename ofthe OPF,extra OPF-specific prettying
is performed.
calibre.ebooks.oeb.polish.pretty.pretty_all(container)
Pretty print all HTML/CSS/XML files in the container
Managing book jackets
calibre.ebooks.oeb.polish.jacket.remove_jacket(container)
Remove an existing jacket, if any. Returns False if no existing jacket was found.
calibre.ebooks.oeb.polish.jacket.add_or_replace_jacket(container)
Either create a new jacket from the book’s metadata or replace an existing jacket. Returns True if an existing
jacket was replaced.
Splittingand merging of files
calibre.ebooks.oeb.polish.split.split(container, name, loc_or_xpath, before=True, to-
tals=None)
Split the file specified by name at the position specified by loc_or_xpath. Splitting automatically migrates all
links and references to the affected files.
Parameters
1.12. Setting up a calibre development environment
289
VB.NET PDF File Split Library: Split, seperate PDF into multiple
Add necessary references: RasterEdge.Imaging.Basic.dll. RasterEdge.Imaging.Basic. Codec.dll. Split PDF File by Top Level Bookmarks Demo Code in VB.NET.
creating bookmarks pdf; copy bookmarks from one pdf to another
C# PDF File Split Library: Split, seperate PDF into multiple files
In order to run the sample code, the following steps would be necessary. Add necessary references: Split PDF file by top level bookmarks.
bookmark pdf reader; pdf export bookmarks
calibre User Manual, Release 2.56.0
• loc_or_xpath –Should be an XPath expression such as //h:div[@id=”split_here”]. Can
also be a loc which is used internally to implement splitting in the preview panel.
• before – If True the split occurs before the identified element otherwise after it.
• totals – Used internally
calibre.ebooks.oeb.polish.split.multisplit(container,name, xpath, before=True)
Split the specified file at multiple locations (all tags that match the specified XPath expression. See also:
split()(page289).Splittingautomaticallymigratesalllinksandreferencestotheaffectedfiles.
Parameters before – If True the splits occur before the identified element otherwise after it.
calibre.ebooks.oeb.polish.split.merge(container,category, names, master)
Merge the specified files into a single file, automatically migrating all links and references to the affected files.
The file must all either be HTML or CSS files.
Parameters
• category – Must be either ’text’ for HTML files or ’styles’ for CSS files
• names – The list of files to be merged
• master – Which ofthe merged files is the master file,that is, the file that willremainafter
merging.
Managing covers
calibre.ebooks.oeb.polish.cover.set_cover(container, cover_path, report=None, op-
tions=None)
Set the coverof the book to the image pointedto by cover_path.
Parameters
• cover_path –Either the absolute path toan image file orthe canonical name of animage
in the book. When using an image in the book,you must also set options,see below.
• report – An optional callable that takes a single argument. It will be called with informa-
tion about the tasks being processed.
• options – None or a dictionary that controls how the cover is set. The dictionary can
haveentries: keep_aspect: True orFalse (Preserve aspectratio of covers in EPUB)no_svg:
True or False (Use an SVG cover wrapper in the EPUB titlepage) existing: True or False
(cover_path refers to an existing image in the book)
calibre.ebooks.oeb.polish.cover.mark_as_cover(container,name)
Mark the specified image as the cover image.
calibre.ebooks.oeb.polish.cover.mark_as_titlepage(container,
name,
move_to_start=True)
Mark the specified HTML file as the titlepage of the EPUB.
Parameters move_to_start –If True the HTML file is moved to the start ofthe spine
Workingwith CSS
calibre.ebooks.oeb.polish.fonts.change_font(container,old_name,new_name=None)
Change a font family from old_name to new_name. Changes all occurrences of the font family in stylesheets,
style tags and style attributes. If the old_name refers to an embeddedfont,it is removed. Youcan set new_name
to None to remove the font family insteadof changing it.
290
Chapter 1. Sections
.NET PDF SDK - Description of All PDF Processing Control Feastures
page navigation, zooming & rotation; Outlines, bookmarks, & thumbnail Insert and add text to any page of PDF Delete and remove text from PDF file using accurate
create bookmarks pdf file; how to create bookmark in pdf automatically
C# Create PDF Library SDK to convert PDF from other file formats
editable PDF with a blank page, bookmarks, links, signatures metadata adding control, you can add some additional information to generated PDF file.
bookmark pdf documents; how to add bookmarks on pdf
calibre User Manual, Release 2.56.0
calibre.ebooks.oeb.polish.css.remove_unused_css(container,
report=None,
re-
move_unused_classes=False)
Remove allunused CSS rules fromthe book. An unused CSSrule is one that does notmatch any actual content.
Parameters
• report – An optional callable that takes a single argument. It is called with information
about the operations being performed.
• remove_unused_classes – If True, class attributes in the HTML that do not match
any CSS rules are also removed.
calibre.ebooks.oeb.polish.css.filter_css(container,properties, names=())
Remove the specified CSSproperties from all CSS rules in the book.
Parameters
• properties – Set of properties to remove. For example: {’font-family’,
’color’}.
• names – The files from which to remove the properties. Defaults to all HTML and CSS
files in the book.
Workingwith the Table of Contents
calibre.ebooks.oeb.polish.toc.from_xpaths(container,xpaths)
Generate a Table of Contents froma list of XPath expressions. Each expression in the list corresponds to a level
ofthe generate ToC. For example: [’//h:h1’, ’//h:h2’, ’//h:h3’] will generate a three level table
of contents fromthe <h1>,<h2> and <h3> tags.
calibre.ebooks.oeb.polish.toc.from_links(container)
Generate a Table of Contents fromlinks in the book.
calibre.ebooks.oeb.polish.toc.from_files(container)
Generate a Table of Contents fromfiles in the book.
calibre.ebooks.oeb.polish.toc.create_inline_toc(container, title=None)
Create an inline (HTML)Table ofContents from an existing NCXtable of contents.
Parameters title – The title forthis table of contents.
Edit Book Tool
class calibre.gui2.tweak_book.plugin.Tool
Bases: object The base class forindividual tools in an Edit Book plugin. Useful members include:
•self.plugin: A reference to thecalibre.customize.Plugin (page 192) object to which this
tool belongs.
•self.boss (page 292)
•self.gui (page 292)
Methods that must be overridden in sub classes:
create_action() (page 292)
register_shortcut() (page 292)
name = None
Set this to a unique name it will be used as a key
1.12. Setting up a calibre development environment
291
C# PDF Convert to HTML SDK: Convert PDF to html files in C#.net
converter toolkit SDK, preserves all the original anchors, links, bookmarks and font to Use C#.NET Demo Code to Convert PDF Document to Add necessary references
adding bookmarks to pdf; bookmarks pdf reader
XDoc.Word for .NET, Advanced .NET Word Processing Features
page navigation, zooming & rotation; Outlines, bookmarks, & thumbnail Convert Word to PDF; Convert Word to HTML5; Convert Add and insert a blank page or multiple
create pdf bookmarks from word; bookmarks pdf documents
calibre User Manual, Release 2.56.0
allowed_in_toolbar = True
If True the user can choose to place this tool in the plugins toolbar
allowed_in_menu = True
If True the user can choose to place this tool in the plugins menu
toolbar_button_popup_mode = u’delayed’
The popup mode for the menu (if any) of the toolbar button. Possible values are ‘delayed’, ‘instant’,
‘button’
boss
Thecalibre.gui2.tweak_book.boss.Boss (page 293) object. Used to control the user inter-
face.
gui
The main window ofthe userinterface
current_container
Return the currentcalibre.ebooks.oeb.polish.container.Container (page 285) object
that represents the book being edited.
register_shortcut(qaction, unique_name, default_keys=(), short_text=None, description=None,
**extra_data)
Register a keyboard shortcutthatwill trigger the specified qaction. This keyboard shortcut will become
automatically customizable by the user in the Keyboardsection of the editor preferences.
Parameters
• qaction – A QAction object, it will be triggered when the configured key combination
is pressedby the user.
• unique_name – A unique name for this shortcut/action. It will be used internally, it
must not be shared by any other actions in this plugin.
• default_keys – A list of the default keyboard shortcuts. If not specified no default
shortcuts will be set. If the shortcuts specified here conflict with either builtin short-
cuts or shortcuts from user configuration/other plugins, they will be ignored. In that
case, users will have to configure the shortcuts manually via Preferences. For example:
default_keys=(’Ctrl+J’, ’F9’).
• short_text – An optionalshort description ofthis action. Ifnot specifiedthe textfrom
the QAction will be used.
• description – An optional longer description of this action, it will be used in the
preferences entry for this shortcut.
create_action(for_toolbar=True)
Create a QAction that will be added to either the plugins toolbar or the plugins menu depending on
for_toolbar. For example:
def create_action(self, for_toolbar=True):
ac = QAction(get_icons('myicon.png'), 'Do something')
if for_toolbar:
# We want the toolbar button to have a popup menu
menu = QMenu()
ac.setMenu(menu)
menu.addAction('Do something g else')
subaction = menu.addAction('And another')
# Register a keyboard shortcut for this toolbar action be
# careful to do this for only one of the toolbar action or
# the menu action, not both.
292
Chapter 1. Sections
calibre User Manual, Release 2.56.0
self.register_shortcut(ac, 'some-unique-name', default_keys=('Ctrl+K',))
return ac
See also:
Methodregister_shortcut() (page 292).
Controlling the editor’s user interface
The ebook editor’s user interface is controlled by a single global Boss object. This has many useful methods that can
be used in plugin code to perform common tasks.
class calibre.gui2.tweak_book.boss.Boss(parent, notify=None)
add_savepoint(msg)
Create a restore checkpoint with the name specified as msg
apply_container_update_to_gui(mark_as_modified=True)
Update all the components of the user interface toreflect the latest data in the current book container.
Parameters mark_as_modified – If True,the book will be marked as modified, so the user
will be prompted to save it when quitting.
close_editor(name)
Close the editor that is editing the file specified by name
commit_all_editors_to_container()
Commit any changes that the user has made to files open in editors to the container. You should call this
method before performing any actions on the current container
currently_editing
Return the name of the file being edited currently or None if no file is being edited
edit_file(name,syntax=None, use_template=None)
Open the file specified by name in an editor
Parameters
• syntax – The media type of the file, for example, ’text/html’. If not specified it is
guessed from the file extension.
• use_template – A template to initialize the opened editor with
open_book(path=None,edit_file=None, clear_notify_data=True, open_folder=False)
Open the ebook at path for editing. Will show an error if the ebook is not in a supported format or the
current book has unsaved changes.
Parameters edit_file – The name of a file inside the newly opened book to start editing.
Can also be a list ofnames.
rewind_savepoint()
Undo the previous creation of a restore checkpoint, useful if you create a checkpoint,then abort the oper-
ation with no changes
save_book()
Save the book. Saving is performed in the background
set_modified()
Mark the book as having been modified
1.12. Setting up a calibre development environment
293
calibre User Manual, Release 2.56.0
show_current_diff(allow_revert=True, to_container=None)
Show the changes to the book from its last checkpointed state
Parameters
• allow_revert – If True the diffdialog will have a button to allow the user to revert all
changes
• to_container – A container object to compare the current container to. If None, the
previously checkpointed container is used
show_editor(name)
Show the editor that is editing the file specified by name
sync_preview_to_editor()
Sync the position ofthe preview panel to the current cursor position in the current editor
1.13 Glossary
RSS RSS (Really Simple Syndication) is a web feed format that is used to publish frequently updated content, like
news articles, blogposts, etc. Itis a formatthat is particularly suitedto being read by computers,andis therefore
the preferred way of getting content from the web into an ebook. There are many other feed formats in use on
the Internet, and calibre understands most of them. In particular, it has good support for the ATOM format,
which is commonly used for blogs.
recipe A recipe is a set of instructions that teach calibre how to convert an online news source, such as a magazine
or a blog, into an ebook. A recipe is essentiallyPython
115
code. As such, it is capable of converting arbitrarily
complex news sources into ebooks. At the simplest level, it is just a set of variables, such as URLs, that give
calibre enough information to go out onto the Internet and download the news.
HTML HTML (Hyper Text Mark-UpLanguage),a subsetofStandard Generalized Mark-UpLanguage (SGML) for
electronic publishing, is the specific standard used for the World Wide Web.
CSS CSS(Cascading StyleSheets)is alanguage usedtodescribe howanHTMLdocumentshould be rendered(visual
styling).
API API (Application Programming Interface) is a source code interface that a library provides to support requests
for services to be made of it by computer programs.
LRF LRF The ebook format that is read by the SONY ebook readers.
URL URL (Uniform Resource Locator) for example: http://example.com
regexp Regular expressions provide a concise and flexible means for identifying strings of text of interest, such as
particularcharacters,words,or patterns of characters. Seeregexpsyntax
116
forthesyntax ofregularexpressions
used in Python.
115
https://www.python.org
116
https://docs.python.org/2.7/library/re.html
294
Chapter 1. Sections
Python Module Index
c
calibre.customize,192
calibre.customize.conversion,199
calibre.db.cache,279
calibre.devices.interface,201
calibre.ebooks.metadata.book.base,153
calibre.ebooks.metadata.sources.base,
196
calibre.ebooks.oeb.polish.container,285
calibre.ebooks.oeb.polish.cover,290
calibre.ebooks.oeb.polish.css,290
calibre.ebooks.oeb.polish.jacket,289
calibre.ebooks.oeb.polish.pretty,289
calibre.ebooks.oeb.polish.replace,288
calibre.ebooks.oeb.polish.split,289
calibre.ebooks.oeb.polish.toc,291
calibre.gui2.tweak_book.boss,293
calibre.gui2.tweak_book.plugin.Tool,291
calibre.utils.formatter_functions,144
calibre.web.feeds.news,42
295
calibre User Manual, Release 2.56.0
296
Python Module Index
Documents you may be interested
Documents you may be interested