From 9d0f1c46682d9249b54557c125e244a986e84932 Mon Sep 17 00:00:00 2001 From: John Whitington Date: Fri, 19 Aug 2022 15:48:56 +0100 Subject: [PATCH] more --- html_manual/javascriptsplits/c00.tex | 46 +++ html_manual/javascriptsplits/c01.tex | 25 ++ html_manual/javascriptsplits/c02.tex | 368 +++++++++++++++++ html_manual/javascriptsplits/c03.tex | 31 ++ html_manual/javascriptsplits/c04.tex | 233 +++++++++++ html_manual/javascriptsplits/c05.tex | 2 + html_manual/javascriptsplits/c06.tex | 16 + html_manual/javascriptsplits/c07.tex | 86 ++++ html_manual/javascriptsplits/c08.tex | 2 + html_manual/javascriptsplits/c09.tex | 150 +++++++ html_manual/javascriptsplits/c10.tex | 56 +++ html_manual/javascriptsplits/c11.tex | 7 + html_manual/javascriptsplits/c12.tex | 593 +++++++++++++++++++++++++++ html_manual/javascriptsplits/c13.tex | 63 +++ html_manual/javascriptsplits/c14.tex | 89 ++++ html_manual/javascriptsplits/c15.tex | 74 ++++ html_manual/javascriptsplits/c16.tex | 30 ++ html_manual/javascriptsplits/c17.tex | 32 ++ html_manual/javascriptsplits/c18.tex | 54 +++ html_manual/javascriptsplits/c19.tex | 93 +++++ html_manual/javascriptsplits/cm1.tex | 2 + 21 files changed, 2052 insertions(+) create mode 100644 html_manual/javascriptsplits/c00.tex create mode 100644 html_manual/javascriptsplits/c01.tex create mode 100644 html_manual/javascriptsplits/c02.tex create mode 100644 html_manual/javascriptsplits/c03.tex create mode 100644 html_manual/javascriptsplits/c04.tex create mode 100644 html_manual/javascriptsplits/c05.tex create mode 100644 html_manual/javascriptsplits/c06.tex create mode 100644 html_manual/javascriptsplits/c07.tex create mode 100644 html_manual/javascriptsplits/c08.tex create mode 100644 html_manual/javascriptsplits/c09.tex create mode 100644 html_manual/javascriptsplits/c10.tex create mode 100644 html_manual/javascriptsplits/c11.tex create mode 100644 html_manual/javascriptsplits/c12.tex create mode 100644 html_manual/javascriptsplits/c13.tex create mode 100644 html_manual/javascriptsplits/c14.tex create mode 100644 html_manual/javascriptsplits/c15.tex create mode 100644 html_manual/javascriptsplits/c16.tex create mode 100644 html_manual/javascriptsplits/c17.tex create mode 100644 html_manual/javascriptsplits/c18.tex create mode 100644 html_manual/javascriptsplits/c19.tex create mode 100644 html_manual/javascriptsplits/cm1.tex diff --git a/html_manual/javascriptsplits/c00.tex b/html_manual/javascriptsplits/c00.tex new file mode 100644 index 0000000..42d77b8 --- /dev/null +++ b/html_manual/javascriptsplits/c00.tex @@ -0,0 +1,46 @@ +// CHAPTER -1: Introduction + +/** +Use +--- + +coherentpdf.js can be used from both node and the browser. + +The file `cpdflibtest.js` uses every function in coherentpdf.js. Call `./run` +to run it in node. + +For development server-side with node: `coherentpdf.js` (minified version +`coherentpdf.min.js`). Load with `const coherentpdf = require('coherentpdf')` +if installed in npm, or `const coherentpdf = require('./coherentpdf.js')` to +load from current directory. + +For development client-side with the browser : `coherentpdf.browser.js` +(minified version for deployment : `coherentpdf.browser.min.js`). Load with +`` or similar. + + +Data types +---------- + +Arguments are numbers, strings, or arrays (of type UInt8Array for data). Page +ranges are represented by arrays of numbers. + + +Memory Management +----------------- + +A PDF p must be explicitly deallocated with deletePdf(p). + + +Errors +------ + +Any function may raise an exception, containing a string describing the problem. + + +Concurrency +----------- + +coherentpdf.js is synchronous and non-re-entrant. In the browser, best used in a worker. +**/ + diff --git a/html_manual/javascriptsplits/c01.tex b/html_manual/javascriptsplits/c01.tex new file mode 100644 index 0000000..f1b971a --- /dev/null +++ b/html_manual/javascriptsplits/c01.tex @@ -0,0 +1,25 @@ +// CHAPTER 0. Preliminaries + +/** Returns a string giving the version number of the CPDF library. +@returns {string} version */ +function version() {} + +/** Some operations have a fast mode. The default is 'slow' mode, which works +even on old-fashioned files. For more details, see section 1.13 of the CPDF +manual. This function sets the mode to fast globally. */ +function setFast() {} + +/** Some operations have a fast mode. The default is 'slow' mode, which works +even on old-fashioned files. For more details, see section 1.13 of the CPDF +manual. This function sets the mode to slow globally. */ +function setSlow() {} + +/** Delete a PDF so the memory representing it may be recovered. +@arg {pdf} pdf PDF document to delete */ +function deletePdf(pdf) {} + +/* A debug function which prints some information about resource usage. This +can be used to detect if PDFs or ranges are being deallocated properly. +Contrary to its name, it may be run at any time. */ +function onexit() {} + diff --git a/html_manual/javascriptsplits/c02.tex b/html_manual/javascriptsplits/c02.tex new file mode 100644 index 0000000..7a80162 --- /dev/null +++ b/html_manual/javascriptsplits/c02.tex @@ -0,0 +1,368 @@ +// CHAPTER 1. Basics + +/** Loads a PDF file from a given file. Supply a user password (possibly blank) +in case the file is encrypted. It won't be decrypted, but sometimes the +password is needed just to load the file. +@arg {string} filename File name +@arg {string} userpw User password, or blank if none */ +function fromFile(filename, userpw) {} + +/** Loads a PDF from a file, doing only minimal parsing. The objects will be +read and parsed when they are actually needed. Use this when the whole file +won't be required. Also supply a user password (possibly blank) in case the +file is encrypted. It won't be decrypted, but sometimes the password is needed +just to load the file. +@arg {string} filename File name +@arg {string} userpw User password, or blank if none */ +function fromFileLazy(filename, userpw) {} + +/** Loads a file from memory given any user password. +@arg {Uint8Array} data PDF document as an array of bytes +@arg {string} userpw User password, or blank if none */ +function fromMemory(data, userpw) {} + +/** Loads a file from memory, given a pointer and a length, and the user +password, but lazily like fromFileLazy. +@arg {Uint8Array} data PDF document as an array of bytes +@arg {string} userpw User password, or blank if none */ +function fromMemoryLazy(data, userpw) {} + +/** To enumerate the list of currently allocated PDFs, call startEnumeratePDFs +which gives the number, n, of PDFs allocated, then enumeratePDFsInfo and +enumeratePDFsKey with index numbers from 0...(n - 1). Call endEnumeratePDFs to +clean up. +@return {number} number of PDFs */ +function startEnumeratePDFs() {} + +/** To enumerate the list of currently allocated PDFs, call startEnumeratePDFs +which gives the number, n, of PDFs allocated, then enumeratePDFsInfo and +enumeratePDFsKey with index numbers from 0...(n - 1). Call endEnumeratePDFs to +clean up. +@arg {n} index number +@return {number} PDF key */ +function enumeratePDFsKey(n) {} + +/** To enumerate the list of currently allocated PDFs, call startEnumeratePDFs +which gives the number, n, of PDFs allocated, then enumeratePDFsInfo and +enumeratePDFsKey with index numbers from 0...(n - 1). Call endEnumeratePDFs to +clean up. +@arg {n} index number +@return {number} PDF information */ +function enumeratePDFsInfo(n) {} + +/** To enumerate the list of currently allocated PDFs, call startEnumeratePDFs +which gives the number, n, of PDFs allocated, then enumeratePDFsInfo and +enumeratePDFsKey with index numbers from 0...(n - 1). Call endEnumeratePDFs to +clean up. */ +function endEnumeratePDFs() {} + +/** Converts a figure in centimetres to points (72 points to 1 inch) +@arg {number} i figure in centimetres +@return {number} figure in points */ +function ptOfCm(i) {} + +/** Converts a figure in millimetres to points (72 points to 1 inch) +@arg {number} i figure in millimetres +@return {number} figure in points */ +function ptOfMm(i) {} + +/** Converts a figure in inches to points (72 points to 1 inch) +@arg {number} i figure in inches +@return {number} figure in points */ +function ptOfIn(i) {} + +/** Converts a figure in points to centimetres (72 points to 1 inch) +@arg {number} i figure in points +@return {number} figure in centimetres */ +function cmOfPt(i) {} + +/** Converts a figure in points to millimetres (72 points to 1 inch) +@arg {number} i figure in points +@return {number} figure in millimetres */ +function mmOfPt(i) {} + +/** Converts a figure in points to inches (72 points to 1 inch) +@arg {number} i figure in points +@return {number} figure in inches */ +function inOfPt(i) {} + +/** Parses a page specification with reference to a given PDF (the PDF is +supplied so that page ranges which reference pages which do not exist are +rejected). +@arg {pdf} pdf PDF document +@arg {string} pagespec Page specification +@return {array} page range */ +function parsePagespec(pdf, pagespec) {} + +/** Validates a page specification so far as is possible in the absence of +the actual document. Result is true if valid. +@arg {string} pagespec Page specification +@return {boolean} validity or otherwise of page specification */ +function validatePagespec(pagespec) {} + +/** Builds a page specification from a page range. For example, the range +containing 1,2,3,6,7,8 in a document of 8 pages might yield "1-3,6-end" +@arg {pdf} pdf PDF document +@arg {array} r Page range +@return {string} Page specifcation */ +function stringOfPagespec(pdf, r) {} + +/** Creates a range with no pages in. +@return {array} Page range */ +function blankRange() {} + +/** Builds a range from one page to another inclusive. For example, range(3,7) +gives the range 3,4,5,6,7 +@arg {number} f begining of page range +@arg {number} t end of page range +@return {array} page range */ +function range(f, t) {} + +/** The range containing all the pages in a given document. +@arg {pdf} pdf PDF document +@return {array} page range */ +function all(pdf) {} + +/** Makes a range which contains just the even pages of another range. +@arg {array} r_in page range +@return {array} page range */ +function even(r_in) {} + +/** Makes a range which contains just the odd pages of another range. +@arg {array} r_in page range +@return {array} page range */ +function odd(r_in) {} + +/** Makes the union of two ranges giving a range containing the pages in range +a and range b. +@arg {array} a page range +@arg {array} b page range +@return {array} page range */ +function rangeUnion(a, b) {} + +/** Makes the difference of two ranges, giving a range containing all the +pages in a except for those which are also in b. +@arg {array} a page range +@arg {array} b page range +@return {array} page range */ +function difference(a, b) {} + +/** Deduplicates a range, making a new one. +@arg {array} a page range +@return {array} page range */ +function removeDuplicates(a) {} + +/** Gives the number of pages in a range. +@arg {array} r page range +@return {number} length */ +function rangeLength(r) {} + +/** Gets the page number at position n in a range, where n runs from 0 to +rangeLength - 1. +@arg {array} r page range +@arg {number} n position +@return {number} page at given position */ +function rangeGet(r, n) {} + +/** Adds the page to a range, if it is not already there. +@arg {array} r page range +@arg {number} page page number */ +function rangeAdd(r, page) {} + +/** Returns true if the page is in the range, false otherwise. +@arg {array} r page range +@arg {number} page page number +@return {boolean} true if page in range, false otherwise */ +function isInRange(r, page) {} + +/** Returns the number of pages in a PDF. +@arg {pdf} pdf PDF document +@return {number} number of pages */ +function pages(pdf) {} + +/** Returns the number of pages in a given PDF, with given user password. It +tries to do this as fast as possible, without loading the whole file. +@arg {string} password user password +@arg {string} filename file name +@return {number} number of pages */ +function pagesFast(password, filename) {} + +/** Returns the number of pages in a given PDF, with given user password. It +tries to do this as fast as possible, without loading the whole file. +@arg {string} password user password +@arg {Uint8Array} data PDF file as a byte array +@return {number} number of pages */ +function pagesFastMemory(password, data) {} + +/** Writes the file to a given filename. If linearize is true, it will be +linearized if a linearizer is available. If make_id is true, it will be +given a new ID. +@arg {pdf} pdf PDF document +@arg {string} filename file name +@arg {boolean} linearize linearize if a linearizer is available +@arg {boolean} make_id make a new /ID */ +function toFile(pdf, filename, linearize, make_id) {} + +/** Writes the file to a given filename. If make_id is true, it will be given +a new ID. If preserve_objstm is true, existing object streams will be +preserved. If generate_objstm is true, object streams will be generated even if +not originally present. If compress_objstm is true, object streams will be +compressed (what we usually want). WARNING: the pdf argument will be invalid +after this call, and should be not be used again. +@arg {pdf} pdf PDF document +@arg {string} filename file name +@arg {boolean} linearize linearize if a linearizer is available +@arg {boolean} preserve_objstm preserve existing object streams +@arg {boolean} generate_objstm create new object streams +@arg {boolean} compress_objstm compress new object streams */ +function toFileExt(pdf, filename, linearize, make_id, preserve_objstm, generate_objstm, compress_objstm) {} + +/** Writes a PDF file and returns as an array of bytes. +@arg {pdf} pdf PDF document +@arg {boolean} linearize linearize if a linearizer is available +@arg {boolean} make_id make a new /ID +@result {Uint8Array} PDF document as an array of bytes */ +function toMemory(pdf, linearize, make_id) {} + +/** Writes the file to memory. If make_id is true, it will be given +a new ID. If preserve_objstm is true, existing object streams will be +preserved. If generate_objstm is true, object streams will be generated even if +not originally present. If compress_objstm is true, object streams will be +compressed (what we usually want). WARNING: the pdf argument will be invalid +after this call, and should be not be used again. +@arg {pdf} pdf PDF document +@arg {boolean} linearize linearize if a linearizer is available +@arg {boolean} preserve_objstm preserve existing object streams +@arg {boolean} generate_objstm create new object streams +@arg {boolean} compress_objstm compress new object streams +@result {Uint8Array} PDF file as a byte array */ +function toMemoryExt(pdf, linearize, make_id, preserve_objstm, generate_objstm, compress_objstm) {} + +/** Returns true if a document is encrypted, false otherwise. +@arg {pdf} pdf PDF document +@return {boolean} true if document encrypted, false otherwise */ +function isEncrypted(pdf) {} + +/** Attempts to decrypt a PDF using the given user password. An exception is +raised if the decryption fails. +@arg {pdf} pdf PDF document +@arg {string} userpw user password, or empty if none */ +function decryptPdf(pdf, userpw) {} + +/** Attempts to decrypt a PDF using the given owner password. Raises an +exception if the decryption fails. +@arg {pdf} pdf PDF document +@arg {string} ownerpw owner password, or empty if none */ +function decryptPdfOwner(pdf, ownerpw) {} + +/** Cannot edit the document */ +var noEdit = 0; + +/** Cannot print the document */ +var noPrint = 1; + +/** Cannot copy the document */ +var noCopy = 2; + +/** Cannot annotate the document */ +var noAnnot = 3; + +/** Cannot edit forms in the document */ +var noForms = 4; + +/** Cannot extract information */ +var noExtract = 5; + +/** Cannot assemble into a bigger document */ +var noAssemble = 6; + +/** Cannot print high quality */ +var noHqPrint = 7; + +/** 40 bit RC4 encryption */ +var pdf40bit = 0; + +/** 128 bit RC4 encryption */ +var pdf128bit = 1; + +/** 128 bit AES encryption, do not encrypt metadata */ +var aes128bitfalse = 2; + +/** 128 bit AES encryption, encrypt metadata */ +var aes128bittrue = 3; + +/** Deprecated. Do not use for new files */ +var aes256bitfalse = 4; + +/** Deprecated. Do not use for new files */ +var aes256bittrue = 5; + +/** 256 bit AES encryption, do not encrypt metadata */ +var aes256bitisofalse = 6; + +/** 256 bit AES encryption, encrypt metadata */ +var aes256bitisotrue = 7; + +/** Writes a file as encrypted. +@arg {pdf} pdf PDF document +@arg {"encryption method"} encryption_method encryption method +@arg {"permission array"} array of permissions +@arg {string} ownerpw owner password +@arg {string} userpw user password +@arg {boolean} linearize linearize if a linearizer is available +@arg {boolean} makeid make a new /ID +@arg {string} filename file name */ +function toFileEncrypted(pdf, encryption_method, permissions, ownerpw, userpw, linearize, makeid, filename) {} + +/** Writes to memory as encrypted. +@arg {pdf} pdf PDF document +@arg {"encryption method"} encryption_method encryption method +@arg {"permission array"} array of permissions +@arg {string} ownerpw owner password +@arg {string} userpw user password +@arg {boolean} linearize linearize if a linearizer is available +@arg {boolean} makeid make a new /ID +@return {Uint8Array} PDF file as a byte array */ +function toMemoryEncrypted(pdf, encryption_method, permissions, ownerpw, userpw, linearize, makeid) {} + +/** Writes a file as encrypted with extra parameters. WARNING: the pdf argument +will be invalid after this call, and should not be used again. +@arg {pdf} pdf PDF document +@arg {"encryption method"} encryption_method encryption method +@arg {"permission array"} array of permissions +@arg {string} ownerpw owner password +@arg {string} userpw user password +@arg {boolean} linearize linearize if a linearizer is available +@arg {boolean} makeid make a new /ID +@arg {boolean} preserve_objstm preserve existing object streams +@arg {boolean} generate_objstm generate new object streams +@arg {boolean} compress_objstm compress object streams +@arg {string} filename file name */ +function toFileEncryptedExt(pdf, encryption_method, permissions, ownerpw, userpw, linearize, makeid, preserve_objstm, generate_objstm, compress_objstm, filename) {} + +/** Writes a file as encrypted with extra parameters. WARNING: the pdf argument +will be invalid after this call, and should not be used again. +@arg {pdf} pdf PDF document +@arg {"encryption method"} encryption_method encryption method +@arg {"permission array"} array of permissions +@arg {string} ownerpw owner password +@arg {string} userpw user password +@arg {boolean} linearize linearize if a linearizer is available +@arg {boolean} makeid make a new /ID +@arg {boolean} preserve_objstm preserve existing object streams +@arg {boolean} generate_objstm generate new object streams +@arg {boolean} compress_objstm compress object streams +@return {Uint8Array} PDF file as a byte array */ +function toMemoryEncryptedExt(pdf, encryption_method, permissions, ownerpw, userpw, linearize, makeid, preserve_objstm, generate_objstm, compress_objstm) {} + +/** Returns true if the given permission (restriction) is present. +@arg {pdf} pdf PDF document +@arg {permission} permission permission +@return {boolean} true if permission present */ +function hasPermission(pdf, permission) {} + +/** Returns the encryption method currently in use on a document. +@arg {pdf} pdf PDF document +@return {"encryption method"} encryption method */ +function encryptionKind(pdf) {} + diff --git a/html_manual/javascriptsplits/c03.tex b/html_manual/javascriptsplits/c03.tex new file mode 100644 index 0000000..cfa6882 --- /dev/null +++ b/html_manual/javascriptsplits/c03.tex @@ -0,0 +1,31 @@ +// CHAPTER 2. Merging and Splitting + +/** Given a list of PDFs, merges the files into a new one, which is returned. +@arg {"array of pdfs"} pdfs array of PDF documents to merge +@return {pdf} merged PDF document */ +function mergeSimple(pdfs) {} + +/** Merges the PDFs. If retain_numbering is true page labels are not +rewritten. If remove_duplicate_fonts is true, duplicate fonts are merged. +This is useful when the source documents for merging originate from the same +source. +@arg {"array of pdfs"} pdfs array of PDF documents to merge +@arg {boolean} retain_numbering keep page numbering +@arg {boolean} remove_duplicate_fonts remove duplicate font data */ +function merge(pdfs, retain_numbering, remove_duplicate_fonts) {} + +/** The same as merge, except that it has an additional argument - a list of +page ranges. This is used to select the pages to pick from each PDF. This +avoids duplication of information when multiple discrete parts of a source PDF +are included. +@arg {"array of pdfs"} pdfs array of PDF documents to merge +@arg {boolean} retain_numbering keep page numbering +@arg {boolean} remove_duplicate_fonts remove duplicate font data +@arg {"array of arrays of numbers"} ranges page ranges, one for each input PDF */ +function mergeSame(pdfs, retain_numbering, remove_duplicate_fonts, ranges) {} + +/** Returns a new document with just those pages in the page range. +@arg {pdf} pdf PDF document +@arg {range} page range */ +function selectPages(pdf, r) {} + diff --git a/html_manual/javascriptsplits/c04.tex b/html_manual/javascriptsplits/c04.tex new file mode 100644 index 0000000..5baf809 --- /dev/null +++ b/html_manual/javascriptsplits/c04.tex @@ -0,0 +1,233 @@ +// CHAPTER 3. Pages + +/** Scales the page dimensions and content by the given scale, about (0, 0). +Other boxes (crop etc. are altered as appropriate) +@arg {pdf} pdf PDF document +@arg {range} range page range +@arg {number} sx x scale +@arg {number} sy y scale */ +function scalePages(pdf, range, sx, sy) {} + +/** Scales the content to fit new page dimensions (width x height) multiplied +by scale (typically 1.0). Other boxes (crop etc. are altered as appropriate). +@arg {pdf} pdf PDF document +@arg {range} range page range +@arg {number} sx x scale +@arg {number} sy y scale +@arg {number} scale scale */ +function scaleToFit(pdf, range, sx, sy, scale) {} + +/** A0 Portrait paper */ +var a0portrait = 0; + +/** A1 Portrait paper */ +var a1portrait = 1; + +/** A2 Portrait paper */ +var a2portrait = 2; + +/** A3 Portrait paper */ +var a3portrait = 3; + +/** A4 Portrait paper */ +var a4portrait = 4; + +/** A5 Portrait paper */ +var a5portrait = 5; + +/** A0 Landscape paper */ +var a0landscape = 6; + +/** A1 Landscape paper */ +var a1landscape = 7; + +/** A2 Landscape paper */ +var a2landscape = 8; + +/** A3 Landscape paper */ +var a3landscape = 9; + +/** A4 Landscape paper */ +var a4landscape = 10; + +/** A5 Landscape paper */ +var a5landscape = 11; + +/** US Letter Portrait paper */ +var usletterportrait = 12; + +/** US Letter Landscape paper */ +var usletterlandscape = 13; + +/** US Legal Portrait paper */ +var uslegalportrait = 14; + +/** US Legal Landscape paper */ +var uslegallandscape = 15; + +/** Scales the page content to fit the given page size, possibly multiplied by +scale (typically 1.0) +@arg {pdf} pdf PDF document +@arg {range} range page range +@arg {"paper size"} papersize paper size +@arg {number} s scale */ +function scaleToFitPaper(pdf, range, papersize, s) {} + +/** Positions on the page. Used for scaling about a point, and adding text. + +A position is an anchor and zero or one or two parameters. + +posCentre: Two parameters, x and y
+posLeft: Two parameters, x and y
+posRight: Two parameters, x and y
+top: One parameter - distance from top
+topLeft: One parameter - distance from top left
+topRight: One parameter - distance from top right
+left: One parameter - distance from left middle
+bottomLeft: One parameter - distance from bottom left
+bottom: One parameter - distance from bottom
+bottomRight: One parameter - distance from bottom right
+right: One parameter - distance from right
+diagonal: Zero parameters
+reverseDiagonal: Zero parameters */ + +/** Absolute centre */ +var posCentre = 0; + +/** Absolute left */ +var posLeft = 1; + +/** Absolute right */ +var posRight = 2; + +/** The top centre of the page */ +var top = 3; + +/** The top left of the page */ +var topLeft = 4; + +/** The top right of the page */ +var topRight = 5; + +/** The left hand side of the page, halfway down */ +var left = 6; + +/** The bottom left of the page */ +var bottomLeft = 7; + +/** The bottom middle of the page */ +var bottom = 8; + +/** The bottom right of the page */ +var bottomRight = 9; + +/** The right hand side of the page, halfway down */ +var right = 10; + +/** Diagonal, bottom left to top right */ +var diagonal = 11; + +/** Diagonal, top left to bottom right */ +var reversediagonal = 12; + +/** Scales the contents of the pages in the range about the point given by +the position, by the scale given. +@arg {pdf} pdf PDF document +@arg {range} range page range +@arg {anchor} anchor anchor to scale contents about +@arg {number} p1 position argument 1 +@arg {number} p2 position argument 2 +@arg {number} scale scale */ +function scaleContents(pdf, range, anchor, p1, p2, scale) {} + +/** Shifts the content of the pages in the range. +@arg {pdf} pdf PDF document +@arg {range} range page range +@arg {number} dx x shift +@arg {number} dy y shift */ +function shiftContents(pdf, range, dx, dy) {} + +/** Changes the viewing rotation to an absolute value. Appropriate rotations +are 0, 90, 180, 270. +@arg {pdf} pdf PDF document +@arg {range} range page range +@arg {number} rotation rotation */ +function rotate(pdf, range, rotation) {} + +/** Rotates the content about the centre of the page by the given number of +degrees, in a clockwise direction. Appropriate rotations +are 0, 90, 180, 270. +@arg {pdf} pdf PDF document +@arg {range} range page range +@arg {number} rotation rotation */ +function rotateBy(pdf, range, rotation) {} + +/** Rotates the content about the centre of the page by the given number of +degrees, in a clockwise direction. +@arg {pdf} pdf PDF document +@arg {range} range page range +@arg {number} angle angle */ +function rotateContents(pdf, range, angle) {} + +/** Changes the viewing rotation of the pages in the range, counter-rotating +the dimensions and content such that there is no visual change. +@arg {pdf} pdf PDF document +@arg {range} range page range */ +function upright(pdf, range) {} + +/** Flips horizontally the pages in the range. +@arg {pdf} pdf PDF document +@arg {range} range page range */ +function hFlip(pdf, range) {} + +/** Flips vertically the pages in the range. +@arg {pdf} pdf PDF document +@arg {range} range page range */ +function vFlip(pdf, range) {} + +/** Crops a page, replacing any existing crop box. The dimensions are in +points. +@arg {pdf} pdf PDF document +@arg {range} range page range +@arg {number} x x position +@arg {number} y y position +@arg {number} w width +@arg {number} h height */ +function crop(pdf, range, x, y, w, h) {} + +/** Removes any crop box from pages in the range. +@arg {pdf} pdf PDF document +@arg {range} range page range */ +function removeCrop(pdf, range) {} + +/** Removes any trim box from pages in the range. +@arg {pdf} pdf PDF document +@arg {range} range page range */ +function removeTrim(pdf, range) {} + +/** Removes any art box from pages in the range. +@arg {pdf} pdf PDF document +@arg {range} range page range */ +function removeArt(pdf, range) {} + +/** Removes any bleed box from pages in the range. +@arg {pdf} pdf PDF document +@arg {range} range page range */ +function removeBleed(pdf, range) {} + +/** Adds trim marks to the given pages, if the trimbox exists. +@arg {pdf} pdf PDF document +@arg {range} range page range */ +function trimMarks(pdf, range) {} + +/** Shows the boxes on the given pages, for debug. +@arg {pdf} pdf PDF document +@arg {range} range page range */ +function showBoxes(pdf, range) {} + +/** Makes a given box a 'hard box' i.e clips it explicitly. +@arg {pdf} pdf PDF document +@arg {range} range page range +@arg {string} boxname box name */ +function hardBox(pdf, range, boxname) {} + diff --git a/html_manual/javascriptsplits/c05.tex b/html_manual/javascriptsplits/c05.tex new file mode 100644 index 0000000..a84cb09 --- /dev/null +++ b/html_manual/javascriptsplits/c05.tex @@ -0,0 +1,2 @@ +// CHAPTER 4. Encryption + diff --git a/html_manual/javascriptsplits/c06.tex b/html_manual/javascriptsplits/c06.tex new file mode 100644 index 0000000..699af86 --- /dev/null +++ b/html_manual/javascriptsplits/c06.tex @@ -0,0 +1,16 @@ +// CHAPTER 5. Compression + +/** Compresses any uncompressed streams in the given PDF using the Flate +algorithm. +@arg {pdf} pdf PDF document */ +function compress(pdf) {} + +/** Decompresses any streams in the given PDF, so long as the compression +method is supported. +@arg {pdf} pdf PDF document */ +function decompress(pdf) {} + +/** Squeezes a pdf in memory. +@arg {pdf} pdf PDF document */ +function squeezeInMemory(pdf) {} + diff --git a/html_manual/javascriptsplits/c07.tex b/html_manual/javascriptsplits/c07.tex new file mode 100644 index 0000000..c919cee --- /dev/null +++ b/html_manual/javascriptsplits/c07.tex @@ -0,0 +1,86 @@ +// CHAPTER 6. Bookmarks + +/** Starts the bookmark retrieval process for a given PDF. +@arg {pdf} pdf PDF document */ +function startGetBookmarkInfo(pdf) {} + +/** Gets the number of bookmarks for the PDF given to startGetBookmarkInfo. +@return {number} number of bookmarks */ +function numberBookmarks() {} + +/** Gets the bookmark level for the given bookmark (0...(n - 1)). +@arg {number} n serial number +@return {number} bookmark level */ +function getBookmarkLevel(n) {} + +/** Gets the bookmark target page for the given PDF (which must be the same +as the PDF passed to startSetBookmarkInfo) and bookmark (0...(n - 1)). +@arg {pdf} pdf PDF document +@arg {number} n serial number +@return {number} bookmark page */ +function getBookmarkPage(pdf, n) {} + +/** Returns the text of bookmark (0...(n - 1)). +@arg {number} n serial number +@return {string} bookmark text */ +function getBookmarkText(n) {} + +/** True if the bookmark is open. +@arg {number} n serial number +@return {boolean} open status */ +function getBookmarkOpenStatus(n) {} + +/** Ends the bookmark retrieval process, cleaning up. */ +function endGetBookmarkInfo() {} + +/** Starts the bookmark setting process for n bookmarks. +@arg {number} n number of bookmarks required */ +function startSetBookmarkInfo(n) {} + +/** Set bookmark level for the given bookmark (0...(n - 1)). +@arg {number} n serial number +@arg {number} level bookmark level */ +function setBookmarkLevel(n, level) {} + +/** Sets the bookmark target page for the given PDF (which must be the same as +the PDF to be passed to endSetBookmarkInfo) and bookmark (0...(n - 1)). +@arg {pdf} pdf PDF document +@arg {number} n serial number +@arg {number} targetpage target page */ +function setBookmarkPage(pdf, n, targetpage) {} + +/** Sets the open status of bookmark (0...(n - 1)). +@arg {number} n serial number +@arg {boolean} status open status */ +function setBookmarkOpenStatus(n, status) {} + +/** Sets the text of bookmark (0...(n - 1)). +@arg {number} n serial number +@arg {string} text bookmark text */ +function setBookmarkText(n, text) {} + +/** Ends the bookmark setting process, writing the bookmarks to the given +PDF. +@arg {pdf} pdf PDF document */ +function endSetBookmarkInfo(pdf) {} + +/** Returns the bookmark data in JSON format. +@arg {pdf} pdf PDF document +@result {Uint8Array} result as a byte array */ +function getBookmarksJSON(pdf) {} + +/** Sets the bookmarks from JSON bookmark data. +@arg {pdf} pdf PDF document +@arg {Uint8Array} byte array of JSON bookmark data */ +function setBookmarksJSON(pdf, data) {} + +/** Typesets a table of contents from existing bookmarks and prepends it to +the document. If bookmark is set, the table of contents gets its own +bookmark. +@arg {pdf} pdf PDF document +@arg {font} font font +@arg {number} fontsize font size +@arg {string} title title +@arg {boolean} bookmark table of contents gets its own bookmark */ +function tableOfContents(pdf, font, fontsize, title, bookmark) {} + diff --git a/html_manual/javascriptsplits/c08.tex b/html_manual/javascriptsplits/c08.tex new file mode 100644 index 0000000..a8bc600 --- /dev/null +++ b/html_manual/javascriptsplits/c08.tex @@ -0,0 +1,2 @@ +// CHAPTER 7. Presentations + diff --git a/html_manual/javascriptsplits/c09.tex b/html_manual/javascriptsplits/c09.tex new file mode 100644 index 0000000..b76f7b4 --- /dev/null +++ b/html_manual/javascriptsplits/c09.tex @@ -0,0 +1,150 @@ +// CHAPTER 8. Logos, Watermarks and Stamps + +/** Stamps stamp_pdf on all the pages in the document which are in the +range. The stamp is placed with its origin at the origin of the target +document. +@arg {pdf} stamp_pdf stamp +@arg {pdf} pdf PDF document +@arg {range} range page range */ +function stampOn(stamp_pdf, pdf, range) {} + +/** Stamps stamp_pdf under all the pages in the document which are in the +range. The stamp is placed with its origin at the origin of the target +document. +@arg {pdf} stamp_pdf stamp +@arg {pdf} pdf PDF document +@arg {range} range page range */ +function stampUnder(stamp_pdf, pdf, range) {} + +/** A stamping function with extra features. +@arg {pdf} pdf first PDF document +@arg {pdf} pdf second PDF document +@arg {boolean} isover pdf goes over pdf2, otherwise under +@arg {boolean} scale_stamp_to_fit scales the stamp to fit the page +@arg {anchor} anchor for position of stamp +@arg {number} p1 position argument 1 +@arg {number} p2 position argument 2 +@arg {boolean} relative_to_cropbox pos is relative to cropbox not mediabox. */ +function stampExtended(pdf, pdf2, range, isover, scale_stamp_to_fit, position, relative_to_cropbox) {} + +/** Combines the PDFs page-by-page, putting each page of 'over' over each page +of 'under'. +@arg {pdf} under PDF document +@arg {pdf} over PDF document +@result {pdf} resultant PDF document */ +function combinePages(under, over) {} + +/** Times Roman */ +var timesRoman = 0; + +/** Times Bold */ +var timesBold = 1; + +/** Times Italic */ +var timesItalic = 2; + +/** Times Bold Italic */ +var timesBoldItalic = 3; + +/** Helvetica */ +var helvetica = 4; + +/** Helvetica Bold */ +var helveticaBold = 5; + +/** Helvetica Oblique */ +var helveticaOblique = 6; + +/** Helvetica Bold Oblique */ +var helveticaBoldOblique = 7; + +/** Courier */ +var courier = 8; + +/** Courier Bold */ +var courierBold = 9; + +/** Courier Oblique */ +var courierOblique = 10; + +/** Courier Bold Oblique */ +var courierBoldOblique = 11; + +/** Left justify */ +var leftJustify = 0; + +/** Centre justify */ +var centreJustify = 1; + +/** Right justify */ +var rightJustify = 2; + +/** Adds text to the pages in the given range. +@arg {boolean} metrics collect metrics only +@arg {pdf} pdf PDF document +@arg {range} range page range +@arg {string} text text to add \\n for newline +@arg {anchor} anchor anchor to add text at +@arg {number} p1 position argument 1 +@arg {number} p2 position argument 2 +@arg {number} linespacing line spacing +@arg {number} bates starting bates number +@arg {font} font font +@arg {number} fontsize font size +@arg {number} r red component of colour 0..1 +@arg {number} g green component of colour 0..1 +@arg {number} b blue component of colour 0..1 +@arg {boolean} underneath put text under the page rather than over +@arg {boolean} relative_to_cropbox position is relative to crop box not media box +@arg {boolean} outline text is outline +@arg {number} opacity opacity 0..1 +@arg {justification} justification justification +@arg {boolean} midline position is relative to midline not baseline +@arg {boolean} topline position is relative to topline not baseline +@arg {string} filename file name +@arg {number} linewidth line width +@arg {boolean} embed_fonts add font information +*/ +function addText(metrics, pdf, range, text, anchor, p1, p2, linespacing, + bates, font, fontsize, r, g, b, underneath, relative_to_cropbox, outline, + opacity, justification, midline, topline, filename, linewidth, embed_fonts) {} + +/** Adds text with most parameters default. +@arg {pdf} pdf PDF document +@arg {range} range page range +@arg {string} text text to add. \\n for newline +@arg {anchor} anchor anchor to add text at +@arg {number} p1 position argument 1 +@arg {number} p2 position argument 2 +@arg {font} font font +@arg {number} fontsize font size */ +function addTextSimple(pdf, range, text, anchor, p1, p2, font, fontsize) {} + +/** Removes any text added by cpdf from the given pages. +@arg {pdf} pdf PDF document +@arg {range} range page range */ +function removeText(pdf, range) {} + +/** Returns the width of a given string in the given font in thousandths of a +point. +@arg {font} font font +@arg {string} text text +@result {number} width */ +function textWidth(font, text) {} + +/** Adds page content before (if true) or after (if false) the existing +content to pages in the given range in the given PDF. +@arg {string} content content to add +@arg {boolean} before rather than after +@arg {pdf} pdf PDF document +@arg {range} range page range */ +function addContent(content, before, pdf, range) {} + +/** Stamps stamp_pdf onto the pages in the given range in pdf as a shared Form +XObject. The name of the newly-created XObject is returned. +@arg {pdf} pdf PDF document +@arg {range} range page range +@arg {pdf} stamp_pdf stamp pdf +@result {string} name of XObject */ +function stampAsXObject(pdf, range, stamp_pdf) {} + diff --git a/html_manual/javascriptsplits/c10.tex b/html_manual/javascriptsplits/c10.tex new file mode 100644 index 0000000..2543455 --- /dev/null +++ b/html_manual/javascriptsplits/c10.tex @@ -0,0 +1,56 @@ +// CHAPTER 9. Multipage facilities + +/** Imposes a PDF. There are two modes: imposing x * y, or imposing to fit a +page of size x * y. This is controlled by fit. Columns imposes by columns +rather than rows. rtl is right-to-left, btt bottom-to-top. Center is unused +for now. Margin is the margin around the output, spacing the spacing between +imposed inputs. +@arg {pdf} pdf PDF document +@arg {number} x (explained above) +@arg {number} y (explained above) +@arg {boolean} fit (explained above) +@arg {boolean} rtl impose right to left +@arg {boolean} btt impose bottom to top +@arg {boolean} center unused +@arg {number} margin margin around output pages +@arg {number} spacing spacing between imposed pages +@arg {number} linewidth line width */ +function impose(pdf, x, y, fit, columns, rtl, btt, center, margin, spacing, linewidth) {} + +/** Imposes a document two up. twoUp does so by shrinking the page size, to fit +two pages on one. +@arg {pdf} pdf PDF document */ +function twoUp(pdf) {} + +/** Impose a document two up. twoUpStack does so by doubling the page size, +to fit two pages on one. +@arg {pdf} pdf PDF document */ +function twoUpStack(pdf) {} + +/** Adds a blank page before each page in the given range. +@arg {pdf} pdf PDF document +@arg {range} range page range */ +function padBefore(pdf, range) {} + +/** Adds a blank page after every n pages. +@arg {pdf} pdf PDF document +@arg {range} range page range */ +function padAfter(pdf, range) {} + +/** Adds a blank page after every n pages. +@arg {pdf} pdf PDF document +@arg {number} interval */ +function padEvery(pdf, n) {} + +/** Adds pages at the end to pad the file to a multiple of n pages in +length. +@arg {pdf} pdf PDF document +@arg {number} multiple to pad to */ +function padMultiple(pdf, n) {} + +/** Adds pages at the beginning to pad the file to a multiple of n pages in +length. +@arg {pdf} pdf PDF document +@arg {number} multiple to pad to */ +function padMultipleBefore(pdf, n) {} + diff --git a/html_manual/javascriptsplits/c11.tex b/html_manual/javascriptsplits/c11.tex new file mode 100644 index 0000000..5884a35 --- /dev/null +++ b/html_manual/javascriptsplits/c11.tex @@ -0,0 +1,7 @@ +// CHAPTER 10. Annotations + +/** Returns the annotations from a PDF in JSON format. +@arg {pdf} pdf PDF document +@return {Uint8Array} results as an array of bytes */ +function annotationsJSON(pdf) {} + diff --git a/html_manual/javascriptsplits/c12.tex b/html_manual/javascriptsplits/c12.tex new file mode 100644 index 0000000..51e06cb --- /dev/null +++ b/html_manual/javascriptsplits/c12.tex @@ -0,0 +1,593 @@ +// CHAPTER 11. Document Information and Metadata + +/** Finds out if a document is linearized as quickly as possible without +loading it. +@arg {string} filename file name +@result {boolean} true if linearized */ +function isLinearized(filename) {} + +/** Finds out if a document in memory is linearized as quickly as possible without +loading it. +@arg {Uint8Array} PDF file as a byte array +@result {boolean} true if linearized */ +function isLinearizedMemory(data) {} + +/** Returns the minor version number of a document. +@arg {pdf} pdf PDF document +@return {number} version number */ +function getVersion(pdf) {} + +/** Returns the major version number of a document. +@arg {pdf} pdf PDF document +@return {number} major version number */ +function getMajorVersion(pdf) {} + +/** Returns the title of a document. +@arg {pdf} pdf PDF document +@return {string} title */ +function getTitle(pdf) {} + +/** Returns the author of a document. +@arg {pdf} pdf PDF document +@return {string} author */ +function getAuthor(pdf) {} + +/** Returns the subject of a document. +@arg {pdf} pdf PDF document +@return {string} subject */ +function getSubject(pdf) {} + +/** Returns the keywords of a document. +@arg {pdf} pdf PDF document +@return {string} keywords */ +function getKeywords(pdf) {} + +/** Returns the creator of a document. +@arg {pdf} pdf PDF document +@return {string} creator */ +function getCreator(pdf) {} + +/** Returns the producer of a document. +@arg {pdf} pdf PDF document +@return {string} producer */ +function getProducer(pdf) {} + +/** Returns the creation date of a document. +@arg {pdf} pdf PDF document +@return {string} creation date */ +function getCreationDate(pdf) {} + +/** Returns the modification date of a document. +@arg {pdf} pdf PDF document +@return {string} modification date */ +function getModificationDate(pdf) {} + +/** Returns the XMP title of a document. +@arg {pdf} pdf PDF document +@return {string} XMP title */ +function getTitleXMP(pdf) {} + +/** Returns the XMP author of a document. +@arg {pdf} pdf PDF document +@return {string} XMP author */ +function getAuthorXMP(pdf) {} + +/** Returns the XMP subject of a document. +@arg {pdf} pdf PDF document +@return {string} XMP subject */ +function getSubjectXMP(pdf) {} + +/** Returns the XMP keywords of a document. +@arg {pdf} pdf PDF document +@return {string} XMP keywords */ +function getKeywordsXMP(pdf) {} + +/** Returns the XMP creator of a document. +@arg {pdf} pdf PDF document +@return {string} XMP creator */ +function getCreatorXMP(pdf) {} + +/** Returns the XMP producer of a document. +@arg {pdf} pdf PDF document +@return {string} XMP producer */ +function getProducerXMP(pdf) {} + +/** Returns the XMP creation date of a document. +@arg {pdf} pdf PDF document +@return {string} XMP creation date */ +function getCreationDateXMP(pdf) {} + +/** Returns the XMP modification date of a document. +@arg {pdf} pdf PDF document +@return {string} XMP modification date */ +function getModificationDateXMP(pdf) {} + +/** Sets the title of a document. +@arg {pdf} pdf PDF document +@arg {string} s title */ +function setTitle(pdf, s) {} + +/** Sets the author of a document. +@arg {pdf} pdf PDF document +@arg {string} s author */ +function setAuthor(pdf, s) {} + +/** Sets the subject of a document. +@arg {pdf} pdf PDF document +@arg {string} s subject */ +function setSubject(pdf, s) {} + +/** Sets the keywords of a document. +@arg {pdf} pdf PDF document +@arg {string} s keywords */ +function setKeywords(pdf, s) {} + +/** Sets the creator of a document. +@arg {pdf} pdf PDF document +@arg {string} s creator */ +function setCreator(pdf, s) {} + +/** Sets the producer of a document. +@arg {pdf} pdf PDF document +@arg {string} s producer */ +function setProducer(pdf, s) {} + +/** Sets the creation date of a document. +@arg {pdf} pdf PDF document +@arg {string} s creation date */ +function setCreationDate(pdf, s) {} + +/** Sets the modification date of a document. +@arg {pdf} pdf PDF document +@arg {string} s modification date */ +function setModificationDate(pdf, s) {} + +/** Sets the XMP title of a document. +@arg {pdf} pdf PDF document +@arg {string} s XMP title */ +function setTitleXMP(pdf, s) {} + +/** Sets the XMP author of a document. +@arg {pdf} pdf PDF document +@arg {string} s XMP author */ +function setAuthorXMP(pdf, s) {} + +/** Sets the XMP author of a document. +@arg {pdf} pdf PDF document +@arg {string} s XMP subject */ +function setSubjectXMP(pdf, s) {} + +/** Sets the XMP keywords of a document. +@arg {pdf} pdf PDF document +@arg {string} s XMP keywords */ +function setKeywordsXMP(pdf, s) {} + +/** Sets the XMP creator of a document. +@arg {pdf} pdf PDF document +@arg {string} s XMP creator */ +function setCreatorXMP(pdf, s) {} + +/** Sets the XMP producer of a document. +@arg {pdf} pdf PDF document +@arg {string} s XMP producer */ +function setProducerXMP(pdf, s) {} + +/** Sets the XMP creation date of a document. +@arg {pdf} pdf PDF document +@arg {string} s XMP creation date */ +function setCreationDateXMP(pdf, s) {} + +/** Sets the XMP modification date of a document. +@arg {pdf} pdf PDF document +@arg {string} s XMP modification date */ +function setModificationDateXMP(pdf, s) {} + +/** Returns the components from a PDF date string. +@arg {string} string date string +@return {"array of numbers"} date components */ +function getDateComponents(string) {} + +/** Builds a PDF date string from individual components. +@arg {number} y year +@arg {number} m month +@arg {number} d day +@arg {number} h hour +@arg {number} min minute +@arg {number} sec second +@arg {number} hour_offset hour offset +@arg {number} minute_offset minute offset +@return {string} date string */ +function dateStringOfComponents(y, m, d, h, min, sec, hour_offset, minute_offset) {} + +/** Gets the viewing rotation for a given page. +@arg {pdf} pdf PDF document +@arg {number} page page number +@result {number} page rotation */ +function getPageRotation(pdf, page) {} + +/** Returns true if that page has the given box. E.g "/CropBox". +@arg {pdf} pdf PDF document +@arg {number} page page number +@arg {string} box box name +@result {boolean} true if box present */ +function hasBox(pdf, page, box) {} + +/** These functions get a box given the document, page number, min x, max x, +min y, max y in points. Only succeeds if such a box exists, as checked by +hasBox. +@arg {pdf} pdf PDF document +@arg {number} pagenumber page number +@return {"array of numbers"} media box */ +function getMediaBox(pdf, pagenumber) {} + +/** These functions get a box given the document, page number, min x, max x, +min y, max y in points. Only succeeds if such a box exists, as checked by +hasBox. +@arg {pdf} pdf PDF document +@arg {number} pagenumber page number +@return {"array of numbers"} crop box */ +function getCropBox(pdf, pagenumber) {} + +/** These functions get a box given the document, page number, min x, max x, +min y, max y in points. Only succeeds if such a box exists, as checked by +hasBox. +@arg {pdf} pdf PDF document +@arg {number} pagenumber page number +@return {"array of numbers"} art box */ +function getArtBox(pdf, pagenumber) {} + +/** These functions get a box given the document, page number, min x, max x, +min y, max y in points. Only succeeds if such a box exists, as checked by +hasBox. +@arg {pdf} pdf PDF document +@arg {number} pagenumber page number +@return {"array of numbers"} bleed box */ +function getBleedBox(pdf, pagenumber) {} + +/** These functions get a box given the document, page number, min x, max x, +min y, max y in points. Only succeeds if such a box exists, as checked by +hasBox. +@arg {pdf} pdf PDF document +@arg {number} pagenumber page number +@return {"array of numbers"} trim box */ +function getTrimBox(pdf, pagenumber) {} + +/** These functions set a box given the document, page range, min x, max x, +min y, max y in points. +@arg {pdf} pdf PDF document +@arg {range} range page range +@arg {number} minx min x +@arg {number} maxx max x +@arg {number} minx min y +@arg {number} maxx max y */ +function setMediabox(pdf, range, minx, maxx, miny, maxy) {} + +/** These functions set a box given the document, page range, min x, max x, +min y, max y in points. +@arg {pdf} pdf PDF document +@arg {range} range page range +@arg {number} minx min x +@arg {number} maxx max x +@arg {number} minx min y +@arg {number} maxx max y */ +function setCropBox(pdf, range, minx, maxx, miny, maxy) {} + +/** These functions set a box given the document, page range, min x, max x, +min y, max y in points. +@arg {pdf} pdf PDF document +@arg {range} range page range +@arg {number} minx min x +@arg {number} maxx max x +@arg {number} minx min y +@arg {number} maxx max y */ +function setTrimBox(pdf, range, minx, maxx, miny, maxy) {} + +/** These functions set a box given the document, page range, min x, max x, +min y, max y in points. +@arg {pdf} pdf PDF document +@arg {range} range page range +@arg {number} minx min x +@arg {number} maxx max x +@arg {number} minx min y +@arg {number} maxx max y */ +function setBleedBox(pdf, range, minx, maxx, miny, maxy) {} + +/** These functions set a box given the document, page range, min x, max x, +min y, max y in points. +@arg {pdf} pdf PDF document +@arg {range} range page range +@arg {number} minx min x +@arg {number} maxx max x +@arg {number} minx min y +@arg {number} maxx max y */ +function setArtBox(pdf, range, minx, maxx, miny, maxy) {} + +/** Marks a document as trapped. +@arg {pdf} pdf PDF document */ +function markTrapped(pdf) {} + +/** Marks a document as untrapped. +@arg {pdf} pdf PDF document */ +function markUntrapped(pdf) {} + +/** Marks a document as trapped in XMP metadata. +@arg {pdf} pdf PDF document */ +function markTrappedXMP(pdf) {} + +/** Marks a document as untrapped in XMP metadata. +@arg {pdf} pdf PDF document */ +function markUntrappedXMP(pdf) {} + +/** Single page */ +var singlePage = 0; + +/** One column */ +var oneColumn = 1; + +/** Two column left */ +var twoColumnLeft = 2; + +/** Two column right */ +var twoColumnRight = 3; + +/** Two page left */ +var twoPageLeft = 4; + +/** Two page right */ +var twoPageRight = 5; + +/** Sets the page layout for a document. +@arg {pdf} pdf PDF document +@arg {layout} layout page layout */ +function setPageLayout(pdf, layout) {} + +/** Use none */ +var useNone = 0; + +/** Use outlines */ +var useOutlines = 1; + +/** Use thumbs */ +var useThumbs = 2; + +/** Use OC */ +var useOC = 3; + +/** Use attachments */ +var useAttachments = 4; + +/** Sets the page mode for a document. +@arg {pdf} pdf PDF document +@arg {mode} mode page mode */ +function setPageMode(pdf, mode) {} + +/** Sets the hide toolbar flag. +@arg {pdf} pdf PDF document +@arg {boolean} flag hide toolbar */ +function hideToolbar(pdf, flag) {} + +/** Sets the hide menubar flag. +@arg {pdf} pdf PDF document +@arg {boolean} flag hide menubar */ +function hideMenubar(pdf, flag) {} + +/** Sets the hide window UI flag. +@arg {pdf} pdf PDF document +@arg {boolean} flag hide UI */ +function hideWindowUi(pdf, flag) {} + +/** Sets the fit window flag. +@arg {pdf} pdf PDF document +@arg {boolean} flag fit window */ +function fitWindow(pdf, flag) {} + +/** Sets the center window flag. +@arg {pdf} pdf PDF document +@arg {boolean} flag center window */ +function centerWindow(pdf, flag) {} + +/** Sets the display doc title flag. +@arg {pdf} pdf PDF document +@arg {boolean} flag display doc title */ +function displayDocTitle(pdf, flag) {} + +/** Sets the PDF to open, possibly with zoom-to-fit, at the given page +number. +@arg {pdf} pdf PDF document +@arg {boolean} fit zoom-to-fit +@arg {number} pagenumber page number */ +function openAtPage(pdf, fit, pagenumber) {} + +/** Sets the XMP metadata of a document, given a file name. +@arg {pdf} pdf PDF document +@arg {string} filename file name */ +function setMetadataFromFile(pdf, filename) {} + +/** Sets the XMP metadata from an array of bytes. +@arg {pdf} pdf PDF document +@arg {Uint8Array} data XMP metadata as an array of bytes */ +function setMetadataFromByteArray(pdf, data) {} + +/** Removes the XMP metadata from a document. +@arg {pdf} pdf PDF document */ +function removeMetadata(pdf) {} + +/** Returns the XMP metadata from a document. +@arg {pdf} pdf PDF document +@result {Uint8Array} XMP metadata as a byte array */ +function getMetadata(pdf) {} + +/** Builds fresh XMP metadata as best it can from existing metadata in the +document. +@arg {pdf} pdf PDF document */ +function createMetadata(pdf) {} + +/** Sets the metadata date for a PDF. The date is given in PDF date format -- +cpdf will convert it to XMP format. The date 'now' means now. */ +function setMetadataDate(pdf, date) {} + +/** 1, 2, 3... */ +var decimalArabic = 0; + +/** I, II, III... */ +var uppercaseRoman = 1; + +/** i, ii, iii... */ +var lowercaseRoman = 2; + +/** A, B, C... */ +var uppercaseLetters = 3; + +/** a, b, c... */ +var lowercaseLetters = 4; + +/** Adds page labels. The prefix is prefix text for each label. The range is +the page range the labels apply to. Offset can be used to shift the numbering +up or down. +@arg {pdf} pdf PDF document +@arg {style} style page label style +@arg {string} prefix label prefix +@arg {number} offset offset +@arg {range} range page range +@arg {boolean} progress labels progress */ +function addPageLabels(pdf, style, prefix, offset, range, progress) {} + +/** Removes the page labels from the document. +@arg {pdf} pdf PDF document */ +function removePageLabels(pdf) {} + +/** Calculates the full label string for a given page, and returns it. +@arg {pdf} pdf PDF document +@arg {number} pagenumber page number +@result {string} page label string */ +function getPageLabelStringForPage(pdf, pagenumber) {} + +/** Gets page label data. Call startGetPageLabels to find out how many +there are, then use these serial numbers to get the style, prefix, offset +and start value (note not a range). Call endGetPageLabels to clean up.

+ +For example, a document might have five pages of introduction with roman +numerals, followed by the rest of the pages in decimal arabic, numbered from +one:

+ +labelstyle = LowercaseRoman
+labelprefix = ""
+startpage = 1
+startvalue = 1

+ +labelstyle = DecimalArabic
+labelprefix = ""
+startpage = 6
+startvalue = 1
+ +@arg {pdf} pdf PDF document +@result {number} number of page labels */ +function startGetPageLabels(pdf) {} + +/** Gets page label data. Call startGetPageLabels to find out how many +there are, then use these serial numbers to get the style, prefix, offset +and start value (note not a range). Call endGetPageLabels to clean up.

+ +For example, a document might have five pages of introduction with roman +numerals, followed by the rest of the pages in decimal arabic, numbered from +one:

+ +labelstyle = LowercaseRoman
+labelprefix = ""
+startpage = 1
+startvalue = 1

+ +labelstyle = DecimalArabic
+labelprefix = ""
+startpage = 6
+startvalue = 1
+ +@arg {number} n serial number +@result {"label style"} page label style */ +function getPageLabelStyle(n) {} + +/** Gets page label data. Call startGetPageLabels to find out how many +there are, then use these serial numbers to get the style, prefix, offset +and start value (note not a range). Call endGetPageLabels to clean up.

+ +For example, a document might have five pages of introduction with roman +numerals, followed by the rest of the pages in decimal arabic, numbered from +one:

+ +labelstyle = LowercaseRoman
+labelprefix = ""
+startpage = 1
+startvalue = 1

+ +labelstyle = DecimalArabic
+labelprefix = ""
+startpage = 6
+startvalue = 1
+ +@arg {number} n serial number +@result {string} page label prefix */ +function getPageLabelPrefix(n) {} + +/** Gets page label data. Call startGetPageLabels to find out how many +there are, then use these serial numbers to get the style, prefix, offset +and start value (note not a range). Call endGetPageLabels to clean up.

+ +For example, a document might have five pages of introduction with roman +numerals, followed by the rest of the pages in decimal arabic, numbered from +one:

+ +labelstyle = LowercaseRoman
+labelprefix = ""
+startpage = 1
+startvalue = 1

+ +labelstyle = DecimalArabic
+labelprefix = ""
+startpage = 6
+startvalue = 1
+ +@arg {number} n serial number +@result {number} page label offset */ +function getPageLabelOffset(n) {} + +/** Gets page label data. Call startGetPageLabels to find out how many +there are, then use these serial numbers to get the style, prefix, offset +and start value (note not a range). Call endGetPageLabels to clean up.

+ +For example, a document might have five pages of introduction with roman +numerals, followed by the rest of the pages in decimal arabic, numbered from +one:

+ +labelstyle = LowercaseRoman
+labelprefix = ""
+startpage = 1
+startvalue = 1

+ +labelstyle = DecimalArabic
+labelprefix = ""
+startpage = 6
+startvalue = 1
+ +@arg {number} n serial number +@result {number} page label range */ +function getPageLabelRange(n) {} + +/** Gets page label data. Call startGetPageLabels to find out how many +there are, then use these serial numbers to get the style, prefix, offset +and start value (note not a range). Call endGetPageLabels to clean up.

+ +For example, a document might have five pages of introduction with roman +numerals, followed by the rest of the pages in decimal arabic, numbered from +one:

+ +labelstyle = LowercaseRoman
+labelprefix = ""
+startpage = 1
+startvalue = 1

+ +labelstyle = DecimalArabic
+labelprefix = ""
+startpage = 6
+startvalue = 1
*/ +function endGetPageLabels() {} + diff --git a/html_manual/javascriptsplits/c13.tex b/html_manual/javascriptsplits/c13.tex new file mode 100644 index 0000000..ef98c58 --- /dev/null +++ b/html_manual/javascriptsplits/c13.tex @@ -0,0 +1,63 @@ +// CHAPTER 12. File Attachments + +/** Attaches a file to the pdf. It is attached at document level. +@arg {string} filename file name +@arg {pdf} pdf PDF document */ +function attachFile(filename, pdf) {} + +/** Attaches a file, given its file name, pdf, and the page number +to which it should be attached. +@arg {string} filename file name +@arg {pdf} pdf PDF document +@arg {number} pagenumber page number */ +function attachFileToPage(filename, pdf, pagenumber) {} + +/** Attaches data from memory, just like attachFile. +@arg {Uint8Array} data file as a byte array +@arg {string} filename file name to call it in the PDF +@arg {pdf} pdf PDF document */ +function attachFileFromMemory(data, filename, pdf) {} + +/** Attaches to a page from memory, just like attachFileToPage. +@arg {Uint8Array} data file as a byte array +@arg {string} filename file name to call it in the PDF +@arg {pdf} pdf PDF document +@arg {number} pagenumber page number */ +function attachFileToPageFromMemory(data, filename, pdf, pagenumber) {} + +/** Removes all page- and document-level attachments from a document. +@arg {pdf} pdf PDF document */ +function removeAttachedFiles(pdf) {} + +/** Lists information about attachments. Call startGetAttachments(pdf) first, +then numberGetAttachments to find out how many there are. Then +getAttachmentName etc. to return each one 0...(n - 1). Finally, call +endGetAttachments to clean up. +@arg {pdf} pdf PDF document */ +function startGetAttachments(pdf) {} + +/** Lists information about attachments. Call startGetAttachments(pdf) first, +then numberGetAttachments to find out how many there are. Then +getAttachmentName etc. to return each one 0...(n - 1). Finally, call +endGetAttachments to clean up. +@return {number} number of attachments */ +function numberGetAttachments() {} + +/** Gets the name of an attachment. +@arg {number} n serial number +@return {string} attachment name */ +function getAttachmentName(n) {} + +/** Gets the page number. 0 = document level. +@arg {number} n serial number +@return {number} attachment page */ +function getAttachmentPage(n) {} + +/** Gets the attachment data itself. +@arg {number} n serial number +@return {Uint8Array} attachment data */ +function getAttachmentData(n) {} + +/** Cleans up after getting attachments. */ +function endGetAttachments() {} + diff --git a/html_manual/javascriptsplits/c14.tex b/html_manual/javascriptsplits/c14.tex new file mode 100644 index 0000000..4643c8b --- /dev/null +++ b/html_manual/javascriptsplits/c14.tex @@ -0,0 +1,89 @@ +//CHAPTER 13. Images + +/** Gets image data, including resolution at all points of use. Call +startGetImageResolution(pdf, min_required_resolution) to begin the process of +obtaining data on all image uses below min_required_resolution, returning the +total number. So, to return all image uses, specify a very high +min_required_resolution. Then, call the other functions giving a serial number +0..n - 1, to retrieve the data. Finally, call endGetImageResolution to clean +up. +@arg {pdf} pdf PDF document +@arg {number} min_required_resolution minimum required resolution +@return {number} number of uses */ +function startGetImageResolution(pdf, min_required_resolution) {} + +/** Gets image data, including resolution at all points of use. Call +startGetImageResolution(pdf, min_required_resolution) to begin the process of +obtaining data on all image uses below min_required_resolution, returning the +total number. So, to return all image uses, specify a very high +min_required_resolution. Then, call the other functions giving a serial number +0..n - 1, to retrieve the data. Finally, call endGetImageResolution to clean +up. +@arg {number} n serial number +@return {number} page number */ +function getImageResolutionPageNumber(n) {} + +/** Gets image data, including resolution at all points of use. Call +startGetImageResolution(pdf, min_required_resolution) to begin the process of +obtaining data on all image uses below min_required_resolution, returning the +total number. So, to return all image uses, specify a very high +min_required_resolution. Then, call the other functions giving a serial number +0..n - 1, to retrieve the data. Finally, call endGetImageResolution to clean +up. +@arg {number} n serial number +@return {string} image name */ +function getImageResolutionImageName(n) {} + +/** Gets image data, including resolution at all points of use. Call +startGetImageResolution(pdf, min_required_resolution) to begin the process of +obtaining data on all image uses below min_required_resolution, returning the +total number. So, to return all image uses, specify a very high +min_required_resolution. Then, call the other functions giving a serial number +0..n - 1, to retrieve the data. Finally, call endGetImageResolution to clean +up. +@arg {number} n serial number +@return {number} X pixels */ +function getImageResolutionXPixels(n) {} + +/** Gets image data, including resolution at all points of use. Call +startGetImageResolution(pdf, min_required_resolution) to begin the process of +obtaining data on all image uses below min_required_resolution, returning the +total number. So, to return all image uses, specify a very high +min_required_resolution. Then, call the other functions giving a serial number +0..n - 1, to retrieve the data. Finally, call endGetImageResolution to clean +up. +@arg {number} n serial number +@return {number} Y pixels */ +function getImageResolutionYPixels(n) {} + +/** Gets image data, including resolution at all points of use. Call +startGetImageResolution(pdf, min_required_resolution) to begin the process of +obtaining data on all image uses below min_required_resolution, returning the +total number. So, to return all image uses, specify a very high +min_required_resolution. Then, call the other functions giving a serial number +0..n - 1, to retrieve the data. Finally, call endGetImageResolution to clean +up. +@arg {number} n serial number +@return {number} X Res */ +function getImageResolutionXRes(n) {} + +/** Gets image data, including resolution at all points of use. Call +startGetImageResolution(pdf, min_required_resolution) to begin the process of +obtaining data on all image uses below min_required_resolution, returning the +total number. So, to return all image uses, specify a very high +min_required_resolution. Then, call the other functions giving a serial number +0..n - 1, to retrieve the data. Finally, call endGetImageResolution to clean +up. +@arg {number} n serial number +@return {number} Y Res */ +function getImageResolutionYRes(n) {} + +/** Gets image data, including resolution at all points of use. Call +startGetImageResolution(pdf, min_required_resolution) to begin the process of +obtaining data on all image uses below min_required_resolution, returning the +total number. So, to return all image uses, specify a very high +min_required_resolution. Then, call the other functions giving a serial number +0..n - 1, to retrieve the data. Finally, call endGetImageResolution to clean +up. */ +function endGetImageResolution() {} + diff --git a/html_manual/javascriptsplits/c15.tex b/html_manual/javascriptsplits/c15.tex new file mode 100644 index 0000000..9d6d96c --- /dev/null +++ b/html_manual/javascriptsplits/c15.tex @@ -0,0 +1,74 @@ +// CHAPTER 14. Fonts. + +/** Retrieves font information. First, call startGetFontInfo(pdf). Now call +numberFonts to return the number of fonts. For each font, call one or more of +getFontPage, getFontName, getFontType, and getFontEncoding giving a serial +number 0..n - 1 to return information. Finally, call endGetFontInfo to clean +up. +@ {pdf} pdf PDF document */ +function startGetFontInfo(pdf) {} + +/** Retrieves font information. First, call startGetFontInfo(pdf). Now call +numberFonts to return the number of fonts. For each font, call one or more of +getFontPage, getFontName, getFontType, and getFontEncoding giving a serial +number 0..n - 1 to return information. Finally, call endGetFontInfo to clean +up. +@result {number} number of fonts */ +function numberFonts() {} + +/** Retrieves font information. First, call startGetFontInfo(pdf). Now call +numberFonts to return the number of fonts. For each font, call one or more of +getFontPage, getFontName, getFontType, and getFontEncoding giving a serial +number 0..n - 1 to return information. Finally, call endGetFontInfo to clean +up. +@arg {number} n serial number +@return {number} page number */ +function getFontPage(n) {} + +/** Retrieves font information. First, call startGetFontInfo(pdf). Now call +numberFonts to return the number of fonts. For each font, call one or more of +getFontPage, getFontName, getFontType, and getFontEncoding giving a serial +number 0..n - 1 to return information. Finally, call endGetFontInfo to clean +up. +@arg {number} n serial number +@return {string} font name */ +function getFontName(n) {} + +/** Retrieves font information. First, call startGetFontInfo(pdf). Now call +numberFonts to return the number of fonts. For each font, call one or more of +getFontPage, getFontName, getFontType, and getFontEncoding giving a serial +number 0..n - 1 to return information. Finally, call endGetFontInfo to clean +up. +@arg {number} n serial number +@return {string} font type */ +function getFontType(n) {} + +/** Retrieves font information. First, call startGetFontInfo(pdf). Now call +numberFonts to return the number of fonts. For each font, call one or more of +getFontPage, getFontName, getFontType, and getFontEncoding giving a serial +number 0..n - 1 to return information. Finally, call endGetFontInfo to clean +up. +@arg {number} n serial number +@return {string} font encoding */ +function getFontEncoding(n) {} + +/** Retrieves font information. First, call startGetFontInfo(pdf). Now call +numberFonts to return the number of fonts. For each font, call one or more of +getFontPage, getFontName, getFontType, and getFontEncoding giving a serial +number 0..n - 1 to return information. Finally, call endGetFontInfo to clean +up. */ +function endGetFontInfo() {} + +/** Removes all font data from a file. +@arg {pdf} pdf PDF document */ +function removeFonts(pdf) {} + +/** Copies the given font from the given page in the 'from' PDF to every page +in the range of the 'to' PDF. The new font is stored under its font name. +@arg {pdf} docfrom source document +@arg {pdf} docto destination document +@arg {range} page range +@arg {number} pagenumber source page number +@arg {string} fontname font name */ +function copyFont(docfrom, docto, range, pagenumber, fontname) {} + diff --git a/html_manual/javascriptsplits/c16.tex b/html_manual/javascriptsplits/c16.tex new file mode 100644 index 0000000..3df5b79 --- /dev/null +++ b/html_manual/javascriptsplits/c16.tex @@ -0,0 +1,30 @@ +// CHAPTER 15. PDF and JSON + +/** Outputs a PDF in JSON format to the given filename. If parse_content is +true, page content is parsed. If no_stream_data is true, all stream data is +suppressed entirely. If decompress_streams is true, streams are decompressed. +@arg {string} filename file name +@arg {boolean} parse_content parse page content +@arg {boolean} no_stream_data suppress stream data +@arg {boolean} decompress_streams decompress streams +@arg {pdf} pdf PDF document */ +function outputJSON(filename, parse_content, no_stream_data, decompress_streams, pdf) {} + +/** Like outputJSON, but it writes to a byte array in memory. +@arg {boolean} parse_content parse page content +@arg {boolean} no_stream_data suppress stream data +@arg {boolean} decompress_streams decompress streams +@arg {pdf} pdf PDF document +@return {Uint8Array} JSON data as a byte array */ +function outputJSONMemory(parse_content, no_stream_data, decompress_streams, pdf) {} + +/** Loads a PDF from a JSON file given its filename. +@arg {string} filename file name +@return {pdf} PDF document */ +function fromJSON(filename) {} + +/** Loads a PDF from a JSON file in memory. +@arg {Uint8Array} data JSON data as a byte array +@return {pdf} PDF document */ +function fromJSONMemory(data) {} + diff --git a/html_manual/javascriptsplits/c17.tex b/html_manual/javascriptsplits/c17.tex new file mode 100644 index 0000000..ab64b7b --- /dev/null +++ b/html_manual/javascriptsplits/c17.tex @@ -0,0 +1,32 @@ +// CHAPTER 16. Optional Content Groups + +/** Begins retrieving optional content group names. The number of entries is returned. +@arg {pdf} pdf PDF document +@return {number} number of entries */ +function startGetOCGList(pdf) {} + +/** Retrieves an OCG name, given its serial number 0..n - 1. +@arg {number} n serial number +@return {string} OCG name */ +function ocgListEntry(n) {} + +/** Ends retrieval of optional content group names. */ +function endGetOCGList() {} + +/** Renames an optional content group. +@arg {pdf} pdf PDF document +@arg {string} name_from source name +@arg {string} name_to destination name */ +function ocgRename(pdf, name_from, name_to) {} + +/** Ensures that every optional content group appears in the OCG order list. +@arg {pdf} pdf PDF document */ +function ocgOrderAll(pdf) {} + +/** Coalesces optional content groups. For example, if we merge or stamp two +files both with an OCG called "Layer 1", we will have two different optional +content groups. This function will merge the two into a single optional +content group. +@arg {pdf} pdf PDF document */ +function ocgCoalesce(pdf) {} + diff --git a/html_manual/javascriptsplits/c18.tex b/html_manual/javascriptsplits/c18.tex new file mode 100644 index 0000000..83532c0 --- /dev/null +++ b/html_manual/javascriptsplits/c18.tex @@ -0,0 +1,54 @@ +// CHAPTER 17. Creating new PDFs + +/** Creates a blank document with pages of the given width (in points), height +(in points), and number of pages. +@arg {number} w page width +@arg {number} h page height +@arg {number} number of pages +@return {pdf} PDF document */ +function blankDocument(w, h, pages) {} + +/** Makes a blank document given a page size and number of pages. +@arg {"paper size"} papersize paper size +@arg {number} pages number of pages +@return {pdf} PDF document */ +function blankDocumentPaper(papersize, pages) {} + +/** Typesets a UTF8 text file ragged right on a page of size w * h in points +in the given font and font size. +@arg {number} w page width +@arg {number} h page height +@arg {font} font font +@arg {number} fontsize font size +@arg {string} filename file name +@result {pdf} PDF document */ +function textToPDF(w, h, font, fontsize, filename) {} + +/** Typesets a UTF8 text file ragged right on a page of size w * h in points +in the given font and font size. +@arg {number} w page width +@arg {number} h page height +@arg {font} font font +@arg {number} fontsize font size +@arg {Uint8Array} data text +@result {pdf} PDF document */ +function textToPDFMemory(w, h, font, fontsize, data) {} + +/** Typesets a UTF8 text file ragged right on a page of the given size in the +given font and font size. +@arg {"paper size"} papersize paper size +@arg {font} font font +@arg {number} fontsize font size +@arg {string} filename file name +@result {pdf} PDF document */ +function textToPDFPaper(papersize, font, fontsize, filename) {} + +/** Typesets a UTF8 text file ragged right on a page of the given size in the +given font and font size. +@arg {"paper size"} papersize paper size +@arg {font} font font +@arg {number} fontsize font size +@arg {Uint8Array} data text +@result {pdf} PDF document */ +function textToPDFPaperMemory(papersize, font, fontsize, data) {} + diff --git a/html_manual/javascriptsplits/c19.tex b/html_manual/javascriptsplits/c19.tex new file mode 100644 index 0000000..ab87891 --- /dev/null +++ b/html_manual/javascriptsplits/c19.tex @@ -0,0 +1,93 @@ +//CHAPTER 18. Miscellaneous + +/** Removes images on the given pages, replacing them with crossed boxes if +'boxes' is true. +@arg {pdf} pdf PDF document +@arg {range} range page range +@arg {boolean} boxes replace with crossed boxes */ +function draft(pdf, range, boxes) {} + +/** Removes all text from the given pages in a given document. +@arg {pdf} pdf PDF document +@arg {range} range page range */ +function removeAllText(pdf, range) {} + +/* Blackens all text on the given pages. +@arg {pdf} pdf PDF document +@arg {range} range page range */ +function blackText(pdf, range) {} + +/** Blackens all lines on the given pages. +@arg {pdf} pdf PDF document +@arg {range} range page range */ +function blackLines(pdf, range) {} + +/** Blackens all fills on the given pages. +@arg {pdf} pdf PDF document +@arg {range} range page range */ +function blackFills(pdf, range) {} + +/** Thickens every line less than min_thickness to min_thickness. Thickness +given in points. +@arg {pdf} pdf PDF document +@arg {range} range page range +@arg {number} min_thickness minimum required thickness */ +function thinLines(pdf, range, min_thickness) {} + +/** Copies the /ID from one document to another. +@arg {pdf} pdf_from source document +@arg {pdf} pdf_to destination document */ +function copyId(pdf_from, pdf_to) {} + +/** Removes a document's /ID. +@arg {pdf} pdf PDF document */ +function removeId(pdf) {} + +/** Sets the minor version number of a document. +@arg {pdf} pdf PDF document +@arg {number} version */ +function setVersion(pdf, version) {} + +/** Sets the full version number of a document. +@arg {pdf} pdf PDF document +@arg {number} major version +@arg {number} minor version */ +function setFullVersion(pdf, major, minor) {} + +/** Removes any dictionary entry with the given key anywhere in the document. +@arg {pdf} pdf PDF document +@arg {string} key key to remove */ +function removeDictEntry(pdf, key) {} + +/** Removes any dictionary entry with the given key whose value matches the +given search term. +@arg {pdf} pdf PDF document +@arg {string} key key to remove +@arg {string} searchterm search term */ +function removeDictEntrySearch(pdf, key, searchterm) {} + +/** Replaces the value associated with the given key. +@arg {pdf} pdf PDF document +@arg {string} key key to remove +@arg {string} newval new value */ +function replaceDictEntry(pdf, key, newval) {} + +/** Replaces the value associated with the given key if the existing value +matches the search term. +@arg {pdf} pdf PDF document +@arg {string} key key to remove +@arg {string} newval new value +@arg {string} searchterm search term */ +function replaceDictEntrySearch(pdf, key, newval, searchterm) {} + +/** Removes all clipping from pages in the given range. +@arg {pdf} pdf PDF document +@arg {range} range page range */ +function removeClipping(pdf, range) {} + +/* Returns a JSON array containing any and all values associated with the +given key. +@arg {pdf} pdf PDF docment +@arg {string} key key +@return {Uint8Array} results as an array of bytes */ +function getDictEntries(pdf, key) {} diff --git a/html_manual/javascriptsplits/cm1.tex b/html_manual/javascriptsplits/cm1.tex new file mode 100644 index 0000000..4759b5a --- /dev/null +++ b/html_manual/javascriptsplits/cm1.tex @@ -0,0 +1,2 @@ +cpdf.js: JavaScript interface to the cpdf PDF tools +===================================================