Documentation ¶
Overview ¶
Package pdfcpu is a PDF processing library written in Go supporting encryption. It provides an API and a command line interface. Supported are all versions up to PDF 1.7 (ISO-32000).
The commands are:
annotations list, remove page annotations attachments list, add, remove, extract embedded file attachments booklet arrange pages onto larger sheets of paper to make a booklet or zine bookmarks list, import, export, remove bookmarks boxes list, add, remove page boundaries for selected pages changeopw change owner password changeupw change user password collect create custom sequence of selected pages config print configuration create create PDF content including forms via JSON crop set cropbox for selected pages cut custom cut pages horizontally or vertically decrypt remove password protection encrypt set password protection extract extract images, fonts, content, pages or metadata fonts install, list supported fonts, create cheat sheets form list, remove fields, lock, unlock, reset, export, fill form via JSON or CSV grid rearrange pages or images for enhanced browsing experience images list images for selected pages import import/convert images to PDF info print file info keywords list, add, remove keywords merge concatenate PDFs ndown cut selected pages into n pages symmetrically nup rearrange pages or images for reduced number of pages optimize optimize PDF by getting rid of redundant page resources pagelayout list, set, reset page layout for opened document pagemode list, set, reset page mode for opened document pages insert, remove selected pages paper print list of supported paper sizes permissions list, set user access permissions portfolio list, add, remove, extract portfolio entries with optional description poster cut selected pages into poster by paper size or dimensions properties list, add, remove document properties resize scale selected pages rotate rotate selected pages selectedpages print definition of the -pages flag split split up a PDF by span or bookmark stamp add, remove, update Unicode text, image or PDF stamps for selected pages trim create trimmed version of selected pages validate validate PDF against PDF 32000-1:2008 (PDF 1.7) + basic PDF 2.0 validation version print version viewpref list, set, reset viewer preferences for opened document watermark add, remove, update Unicode text, image or PDF watermarks for selected pages zoom zoom in/out of selected pages by magnification factor or corresponding margin
Index ¶
- Constants
- Variables
- func AddAnnotation(ctx *model.Context, pageDictIndRef *types.IndirectRef, pageDict types.Dict, ...) (bool, error)
- func AddAnnotations(ctx *model.Context, selectedPages types.IntSet, ar model.AnnotationRenderer, ...) (bool, error)
- func AddAnnotationsMap(ctx *model.Context, m map[int][]model.AnnotationRenderer, incr bool) (bool, error)
- func AddBookmarks(ctx *model.Context, bms []Bookmark, replace bool) error
- func AddPageTreeWithSamplePage(xRefTable *model.XRefTable, rootDict types.Dict, p model.Page) error
- func AddPages(ctxSrc, ctxDest *model.Context, pageNrs []int, usePgCache bool) error
- func AddWatermarks(ctx *model.Context, selectedPages types.IntSet, wm *model.Watermark) error
- func AddWatermarksMap(ctx *model.Context, m map[int]*model.Watermark) error
- func AddWatermarksSliceMap(ctx *model.Context, m map[int][]*model.Watermark) error
- func Annotation(xRefTable *model.XRefTable, d types.Dict) (model.AnnotationRenderer, error)
- func AnnotationsForSelectedPages(ctx *model.Context, selectedPages types.IntSet) map[int]model.PgAnnots
- func AppendStatsFile(ctx *model.Context) error
- func BookletFromImages(ctx *model.Context, fileNames []string, nup *model.NUp, pagesDict types.Dict, ...) error
- func BookletFromPDF(ctx *model.Context, selectedPages types.IntSet, nup *model.NUp) error
- func BookmarkList(ctx *model.Context) ([]string, error)
- func CacheFormFonts(ctx *model.Context) error
- func CachedAnnotationObjNrs(ctx *model.Context) ([]int, error)
- func ColorSpaceComponents(xRefTable *model.XRefTable, sd *types.StreamDict) (int, error)
- func ColorSpaceString(ctx *model.Context, sd *types.StreamDict) (string, error)
- func CreateAnnotationDemoXRef() (*model.XRefTable, error)
- func CreateContext(xRefTable *model.XRefTable, conf *model.Configuration) *model.Context
- func CreateContextWithXRefTable(conf *model.Configuration, pageDim *types.Dim) (*model.Context, error)
- func CreateDemoXRef() (*model.XRefTable, error)
- func CreateFormDemoXRef() (*model.XRefTable, error)
- func CreateResourceDictInheritanceDemoXRef() (*model.XRefTable, error)
- func CreateTestPageContent(p model.Page)
- func CreateXRefTableWithRootDict() (*model.XRefTable, error)
- func CutPage(ctxSrc *model.Context, i int, cut *model.Cut) (*model.Context, error)
- func DefaultBookletConfig() *model.NUp
- func DetectPageTreeWatermarks(ctx *model.Context) error
- func DetectWatermarks(ctx *model.Context) error
- func EnsureOutlines(ctx *model.Context, fName string, append bool) error
- func ExportBookmarksJSON(ctx *model.Context, source string, w io.Writer) (bool, error)
- func ExtractImage(ctx *model.Context, sd *types.StreamDict, thumb bool, resourceID string, ...) (*model.Image, error)
- func ExtractPageContent(ctx *model.Context, pageNr int) (io.Reader, error)
- func ExtractPageImages(ctx *model.Context, pageNr int, stub bool) (map[int]model.Image, error)
- func ExtractPages(ctx *model.Context, pageNrs []int, usePgCache bool) (*model.Context, error)
- func FontObjNrs(ctx *model.Context, pageNr int) []int
- func GetBookletOrdering(pages types.IntSet, nup *model.NUp) []model.BookletPage
- func ImageBookletConfig(val int, desc string, conf *model.Configuration) (*model.NUp, error)
- func ImageGridConfig(rows, cols int, desc string, conf *model.Configuration) (*model.NUp, error)
- func ImageNUpConfig(val int, desc string, conf *model.Configuration) (*model.NUp, error)
- func ImageObjNrs(ctx *model.Context, pageNr int) []int
- func ImportBookmarks(ctx *model.Context, rd io.Reader, replace bool) (bool, error)
- func KeywordsAdd(xRefTable *model.XRefTable, keywords []string) error
- func KeywordsList(xRefTable *model.XRefTable) ([]string, error)
- func KeywordsRemove(xRefTable *model.XRefTable, keywords []string) (bool, error)
- func ListAnnotations(annots map[int]model.PgAnnots) (int, []string, error)
- func ListImages(ctx *model.Context, selectedPages types.IntSet) ([]string, error)
- func ListInfo(info *PDFInfo, selectedPages types.IntSet) ([]string, error)
- func MergeXRefTables(fName string, ctxSrc, ctxDest *model.Context, zip, dividerPage bool) (err error)
- func NDownPage(ctxSrc *model.Context, i, n int, cut *model.Cut) (*model.Context, error)
- func NUpFromMultipleImages(ctx *model.Context, fileNames []string, nup *model.NUp, pagesDict types.Dict, ...) error
- func NUpFromOneImage(ctx *model.Context, fileName string, nup *model.NUp, pagesDict types.Dict, ...) error
- func NUpFromPDF(ctx *model.Context, selectedPages types.IntSet, nup *model.NUp) error
- func NewNUpPageForImage(xRefTable *model.XRefTable, fileName string, parentIndRef *types.IndirectRef, ...) (*types.IndirectRef, error)
- func NewPageForImage(xRefTable *model.XRefTable, r io.Reader, parentIndRef *types.IndirectRef, ...) (*types.IndirectRef, error)
- func OptimizeXRefTable(ctx *model.Context) error
- func PDFBookletConfig(val int, desc string, conf *model.Configuration) (*model.NUp, error)
- func PDFGridConfig(rows, cols int, desc string, conf *model.Configuration) (*model.NUp, error)
- func PDFNUpConfig(val int, desc string, conf *model.Configuration) (*model.NUp, error)
- func PageObjFromDestination(ctx *model.Context, dest types.Object) (*types.IndirectRef, error)
- func ParseCutConfig(s string, u types.DisplayUnit) (*model.Cut, error)
- func ParseCutConfigForN(n int, s string, u types.DisplayUnit) (*model.Cut, error)
- func ParseCutConfigForPoster(s string, u types.DisplayUnit) (*model.Cut, error)
- func ParseImageWatermarkDetails(fileName, desc string, onTop bool, u types.DisplayUnit) (*model.Watermark, error)
- func ParseNUpDetails(s string, nup *model.NUp) error
- func ParseNUpGridDefinition(rows, cols int, nUp *model.NUp) error
- func ParseNUpValue(n int, nUp *model.NUp) error
- func ParseObject(ctx *model.Context, offset int64, objNr, genNr int) (types.Object, error)
- func ParseObjectWithContext(c context.Context, ctx *model.Context, offset int64, objNr, genNr int) (types.Object, error)
- func ParsePDFWatermarkDetails(fileName, desc string, onTop bool, u types.DisplayUnit) (*model.Watermark, error)
- func ParseResizeConfig(s string, u types.DisplayUnit) (*model.Resize, error)
- func ParseTextWatermarkDetails(text, desc string, onTop bool, u types.DisplayUnit) (*model.Watermark, error)
- func ParseZoomConfig(s string, u types.DisplayUnit) (*model.Zoom, error)
- func Permissions(ctx *model.Context) (list []string)
- func PermissionsList(p int) (list []string)
- func PosterPage(ctxSrc *model.Context, i int, cut *model.Cut) (*model.Context, error)
- func PropertiesAdd(ctx *model.Context, properties map[string]string) error
- func PropertiesList(ctx *model.Context) ([]string, error)
- func PropertiesRemove(ctx *model.Context, properties []string) (bool, error)
- func Read(rs io.ReadSeeker, conf *model.Configuration) (*model.Context, error)
- func ReadFile(inFile string, conf *model.Configuration) (*model.Context, error)
- func ReadFileWithContext(c context.Context, inFile string, conf *model.Configuration) (*model.Context, error)
- func ReadWithContext(c context.Context, rs io.ReadSeeker, conf *model.Configuration) (*model.Context, error)
- func RemoveAnnotations(ctx *model.Context, selectedPages types.IntSet, idsAndTypes []string, ...) (bool, error)
- func RemoveAnnotationsFromPageDict(ctx *model.Context, annotTypes []model.AnnotationType, ids []string, ...) (bool, error)
- func RemoveBookmarks(ctx *model.Context) (bool, error)
- func RemoveWatermarks(ctx *model.Context, selectedPages types.IntSet) error
- func RenderImage(xRefTable *model.XRefTable, sd *types.StreamDict, thumb bool, ...) (io.Reader, string, error)
- func Resize(ctx *model.Context, selectedPages types.IntSet, res *model.Resize) error
- func RotatePages(ctx *model.Context, selectedPages types.IntSet, rotation int) error
- func StreamLength(ctx *model.Context, sd *types.StreamDict) (int64, error)
- func Write(ctx *model.Context) (err error)
- func WriteImage(xRefTable *model.XRefTable, fileName string, sd *types.StreamDict, thumb bool, ...) (string, error)
- func WriteImageToDisk(outDir, fileName string) func(model.Image, bool, int) error
- func WriteIncrement(ctx *model.Context) error
- func WriteReader(path string, r io.Reader) error
- func Zoom(ctx *model.Context, selectedPages types.IntSet, zoom *model.Zoom) error
- type Bookmark
- type BookmarkTree
- type Font
- type Header
- type ImageListMaxLengths
- type Import
- type Metadata
- type PDFImage
- type PDFInfo
Constants ¶
const (
// ObjectStreamMaxObjects limits the number of objects within an object stream written.
ObjectStreamMaxObjects = 100
)
Variables ¶
var ( ErrWrongPassword = errors.New("pdfcpu: please provide the correct password") ErrCorruptHeader = errors.New("pdfcpu: no header version available") ErrReferenceDoesNotExist = errors.New("pdfcpu: referenced object does not exist") )
var (
ErrUnknownEncryption = errors.New("pdfcpu: unknown encryption")
)
var (
ErrUnsupported16BPC = errors.New("unsupported 16 bits per component")
)
Errors to be identified.
var (
ErrUnsupportedVersion = errors.New("pdfcpu: PDF 2.0 unsupported for this operation")
)
var (
NUpValues = []int{2, 3, 4, 6, 8, 9, 12, 16}
)
var NUpValuesForBooklets = []int{2, 4, 6, 8}
Functions ¶
func AddAnnotation ¶
func AddAnnotation( ctx *model.Context, pageDictIndRef *types.IndirectRef, pageDict types.Dict, pageNr int, ar model.AnnotationRenderer, incr bool) (bool, error)
AddAnnotation adds ar to pageDict.
func AddAnnotations ¶
func AddAnnotations(ctx *model.Context, selectedPages types.IntSet, ar model.AnnotationRenderer, incr bool) (bool, error)
AddAnnotations adds ar to selected pages.
func AddAnnotationsMap ¶
func AddAnnotationsMap(ctx *model.Context, m map[int][]model.AnnotationRenderer, incr bool) (bool, error)
AddAnnotationsMap adds annotations in m to corresponding pages.
func AddBookmarks ¶
AddBookmarks adds bms to ctx.
func AddWatermarks ¶
AddWatermarks adds watermarks to all pages selected.
func AddWatermarksMap ¶
AddWatermarksMap adds watermarks in m to corresponding pages.
func AddWatermarksSliceMap ¶
AddWatermarksSliceMap adds watermarks in m to corresponding pages.
func Annotation ¶
Annotation returns an annotation renderer. Validation sets up a cache of annotation renderers.
func AppendStatsFile ¶
AppendStatsFile appends a stats line for this xRefTable to the configured csv file name.
func BookletFromImages ¶
func BookletFromImages(ctx *model.Context, fileNames []string, nup *model.NUp, pagesDict types.Dict, pagesIndRef *types.IndirectRef) error
BookletFromImages creates a booklet version of the image sequence represented by fileNames.
func BookletFromPDF ¶
BookletFromPDF creates a booklet version of the PDF represented by xRefTable.
func CacheFormFonts ¶
func CachedAnnotationObjNrs ¶
CachedAnnotationObjNrs returns a list of object numbers representing known annotation dict indirect references.
func ColorSpaceComponents ¶
ColorSpaceComponents returns the corresponding number of used color components for sd's colorspace.
func ColorSpaceString ¶
ColorSpaceString returns a string representation for sd's colorspace.
func CreateAnnotationDemoXRef ¶
CreateAnnotationDemoXRef creates a PDF file with examples of annotations and actions.
func CreateContext ¶
CreateContext creates a Context for given cross reference table and configuration.
func CreateContextWithXRefTable ¶
func CreateContextWithXRefTable(conf *model.Configuration, pageDim *types.Dim) (*model.Context, error)
CreateContextWithXRefTable creates a Context with an xRefTable without pages for given configuration.
func CreateDemoXRef ¶
CreateDemoXRef creates a minimal single page PDF file for demo purposes.
func CreateFormDemoXRef ¶
CreateFormDemoXRef creates an xRefTable with an AcroForm example.
func CreateResourceDictInheritanceDemoXRef ¶
CreateResourceDictInheritanceDemoXRef creates a page tree for testing resource dict inheritance.
func CreateTestPageContent ¶
CreateTestPageContent draws a test grid.
func DefaultBookletConfig ¶
DefaultBookletConfig returns the default configuration for a booklet
func DetectPageTreeWatermarks ¶
DetectPageTreeWatermarks checks xRefTable's page tree for watermarks and records the result to xRefTable.Watermarked.
func DetectWatermarks ¶
DetectWatermarks checks ctx for watermarks and records the result to xRefTable.Watermarked.
func ExportBookmarksJSON ¶
func ExtractImage ¶
func ExtractImage(ctx *model.Context, sd *types.StreamDict, thumb bool, resourceID string, objNr int, stub bool) (*model.Image, error)
ExtractImage extracts an image from sd.
func ExtractPageContent ¶
ExtractPageContent extracts the consolidated page content stream for pageNr.
func ExtractPageImages ¶
ExtractPageImages extracts all images used by pageNr. Optionally return stubs only.
func ExtractPages ¶
ExtractPages extracts pageNrs into a new single page context.
func FontObjNrs ¶
FontObjNrs returns all font dict objNrs for pageNr. Requires an optimized context.
func GetBookletOrdering ¶
func ImageBookletConfig ¶
ImageBookletConfig returns an NUp configuration for booklet-ing image files.
func ImageGridConfig ¶
ImageGridConfig returns a grid configuration for Nup-ing image files.
func ImageNUpConfig ¶
ImageNUpConfig returns an NUp configuration for Nup-ing image files.
func ImageObjNrs ¶
ImageObjNrs returns all image dict objNrs for pageNr. Requires an optimized context.
func ImportBookmarks ¶
ImportBookmarks creates/replaces outlines in ctx as provided by rd.
func KeywordsAdd ¶
KeywordsAdd adds keywords to the document info dict. Returns true if at least one keyword was added.
func KeywordsList ¶
KeywordsList returns a list of keywords as recorded in the document info dict.
func KeywordsRemove ¶
KeywordsRemove deletes keywords from the document info dict. Returns true if at least one keyword was removed.
func ListAnnotations ¶
ListAnnotations returns a formatted list of annotations.
func ListImages ¶
ListImages returns a formatted list of embedded images.
func MergeXRefTables ¶
func MergeXRefTables(fName string, ctxSrc, ctxDest *model.Context, zip, dividerPage bool) (err error)
MergeXRefTables merges Context ctxSrc into ctxDest by appending its page tree. zip ... zip 2 files together (eg. 1A,1B,2A,2B,3A,3B...) dividerPage ... insert blank page between merged files (not applicable for zipping)
func NUpFromMultipleImages ¶
func NUpFromMultipleImages(ctx *model.Context, fileNames []string, nup *model.NUp, pagesDict types.Dict, pagesIndRef *types.IndirectRef) error
NUpFromMultipleImages creates pages in NUp-style rendering each image once.
func NUpFromOneImage ¶
func NUpFromOneImage(ctx *model.Context, fileName string, nup *model.NUp, pagesDict types.Dict, pagesIndRef *types.IndirectRef) error
NUpFromOneImage creates one page with instances of one image.
func NUpFromPDF ¶
NUpFromPDF creates an n-up version of the PDF represented by xRefTable.
func NewNUpPageForImage ¶
func NewNUpPageForImage(xRefTable *model.XRefTable, fileName string, parentIndRef *types.IndirectRef, nup *model.NUp) (*types.IndirectRef, error)
NewNUpPageForImage creates a new page dict in xRefTable for given image filename and n-up conf.
func NewPageForImage ¶
func NewPageForImage(xRefTable *model.XRefTable, r io.Reader, parentIndRef *types.IndirectRef, imp *Import) (*types.IndirectRef, error)
NewPageForImage creates a new page dict in xRefTable for given image reader r.
func OptimizeXRefTable ¶
OptimizeXRefTable optimizes an xRefTable by locating and getting rid of redundant embedded fonts and images.
func PDFBookletConfig ¶
PDFBookletConfig returns an NUp configuration for booklet-ing PDF files.
func PDFGridConfig ¶
PDFGridConfig returns a grid configuration for Nup-ing PDF files.
func PDFNUpConfig ¶
PDFNUpConfig returns an NUp configuration for Nup-ing PDF files.
func PageObjFromDestination ¶
PageObjFromDestinationArray returns an IndirectRef of the destinations page.
func ParseCutConfig ¶
ParseCutConfig parses a Cut command string into an internal structure. optionally: horizontalCut, verticalCut, bgcolor, border, margin, origin
func ParseCutConfigForN ¶
ParseCutConfigForN parses a NDown command string into an internal structure. n, Optionally: border, margin, bgcolor
func ParseCutConfigForPoster ¶
ParseCutConfigForPoster parses a Cut command string into an internal structure. formsize(=papersize) or dimensions, optionally: scalefactor, border, margin, bgcolor
func ParseImageWatermarkDetails ¶
func ParseImageWatermarkDetails(fileName, desc string, onTop bool, u types.DisplayUnit) (*model.Watermark, error)
ParseImageWatermarkDetails parses an image Watermark/Stamp command string into an internal structure.
func ParseNUpDetails ¶
ParseNUpDetails parses a NUp command string into an internal structure.
func ParseNUpGridDefinition ¶
ParseNUpGridDefinition parses NUp grid dimensions into an internal structure.
func ParseNUpValue ¶
ParseNUpValue parses the NUp value into an internal structure.
func ParseObject ¶
ParseObject parses an object from file at given offset.
func ParseObjectWithContext ¶
func ParsePDFWatermarkDetails ¶
func ParsePDFWatermarkDetails(fileName, desc string, onTop bool, u types.DisplayUnit) (*model.Watermark, error)
ParsePDFWatermarkDetails parses a PDF Watermark/Stamp command string into an internal structure.
func ParseResizeConfig ¶
ParseResizeConfig parses a Resize command string into an internal structure. "scale:.5, form:A4, dim:400 200 bgcol:#D00000"
func ParseTextWatermarkDetails ¶
func ParseTextWatermarkDetails(text, desc string, onTop bool, u types.DisplayUnit) (*model.Watermark, error)
ParseTextWatermarkDetails parses a text Watermark/Stamp command string into an internal structure.
func ParseZoomConfig ¶
ParseZoomConfig parses a Zoom command string into an internal structure.
func Permissions ¶
Permissions returns a list of set permissions.
func PermissionsList ¶
PermissionsList returns a list of set permissions.
func PosterPage ¶
func PropertiesAdd ¶
PropertiesAdd adds properties into the document info dict. Returns true if at least one property was added.
func PropertiesList ¶
PropertiesList returns a list of document properties as recorded in the document info dict.
func PropertiesRemove ¶
PropertiesRemove deletes specified properties. Returns true if at least one property was removed.
func Read ¶
func Read(rs io.ReadSeeker, conf *model.Configuration) (*model.Context, error)
Read takes a readSeeker and generates a PDF model context, an in-memory representation containing a cross reference table.
func ReadFile ¶
ReadFile reads in a PDF file and builds an internal structure holding its cross reference table aka the PDF model context.
func ReadFileWithContext ¶
func ReadFileWithContext(c context.Context, inFile string, conf *model.Configuration) (*model.Context, error)
ReadFileContext reads in a PDF file and builds an internal structure holding its cross reference table aka the PDF model context. If the passed Go context is cancelled, reading will be interrupted.
func ReadWithContext ¶
func ReadWithContext(c context.Context, rs io.ReadSeeker, conf *model.Configuration) (*model.Context, error)
Read takes a readSeeker and generates a PDF model context, an in-memory representation containing a cross reference table. If the passed Go context is cancelled, reading will be interrupted.
func RemoveAnnotations ¶
func RemoveAnnotations(ctx *model.Context, selectedPages types.IntSet, idsAndTypes []string, objNrs []int, incr bool) (bool, error)
RemoveAnnotations removes annotations for selected pages by id, type or object number. All annotations for selected pages are removed if neither idsAndTypes nor objNrs are provided.
func RemoveAnnotationsFromPageDict ¶
func RemoveAnnotationsFromPageDict( ctx *model.Context, annotTypes []model.AnnotationType, ids []string, objNrSet types.IntSet, pageDict types.Dict, pageDictObjNr, pageNr int, incr bool) (bool, error)
RemoveAnnotationsFromPageDict removes an annotation by annotType, id and obj# from pageDict.
func RemoveBookmarks ¶
RemoveBookmarks erases all outlines from ctx.
func RemoveWatermarks ¶
RemoveWatermarks removes watermarks for all pages selected.
func RenderImage ¶
func RenderImage(xRefTable *model.XRefTable, sd *types.StreamDict, thumb bool, resourceName string, objNr int) (io.Reader, string, error)
RenderImage returns a reader for a decoded image stream.
func RotatePages ¶
RotatePages rotates all selected pages by a multiple of 90 degrees.
func StreamLength ¶
StreamLength returns sd's stream length.
func WriteImage ¶
func WriteImage(xRefTable *model.XRefTable, fileName string, sd *types.StreamDict, thumb bool, objNr int) (string, error)
WriteImage writes a PDF image object to disk.
func WriteImageToDisk ¶
WriteImageToDisk returns a closure for writing img to disk.
func WriteIncrement ¶
WriteIncrement writes a PDF increment..
func WriteReader ¶
WriteReader consumes r's content by writing it to a file at path.
Types ¶
type Bookmark ¶
type Bookmark struct { Title string `json:"title"` PageFrom int `json:"page"` PageThru int `json:"-"` // for extraction only; >= pageFrom and reaches until before pageFrom of the next bookmark. Bold bool `json:"bold,omitempty"` Italic bool `json:"italic,omitempty"` Color *color.SimpleColor `json:"color,omitempty"` Kids []Bookmark `json:"kids,omitempty"` Parent *Bookmark `json:"-"` }
Bookmark represents an outline item tree.
func BookmarksForOutlineItem ¶
func BookmarksForOutlineItem(ctx *model.Context, item *types.IndirectRef, parent *Bookmark) ([]Bookmark, error)
BookmarksForOutlineItem returns the bookmarks tree for an outline item.
type BookmarkTree ¶
func ExportBookmarks ¶
func ExportBookmarks(ctx *model.Context, source string) (*BookmarkTree, error)
type Font ¶
Font is a Reader representing an embedded font.
func ExtractFont ¶
ExtractFont extracts a font from fontObject.
func ExtractFormFonts ¶
ExtractPageFonts extracts all form fonts.
type Header ¶
type Header struct { Source string `json:"source,omitempty"` Version string `json:"version"` Creation string `json:"creation"` ID []string `json:"id,omitempty"` Title string `json:"title,omitempty"` Author string `json:"author,omitempty"` Creator string `json:"creator,omitempty"` Producer string `json:"producer,omitempty"` Subject string `json:"subject,omitempty"` Keywords string `json:"keywords,omitempty"` }
type ImageListMaxLengths ¶
type ImageListMaxLengths struct {
ObjNr, ID, Size, Filters int
}
type Import ¶
type Import struct { PageDim *types.Dim // page dimensions in display unit. PageSize string // one of A0,A1,A2,A3,A4(=default),A5,A6,A7,A8,Letter,Legal,Ledger,Tabloid,Executive,ANSIC,ANSID,ANSIE. UserDim bool // true if one of dimensions or paperSize provided overriding the default. DPI int // destination resolution to apply in dots per inch. Pos types.Anchor // position anchor, one of tl,tc,tr,l,c,r,bl,bc,br,full. Dx, Dy float64 // anchor offset. Scale float64 // relative scale factor. 0 <= x <= 1 ScaleAbs bool // true for absolute scaling. InpUnit types.DisplayUnit // input display unit. Gray bool // true for rendering in Gray. Sepia bool BgColor *color.SimpleColor // background color }
Import represents the command details for the command "ImportImage".
func DefaultImportConfig ¶
func DefaultImportConfig() *Import
DefaultImportConfig returns the default configuration.
func ParseImportDetails ¶
func ParseImportDetails(s string, u types.DisplayUnit) (*Import, error)
ParseImportDetails parses an Import command string into an internal structure.
type Metadata ¶
type Metadata struct { io.Reader // metadata ObjNr int // metadata dict objNr ParentObjNr int // container object number ParentType string // container dict type }
Metadata is a Reader representing a metadata dict.
type PDFImage ¶
type PDFImage struct {
// contains filtered or unexported fields
}
PDFImage represents a XObject of subtype image.
type PDFInfo ¶
type PDFInfo struct { FileName string `json:"source,omitempty"` Version string `json:"version"` PageCount int `json:"pageCount"` PageBoundaries []model.PageBoundaries `json:"-"` Boundaries map[string]model.PageBoundaries `json:"pageBoundaries,omitempty"` PageDimensions map[types.Dim]bool `json:"-"` Dimensions []types.Dim `json:"pageSizes,omitempty"` Title string `json:"title"` Author string `json:"author"` Subject string `json:"subject"` Producer string `json:"producer"` Creator string `json:"creator"` CreationDate string `json:"creationDate"` ModificationDate string `json:"modificationDate"` PageMode string `json:"pageMode,omitempty"` PageLayout string `json:"pageLayout,omitempty"` ViewerPref *model.ViewerPreferences `json:"viewerPreferences,omitempty"` Keywords []string `json:"keywords"` Properties map[string]string `json:"properties"` Tagged bool `json:"tagged"` Hybrid bool `json:"hybrid"` Linearized bool `json:"linearized"` UsingXRefStreams bool `json:"usingXRefStreams"` UsingObjectStreams bool `json:"usingObjectStreams"` Watermarked bool `json:"watermarked"` Thumbnails bool `json:"thumbnails"` Form bool `json:"form"` Signatures bool `json:"signatures"` AppendOnly bool `json:"appendOnly"` Outlines bool `json:"bookmarks"` Names bool `json:"names"` Encrypted bool `json:"encrypted"` Permissions int `json:"permissions"` Attachments []model.Attachment `json:"attachments,omitempty"` Unit types.DisplayUnit `json:"-"` UnitString string `json:"unit"` }
Source Files ¶
- annotation.go
- booklet.go
- bookmark.go
- createAnnotations.go
- createRenditions.go
- createTestPDF.go
- crypto.go
- cut.go
- doc.go
- extract.go
- iccProfile.go
- image.go
- importImage.go
- info.go
- keyword.go
- merge.go
- migrate.go
- nup.go
- optimize.go
- page.go
- property.go
- read.go
- resize.go
- rotate.go
- stamp.go
- write.go
- writeImage.go
- writeObjects.go
- writePages.go
- writeStats.go
- zoom.go