Next:
Preface
Contents
Index
MuPDF Explored
Robin Watts
Preface
Acknowledgements
Contents
Introduction
What is MuPDF?
License
Dependencies
About this book
The MuPDF C API
Quick Start
How to open a document and render some pages
Naming Conventions
Prefixes
Naming
Types
The Context
Overview
Creation
Custom Allocators
Multi-threading
Cloning
Destruction
Tuning
Summary
Error handling
Overview
Why is
fz_var
necessary?
Example: How to protect local variables with
fz_var
Throwing exceptions
Handling exceptions
Summary
Memory Management and The Store
Overview
Creating the Store
Reacting to Out of Memory events
Implementation
The Document interface
Overview
Opening/Closing a document
Handling password protected documents
Handling reflowable documents
Getting Pages from a document
Anatomy of a Page
Color Considerations
Rendering Pages
Presentations
Querying
Helper functions
The Device interface
Overview
Device Methods
Cookie
Detecting errors
Using the cookie with threads
Using the cookie to control partial rendering
Device Hints
Inbuilt Devices
BBox Device
Draw Device
Display List Device
PDF Output Device
Structured Text Device
SVG Output Device
Test Device
Trace Device
Building Blocks
Overview
Colorspaces
Basic Colorspaces
Indexed Colorspaces
Separation and DeviceN Colorspaces
Further information
Pixmaps
Overview
Premultiplied alpha
Saving
Bitmaps
Halftones
Images
Buffers
Transforms
Paths
Text
Shadings
Display Lists
Overview
Creation
Playback
Reference counting
Miscellaneous operations
The Stream interface
Overview
Creation
Usage
Reading bytes
Reading objects
Reading bits
Reading whole streams
Seeking
Meta data
Destruction
The Output interface
Overview
Creation
Usage
Writing bytes
Writing objects
Writing strings
Seeking
Rendered Output Formats
Overview
Band Writers
PNM
PAM
PBM
PKM
PNG
PSD
PWG/CUPS
Contone
Mono
TGA
PCL
Color
Mono
Postscript
The Document Writer interface
Usage
Implementation
Progressive Mode
Overview
Implementation
Progressive Streams
Rough renderings
Directed downloads
Example implementation
Fonts
Overview
Inbuilt Fonts
Implementation
Build configuration
Overview
Configuration file
Plotter selection
Document handlers
JPEG 2000 support
Javascript
Fonts
MuPDF Internals
The Image interface
Overview
Standard Image Types
Compressed
Decoded
Display List
Creating Images
Implementing an Image Type
Image Caching
The Document Handler interface
Overview
Implementing a Document Handler
Recognize and Open
Document Level Functions
Page Level Functions
Standard Document Handlers
PDF
XPS
EPUB
HTML
SVG
Image
CBZ
Store Internals
Overview
Implementation
Reference Counting
Scavenging memory allocator
Using the Store
Overview
Handling keys
Hashing
Key storable items
Reap passes
Device Internals
Line Art
Text
Images
Shadings
Clipping and Masking
Groups and Transparency
Tiling
Render Flags
Device Color Spaces
Layers
Path Internals
Creation
Reference counting
Storage
Transformation
Bounding
Stroking
Walking
Image Internals
Compressed Images
Pixmap Images
Text Internals
Creation
Population
Measurement
Cloning
Language
Implementation
Shading Internals
Creation
Bounding
Painting
Decomposition
Stream Internals
Output Internals
Colorspace Internals
Non ICC-based Colorspaces
ICC-based colorspaces
Calibrated Colorspaces
Color Management
Overview
The MuPDF Interpreters
PDF Interpreter Details
Overview
PDF Document
PDF Objects
Arrays
PDF Operator Processors
Run processor
Filter processor
Buffer processor
Output processor
Copying objects between PDF documents
The problem
Grafting objects
A further problem
Graft maps
XPS Interpreter Details
Overview
EPub/HTML Interpreter Details
CSS rules
Shaped text
Bidirectional text
SVG Interpreter Details
Tools, Libraries, and Helper Routines
MuTool
Overview
Clean
Convert
Create
Draw
Extract
Info
Merge
Pages
Portfolio
Poster
Run
Show
MuOfficeLib
Transitions
MuThreads
Platform specifics and Language Bindings
Platform specifics
Overview
C API
C++ API
Python
Java
Javascript
How to contribute to MuPDF
Licensing
GNU AGPL
Artifex Commercial License
Copyright Assignment
Coding Style
Index
About this document ...