pdf viewer c# open source : Add bookmarks to pdf online SDK control project winforms azure web page UWP calibre19-part877

calibre User Manual, Release 2.56.0
• Genres - individual genres presented in a list, sorted by Authorand Series.
• Recently Added -all books,sorted in reverse chronological order. List includes books added in the last 30 days,
then a month-by-month listing of added books.
• Descriptions - detailed description page for each book, including a cover thumbnail and comments. Sorted by
author,with non-series books listed before series books.
Prefixes
Prefix rules allow you to add a prefix to book listings when certain criteria are met. For example, you might want to
mark books you’ve read with a checkmark,or books on your wishlist with an X.
The checkbox in the first column enables the rule. Name is a rule name that you provide. Field is either Tags or a
custom column from your library. Value is the content of Field to match. When a prefix rule is satisfied, the book will
be marked with the selectedPrefix.
Three prefix rules have been specified in the example above:
1. Read book specifies that a book with any date in a custom column named Last read will be prefixed with a
checkmark symbol.
2. Wishlist item specifies that any book with a Wishlist tag will be prefixed with an X symbol.
3. Library books specifies that any book with a value of True (or Yes) in a custom column Available in Library
will be prefixed with a double arrow symbol.
The first matching rule supplies the prefix. Disabled orincomplete rules are ignored.
Excluded books
Exclusion rules allow you to specify books that will not be cataloged.
1.9. Tutorials
187
Add bookmarks to pdf online - 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
bookmarks pdf; add bookmarks to pdf online
Add bookmarks to pdf online - 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
export pdf bookmarks to excel; export pdf bookmarks
calibre User Manual, Release 2.56.0
The checkbox in the first column enables the rule. Name is a rule name that you provide. Field is either Tags or a
custom column in your library. Value is the content of Field to match. When an exclusion rule is satisfied, the book
will be excluded from the generated catalog.
Twoexclusion rules have been specified in the example above:
1. The Catalogs rule specifies that any book with a Catalog tag will be excludedfrom the generated catalog.
2. The Archived Books rule specifies that any book with a value of Archived in the custom column Status will be
excluded fromthe generated catalog.
All rules are evaluated forevery book. Disabled or incomplete rules are ignored.
Excluded genres
When the catalogis generated,tags inyour databaseare used as genres. For example, you may usethe tags Fiction
andNonfiction. These tags become genres in the generated catalog, withbooks listed under their respective genre
lists based on their assigned tags. A book will be listed in every genre section for which it has a corresponding tag.
Youmay be using certain tags forotherpurposes, perhaps a+ to indicate areadbook,or abracketed tag like[Amazon
Freebie] to indicate a book’s source. The Excluded genres regex allows you to specify tags that you don’t want
usedas genres in the generated catalog. The default exclusion regex pattern \[.+\]\+ excludes anytags of the form
[tag],as well as excluding +, the default tag for read books, frombeing used as genres in the generated catalog.
You can also use an exact tag name in a regex. Forexample, [Amazon Freebie] or [Project Gutenberg].
If you want to list multiple exact tags for exclusion, put a pipe (vertical bar) character between them: [Amazon
Freebie]|[Project Gutenberg].
Results of regex shows you which tags will be excluded when the catalog is built, based on the tags in your database
and the regexpattern you enter. The results are updated as you modify the regex pattern.
Other options
Catalog cover specifies whether to generate a new cover or use an existing cover. It is possible to create a custom
cover for your catalogs - seeCustomcatalogcovers(page 189) for more information. If you have created a custom
coverthat you want to reuse,select Use existing cover. Otherwise,select Generate new cover.
188
Chapter 1. Sections
VB.NET PDF File Split Library: Split, seperate PDF into multiple
This online VB tutorial aims to illustrate the process of PDF document Add necessary references split a PDF file into multiple ones by PDF bookmarks or outlines
add bookmarks to pdf reader; how to add bookmarks to pdf files
C# PDF File Split Library: Split, seperate PDF into multiple files
Free download library and use online C# class source codes in .NET Add necessary references: to split a PDF file into multiple ones by PDF bookmarks or outlines
bookmarks pdf files; creating bookmarks pdf
calibre User Manual, Release 2.56.0
ExtraDescription note specifies a customcolumn’s contents to be inserted into the Description page,next to the cover
thumbnail. For example, you might want to display the date you last read a book using a Last Read custom column.
For advanced use of the Description note feature, seethispostinthecalibreforum
90
.
Thumb width specifies a width preference for cover thumbnails included with Descriptions pages. Thumbnails are
cached to improve performance.To experiment with different widths, try generating a catalog with just a few books
until you’ve determined your preferred width, then generate your full catalog. The first time a catalog is generated
with a new thumbnail width, performance will be slower, but subsequent builds of the catalog will take advantage of
the thumbnail cache.
Merge with Comments specifies a customcolumn whose content will benon-destructively merged with theComments
metadata during catalog generation. For example, you might have a custom column Author Bio that you’d like to
appendtotheCommentsmetadata. You canchoose to insert the customcolumn contents before or after theComments
section, and optionally separate the appended content with a horizontal rule separator. Eligible custom column types
include text, comments, and composite.
Custom catalog covers
With theGenerateCoverplugin91 installed, you can create cus-
tom covers foryour catalog. To install the plugin, go to Preferences > Advanced > Plugins > Get new plugins.
Additional help resources
For more information on calibre’s Catalog feature, see the MobileRead forumstickyCreatingCatalogs-Starthere
92
,
where you can find information on how to customize the catalog templates, and how to submit a bug report.
To ask questions or discuss calibre’s Catalog feature with other users, visit the MobileRead forumCalibreCatalogs
93
.
90
http://www.mobileread.com/forums/showpost.php?p=1335767&postcount=395
91
http://www.mobileread.com/forums/showthread.php?t=124219
92
http://www.mobileread.com/forums/showthread.php?t=118556
93
http://www.mobileread.com/forums/forumdisplay.php?f=236
1.9. Tutorials
189
VB.NET PDF File Compress Library: Compress reduce PDF size in vb.
document file. Remove bookmarks, annotations, watermark, page labels and article threads from PDF while compressing. Also a preview
bookmark pdf documents; split pdf by 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.
adding bookmarks to pdf document; how to add bookmarks to pdf document
calibre User Manual, Release 2.56.0
1.9.9 Virtual Libraries
In calibre, a virtual library is a way to tell calibre to open only a subset of a normal library. For example, you might
want to only work with books by a certain author, or books having only a certain tag. Using virtual libraries is the
preferred way of partitioning yourlarge book collectioninto smaller subcollections. It is superior to splitting up your
library into multiple smaller libraries as, when you want to search through your entire collection, you can simply go
back to the full library. There is no way to search through multiple separate libraries simultaneously in calibre.
Avirtual library is different from a simple search. A search will only restrict the list of books shown in the book list.
Avirtual library does that, and in addition it also restricts the entries shown in the Tag Browser to the left. The Tag
Browser will only show tags, authors, series,publishers, etc. that come from the books in the virtual library. A virtual
library thus behaves as though the actual library contains only the restricted set of books.
Creating Virtual Libraries
Touse a virtuallibraryclicktheVirtual Library button located totheleft ofthe search
barandselect the Create Virtual Library option. As a first example,let’s create a virtual library that shows us only the
books by a particular author. Click the Authors link as shown in the image below and choose the author you want to
use and click OK.
The Create Virtual Library dialog has been filled in for you. Click OK and youwill see that a new Virtual Library has
been created, and automatically switched to, that displays only the books by the selected author. As far as calibre is
concerned,it is as if your library contains only the books by the selected author.
You can switch back to the full library at any time by once again clicking the Virtual Library and selecting the entry
named <None>.
Virtual Libraries are basedon searches. You can use anysearchas thebasis ofa virtual library. The virtual librarywill
contain only the books matched by that search. First, type in the search you want to use in the search bar or build a
search using the Tag Browser. When you are happy with the returned results, click the Virtual Library button, choose
Create Library and entera name forthe newvirtual library. The virtuallibrary will thenbe createdbased on the search
you just typed in. Searches are very powerful, for examples of the kinds of things you can do with them, seeThe
Search Interface(page11).
190
Chapter 1. Sections
.NET PDF SDK - Description of All PDF Processing Control Feastures
Full page navigation, zooming & rotation; Outlines, bookmarks, & thumbnail display; PDF Text Write & Extract. Insert and add text to any page of PDF document with
create bookmarks in pdf from excel; creating bookmarks in pdf documents
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
how to bookmark a pdf document; create pdf bookmarks
calibre User Manual, Release 2.56.0
Examples of usefulVirtual Libraries
• Books addedto calibre inthe lastday:: date:>1daysago
• Books addedto calibre inthe lastmonth:: date:>30daysago
• Books with a rating of 5 stars:: rating:5
• Books with a rating of atleast 4stars:: rating:>=4
• Books with no rating:: rating:false
• Periodicals downloaded by the Fetch News function incalibre:: tags:=News and author:=calibre
• Books with no tags:: tags:false
• Books with no covers:: cover:false
Working with Virtual Libraries
You can edit a previously created virtual library or remove it, by clicking the Virtual Library and choosing the appro-
priate action.
You can tell calibre that you always want to apply a particular virtual library when the current library is opened, by
going to Preferences->Behavior.
If you use the calibre Content Server, you can have it share a virtual library instead of the full library by going to
Preferences->Sharing over the net.
You can quickly use the current search as a temporary virtual library by clicking the Virtual Library button and
choosing the *current search entry.
Youcandisplayallavailablevirtual libraries as tabs above the booklist. This is particularlyhandyifyoulikeswitching
between virtual libraries very often. Click the Virtual Library button and select Show virtual libraries as tabs. You
can re-arrange the tabs by drag and drop and close ones you do not want to see. Closed tabs can be restored by
right-clicking on the tab bar.
Using additional restrictions
Youcan further restrict the books shown ina Virtual Library by usingAdditional restrictions. An additional restriction
is saved search you previously created that can be applied to the current Virtual Library to further restrict the books
shown in a virtual library. For example, say you have a Virtual Library for books tagged as Historical Fiction and
asaved search that shows you unread books, you can click the Virtual Library button and choose the Additional
restriction option to show only unread Historical Fiction books. To learn about saved searches, seeSavingsearches
(page 13).
1.10 Customizing calibre
calibre has a highly modulardesign. Various parts of it can be customized. You can learn how to create recipes to add
new sources of online content to calibre in the SectionAddingyourfavoritenewswebsite(page 23). Here, you will
learn,first,how to use environment variables and tweaks tocustomize calibre’s behavior,and thenhow tospecify your
ownstatic resources like iconsandtemplates tooverride the defaults and finallyhow to use plugins toaddfunctionality
to calibre.
1.10. Customizing calibre
191
XDoc.PowerPoint for .NET, All Mature Features Introductions
navigation, zooming & rotation; Outlines, bookmarks, & thumbnail Convert PowerPoint to PDF; Convert PowerPoint to HTML5; Add a blank page or multiple pages to
edit pdf bookmarks; bookmark a pdf file
XDoc.Excel for .NET, Comprehensive .NET Excel Imaging Features
page navigation, zooming & rotation; Outlines, bookmarks, & thumbnail Convert Excel to PDF; Convert Excel to HTML5; Convert Add a blank page or multiple pages to
delete bookmarks pdf; creating bookmarks in pdf from word
calibre User Manual, Release 2.56.0
• Environmentvariables(page 215)
• Tweaks(page 216)
• Overridingicons,templates,etcetera(page 226)
• Creatingyourowniconthemeforcalibre(page 227)
• Customizingcalibrewithplugins(page 227)
1.10.1 API Documentation for plugins
Defines various abstract base classes that can be subclassed to create powerful plugins. The useful classes are:
• Plugin(page 192)
• FileTypePlugin(page 194)
• Metadataplugins(page 195)
• Catalogplugins(page 196)
• Metadatadownloadplugins(page 196)
• Conversionplugins(page 199)
• DeviceDrivers(page 201)
• UserInterfaceActions(page 210)
• PreferencesPlugins(page 213)
• Viewerplugins(page 215)
Plugin
class calibre.customize.Plugin(plugin_path)
Acalibre plugin. Useful members include:
•self.plugin_path: Stores path to the zip file thatcontains this plugin or None if it is a builtin
plugin
•self.site_customization: Stores a customization string entered by the user.
Methods that should be overridden in sub classes:
initialize() (page 193)
customization_help() (page 194)
Useful methods:
temporary_file() (page 194)
•__enter__()
load_resources() (page 193)
supported_platforms = []
List of platforms this plugin works on. For example: [’windows’, ’osx’, ’linux’]
name = ‘Trivial Plugin’
The name of this plugin. You must set it something other than Trivial Plugin forit to work.
version = (1, 0,0)
The version of this plugin as a 3-tuple (major, minor, revision)
192
Chapter 1. Sections
calibre User Manual, Release 2.56.0
description = u’Does absolutely nothing’
Ashort string describingwhat this plugin does
author = u’Unknown’
The author of this plugin
priority = 1
When more than one plugin exists for a filetype, the plugins are run in order of decreasing priority i.e.
plugins with higher priority will be run first. The highest possible priority is sys.maxint. Default
priority is 1.
minimum_calibre_version = (0,4, 118)
The earliest version of calibre this plugin requires
can_be_disabled = True
If False, the user will not be able to disable this plugin. Use with care.
type = u’Base’
The type of this plugin. Used forcategorizing plugins in the GUI
initialize()
Called once when calibre plugins are initialized. Plugins are re-initialized every time a new plugin is
added. Also note that if the plugin is run in a worker process, such as for adding books, then the plugin
will be initialized for every new worker process.
Perform any plugin specific initialization here, such as extracting resources from the plugin zip file. The
path to the zip file is available as self.plugin_path.
Note that self.site_customization is notavailable at this point.
config_widget()
Implement this method andsave_settings() (page 193)inyourplugintouse a customconfiguration
dialog,rather then relying on the simple string based default customization.
This method, if implemented, must return a QWidget. The widget can have an optional method validate()
thattakes noarguments andis called immediatelyaftertheuserclicks OK. Changes areappliedifandonly
if the method returns True.
Ifforsomereason youcannot performthe configuration atthis time,return atuple oftwostrings (message,
details),these will be displayed as a warning dialog to the userand the process will be aborted.
save_settings(config_widget)
Save the settings specified by the user with config_widget.
Parameters config_widget – The widget returned byconfig_widget() (page 193).
do_user_config(parent=None)
This method shows a configuration dialog for this plugin. It returns True if the user clicks OK, False
otherwise. The changes are automatically applied.
load_resources(names)
If this plugin comes in a ZIP file (user added plugin), this method will allow you to load resources from
the ZIPfile.
For example to load an image:
pixmap = QPixmap()
pixmap.loadFromData(self.load_resources(['images/icon.png']).itervalues().next())
icon = QIcon(pixmap)
Parameters names – List of paths to resources in the zip file using / as separator
1.10. Customizing calibre
193
calibre User Manual, Release 2.56.0
Returns A dictionary of the form {name:
file_contents}. Any names that were not
found in the zip file will not be present in the dictionary.
customization_help(gui=False)
Return a string giving help on how to customize this plugin.
By default raise a
NotImplementedError, which indicates that the plugin does not require customization.
If you re-implement this method in your subclass, the user will be asked toentera string as customization
for this plugin. The customization string will be available as self.site_customization.
Site customization could be anything, for example,the path to a needed binary on the user’s computer.
Parameters gui – If True return HTML help,otherwise return plain text help.
temporary_file(suffix)
Return a file-like objectthat is a temporary file on the file system. This file will remain available even after
being closed and will only be removed on interpreter shutdown. Use the name member of the returned
object to access the full path to the created temporary file.
Parameters suffix – The suffix that the temporaryfile will have.
cli_main(args)
This method is the main entry point for your plugins command line interface. It is called when the user
does: calibre-debug -r “Plugin Name”. Any arguments passed are present in the args variable.
FileTypePlugin
class calibre.customize.FileTypePlugin(plugin_path)
Bases:calibre.customize.Plugin (page 192)
Aplugin that is associated with a particular set of file types.
file_types = set([])
Set of file types for which this plugin should be run. Forexample: {’lit’, ’mobi’, ’prc’}
on_import = False
If True, this plugin is run when books are added to the database
on_postimport = False
If True, this plugin is run after books are added to the database. In this case the postimport and postadd
methods of the plugin are called.
on_preprocess = False
If True, this plugin is run just before a conversion
on_postprocess = False
If True, this plugin is run after conversion on the final file produced by the conversion output plugin.
run(path_to_ebook)
Runtheplugin. Mustbe implemented in subclasses. Itshouldperformwhatevermodifications are required
on the ebook and return the absolute path to the modified ebook. If no modifications are needed, it should
return the path to the original ebook. If an error is encountered it should raise an Exception. The default
implementation simply return the path to the original ebook.
The modified ebook file should be created with the temporary_file() method.
Parameters path_to_ebook – Absolute path to the ebook.
Returns Absolute path to the modified ebook.
194
Chapter 1. Sections
calibre User Manual, Release 2.56.0
postimport(book_id,book_format, db)
Called post import,i.e., after the book file has been added to the database. Note that this is different from
postadd()(page195)whichiscalledwhenthebookrecordiscreatedforthefirsttime.Thismethodis
called whenever a new file is added to a book record. It is useful for modifying the book record based on
the contents of the newly added file.
Parameters
• book_id – Database id ofthe added book.
• book_format – The file type of the book that was added.
• db – Library database.
postadd(book_id,fmt_map, db)
Called postadd,i.e. afterabookhasbeenaddedtothedb. Notethatthis is differentfrompostimport()
(page 194), whichis called aftera single book file has been addedto a book. postadd() is called onlywhen
an entire book record with possibly more than one book file has been created for the first time. This is
useful if you wish to modify the book record in the database when the book is first added to calibre.
Parameters
• book_id – Database id ofthe added book.
• fmt_map – Map of file format to path from which the file format was added. Note that
this might or might not point to an actual existing file, as sometimes files are added as
streams. In which case it might be a dummy value or an on-existent path.
• db – Library database
Metadata plugins
class calibre.customize.MetadataReaderPlugin(*args, **kwargs)
Bases:calibre.customize.Plugin (page 192)
Aplugin that implements reading metadata from a set of file types.
file_types = set([])
Setoffiletypes for whichthis pluginshould berun Forexample: set([’lit’, ’mobi’, ’prc’])
get_metadata(stream, type)
Returnmetadata for the filerepresented by stream(a file like object that supports reading). Raisean excep-
tion when there is an error with the input data. :param type: The type of file. Guaranteed to be one of the
entries infile_types (page 195). :return: A calibre.ebooks.metadata.book.Metadata
object
class calibre.customize.MetadataWriterPlugin(*args, **kwargs)
Bases:calibre.customize.Plugin (page 192)
Aplugin that implements reading metadata from a set of file types.
file_types = set([])
Setoffiletypes for whichthis pluginshould berun Forexample: set([’lit’, ’mobi’, ’prc’])
set_metadata(stream, mi, type)
Setmetadata for the file representedby stream(a file like object that supports reading). Raise an exception
whenthereis anerrorwiththeinputdata. :param type: Thetype offile. Guaranteedtobe one of the entries
infile_types (page 195). :parammi: Acalibre.ebooks.metadata.book.Metadata object
1.10. Customizing calibre
195
calibre User Manual, Release 2.56.0
Catalog plugins
class calibre.customize.CatalogPlugin(plugin_path)
Bases:calibre.customize.Plugin (page 192)
Aplugin that implements a catalog generator.
file_types = set([])
Output file type for which this plugin should be run For example: ‘epub’or ‘xml’
cli_options = []
CLI parser options specific to this plugin, declared as namedtuple Option:
from collections import namedtuple
Option = namedtuple('Option''option, default, , dest, help')
cli_options = [Option('--catalog-title',
default 'My Catalog',
dest 'catalog_title',
help = (_('Title of f generated d catalog. . \nDefault:'" '" +
'%default' + "'"))]
cli_options parsed in library.cli:catalog_option_parser()
initialize()
If plugin is not a built-in, copy the plugin’s .ui and .py files from the zip file to $TMPDIR. Tab will be
dynamically generated andaddedto the Catalog Options dialog in calibre.gui2.dialogs.catalog.py:Catalog
run(path_to_output, opts, db, ids, notification=None)
Run the plugin. Must be implemented in subclasses. It should generate the catalog in the format specified
in file_types, returning the absolute path to the generated catalog file. If an error is encountered it should
raise an Exception.
The generated catalog file should be created with the temporary_file() method.
Parameters
• path_to_output – Absolute pathto the generated catalog file.
• opts – A dictionary of keyword arguments
• db – A LibraryDatabase2 object
Metadata download plugins
class calibre.ebooks.metadata.sources.base.Source(*args, **kwargs)
Bases:calibre.customize.Plugin (page 192)
capabilities = frozenset([])
Set of capabilities supported by this plugin. Useful capabilities are: ‘identify’, ‘cover’
touched_fields = frozenset([])
List of metadata fields that can potentially be download by this plugin during the identify phase
has_html_comments = False
Set this to True ifyour plugin returns HTML formatted comments
supports_gzip_transfer_encoding =False
Setting this to True means that the browser object will add Accept-Encoding: gzipto all requests. This can
speedup downloads but make sure that the source actually supports gzip transfer encoding correctly first
196
Chapter 1. Sections
Documents you may be interested
Documents you may be interested