Adds dot net manual splits

This commit is contained in:
John Whitington 2022-03-07 17:16:03 +00:00
parent e97a707734
commit 4bf861df47
20 changed files with 2184 additions and 0 deletions

26
dotnetsplits/c00.tex Normal file
View File

@ -0,0 +1,26 @@
Cpdf
The Coherent PDF Library for .NET
Cpdf.Pdf
PDF document. Use the 'using' keyword, or call Dispose to make sure PDFs are deallocated.
Cpdf.Pdf.Dispose
Force disposal of the PDF.
Cpdf.Pdf.Finalize
Class destructor
Cpdf.CPDFError
Any function in this library may raise the CPDFError exception.
Cpdf.CPDFError.#ctor(String)
Construct a CPDFError which carries a string.
Cpdf.dummych0

58
dotnetsplits/c01.tex Normal file
View File

@ -0,0 +1,58 @@
CHAPTER 0. Preliminaries
Cpdf.startup
Initialises the library. Must be called before any other function.
Cpdf.version
Returns a string giving the version number of the CPDF library.
Cpdf.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 fast globally.
Cpdf.setSlow
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 functions sets the mode to slow globally.
Cpdf.lastError
Not to be called directly. Errors in .NET cpdf are raised by exceptions.
Cpdf.lastErrorString
Not to be called directly. Errors in .NET cpdf are raised by exceptions.
Cpdf.clearError
Not to be called directly. Errors in .NET cpdf are raised by exceptions.
Cpdf.onExit
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.
Cpdf.dummych1

373
dotnetsplits/c02.tex Normal file
View File

@ -0,0 +1,373 @@
CHAPTER 1. Basics
Cpdf.fromFile(String, String)
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.
Cpdf.fromFileLazy(String, String)
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.
Cpdf.fromMemory(Byte[], String)
Loads a file from memory given any user password.
Cpdf.fromMemoryLazy(IntPtr, Int32, String)
Loads a file from memory, given a
pointer and a length, and the user password, but lazily like
fromFileLazy. The caller must use AllocHGlobal / Marshal.Copy / FreeHGlobal
itself. It must not free the memory until the PDF is also gone.
Cpdf.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.
Cpdf.enumeratePDFsKey(Int32)
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.
Cpdf.enumeratePDFsInfo(Int32)
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.
Cpdf.endEnumeratePDFs
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.
Cpdf.ptOfCm(Double)
Converts a figure in centimetres to points (72 points to 1 inch)
Cpdf.ptOfMm(Double)
Converts a figure in millimetres to points (72 points to 1 inch)
Cpdf.ptOfIn(Double)
Converts a figure in inches to points (72 points to 1 inch)
Cpdf.cmOfPt(Double)
Converts a figure in points to centimetres (72 points to 1 inch)
Cpdf.mmOfPt(Double)
Converts a figure in points to millimetres (72 points to 1 inch)
Cpdf.inOfPt(Double)
Converts a figure in points to inches (72 points to 1 inch)
Cpdf.parsePagespec(Cpdf.Pdf, String)
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).
Cpdf.validatePagespec(String)
Validates a page specification so far as is
possible in the absence of the actual document. Result is true if valid.
Cpdf.stringOfPagespec(Cpdf.Pdf, List{Int32})
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"
Cpdf.blankRange
Creates a range with no pages in.
Cpdf.range(Int32, Int32)
Builds a range from one page to another inclusive. For
example, range(3, 7) gives the range 3, 4, 5, 6, 7
Cpdf.all(Cpdf.Pdf)
The range containing all the pages in a given document.
Cpdf.even(List{Int32})
Makes a range which contains just the even pages of
another range.
Cpdf.odd(List{Int32})
Makes a range which contains just the odd pages of another
range.
Cpdf.rangeUnion(List{Int32}, List{Int32})
Makes the union of two ranges giving a range
containing the pages in range a and range b.
Cpdf.difference(List{Int32}, List{Int32})
Makes the difference of two ranges, giving a range
containing all the pages in a except for those which are also in b.
Cpdf.removeDuplicates(List{Int32})
Deduplicates a range, making a new one.
Cpdf.rangeLength(List{Int32})
Gives the number of pages in a range.
Cpdf.rangeGet(List{Int32}, Int32)
Gets the page number at position n in a range,
where n runs from 0 to rangeLength - 1.
Cpdf.rangeAdd(List{Int32}, Int32)
Adds the page to a range, if it is not already
there.
Cpdf.isInRange(List{Int32}, Int32)
Returns true if the page is in the range,
false otherwise.
Cpdf.pages(Cpdf.Pdf)
Returns the number of pages in a PDF.
Cpdf.pagesFast(String, String)
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.
Cpdf.toFile(Cpdf.Pdf, String, Boolean, Boolean)
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.
Cpdf.toFileExt(Cpdf.Pdf, String, Boolean, Boolean, Boolean, Boolean, Boolean)
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.
Cpdf.toMemory(Cpdf.Pdf, Boolean, Boolean)
Writes a PDF file
and returns as an array of bytes.
Cpdf.isEncrypted(Cpdf.Pdf)
Returns true if a documented is encrypted, false
otherwise.
Cpdf.decryptPdf(Cpdf.Pdf, String)
Attempts to decrypt a PDF using the given
user password. An exception is raised if the decryption fails.
Cpdf.decryptPdfOwner(Cpdf.Pdf, String)
Attempts to decrypt a PDF using the
given owner password. Raises an exception if the decryption fails.
Cpdf.Permission
Permissions
Cpdf.Permission.NoEdit
Cannot edit the document
Cpdf.Permission.NoPrint
Cannot print the document
Cpdf.Permission.NoCopy
Cannot copy the document
Cpdf.Permission.NoAnnot
Cannot annotate the document
Cpdf.Permission.NoForms
Cannot edit forms in the document
Cpdf.Permission.NoExtract
Cannot extract information
Cpdf.Permission.NoAssemble
Cannot assemble into a bigger document
Cpdf.Permission.NoHqPrint
Cannot print high quality
Cpdf.EncryptionMethod
Encryption methods
Cpdf.EncryptionMethod.Pdf40bit
40 bit RC4 encryption
Cpdf.EncryptionMethod.Pdf128bit
128 bit RC4 encryption
Cpdf.EncryptionMethod.Aes128bitfalse
128 bit AES encryption, do not encrypt metadata
Cpdf.EncryptionMethod.Aes128bittrue
128 bit AES encryption, encrypt metadata
Cpdf.EncryptionMethod.Aes256bitfalse
Deprecated. Do not use for new files
Cpdf.EncryptionMethod.Aes256bittrue
Deprecated. Do not use for new files
Cpdf.EncryptionMethod.Aes256bitisofalse
256 bit AES encryption, do not encrypt metadata
Cpdf.EncryptionMethod.Aes256bitiosotrue
256 bit AES encryption, encrypt metadata
Cpdf.toFileEncrypted(Cpdf.Pdf, Cpdf.EncryptionMethod, List{Cpdf.Permission}, String, String, Boolean, Boolean, String)
Writes a file as encrypted.
Cpdf.toFileEncryptedExt(Cpdf.Pdf, Cpdf.EncryptionMethod, List{Cpdf.Permission}, String, String, Boolean, Boolean, Boolean, Boolean, Boolean, String)
Writes a file as encrypted with extra parameters. WARNING: the
pdf argument will be invalid after this call, and should not be used again.
Cpdf.hasPermission(Cpdf.Pdf, Cpdf.Permission)
Returns true if the given permission
(restriction) is present.
Cpdf.encryptionKind(Cpdf.Pdf)
Returns the encryption method currently in use on
a document.
Cpdf.dummych2

36
dotnetsplits/c03.tex Normal file
View File

@ -0,0 +1,36 @@
CHAPTER 2. Merging and Splitting
Cpdf.mergeSimple(List{Cpdf.Pdf})
Given a list of PDFs,
merges the files into a new one, which is returned.
Cpdf.merge(List{Cpdf.Pdf}, Boolean, Boolean)
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.
Cpdf.mergeSame(List{Cpdf.Pdf}, Boolean, Boolean, List{List{Int32}})
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.
Cpdf.selectPages(Cpdf.Pdf, List{Int32})
Returns a new document which just those pages
in the page range.
Cpdf.dummych3

287
dotnetsplits/c04.tex Normal file
View File

@ -0,0 +1,287 @@
CHAPTER 3. Pages
Cpdf.scalePages(Cpdf.Pdf, List{Int32}, Double, Double)
Scales the page dimensions
and content by the given scale, about (0, 0). Other boxes (crop etc. are
altered as appropriate)
Cpdf.scaleToFit(Cpdf.Pdf, List{Int32}, Double, Double, Double)
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)
Cpdf.Papersize
Built-in paper sizes
Cpdf.Papersize.A0portrait
A0 Portrait paper
Cpdf.Papersize.A1portrait
A1 Portrait paper
Cpdf.Papersize.A2portrait
A2 Portrait paper
Cpdf.Papersize.A3portrait
A3 Portrait paper
Cpdf.Papersize.A4portrait
A4 Portrait paper
Cpdf.Papersize.A5portrait
A5 Portrait paper
Cpdf.Papersize.A0landscape
A0 Landscape paper
Cpdf.Papersize.A1landscape
A1 Landscape paper
Cpdf.Papersize.A2landscape
A2 Landscape paper
Cpdf.Papersize.A3landscape
A3 Landscape paper
Cpdf.Papersize.A4landscape
A4 Landscape paper
Cpdf.Papersize.A5landscape
A5 Landscape paper
Cpdf.Papersize.Usletterportrait
US Letter Portrait paper
Cpdf.Papersize.Usletterlandscape
US Letter Landscape paper
Cpdf.Papersize.Uslegalportrait
US Legal Portrait paper
Cpdf.Papersize.Uslegallandscape
US Legal Landscape paper
Cpdf.scaleToFitPaper(Cpdf.Pdf, List{Int32}, Cpdf.Papersize, Double)
Scales the page content
to fit the given page size, possibly multiplied by scale (typically 1.0)
Cpdf.Anchor
Position anchors
Cpdf.Anchor.PosCentre
Absolute centre
Cpdf.Anchor.PosLeft
Absolute left
Cpdf.Anchor.PosRight
Absolute right
Cpdf.Anchor.Top
The top centre of the page
Cpdf.Anchor.TopLeft
The top left of the page
Cpdf.Anchor.TopRight
The top right of the page
Cpdf.Anchor.Left
The left hand side of the page, halfway down
Cpdf.Anchor.BottomLeft
The bottom left of the page
Cpdf.Anchor.Bottom
The bottom middle of the page
Cpdf.Anchor.BottomRight
The bottom right of the page
Cpdf.Anchor.Right
The right hand side of the page, halfway down
Cpdf.Anchor.Diagonal
Diagonal, bottom left to top right
Cpdf.Anchor.ReverseDiagonal
Diagonal, top left to bottom right
Cpdf.Position
Cpdf.Position.anchor
Position anchor
Cpdf.Position.coord1
Parameter one
Cpdf.Position.coord2
Parameter two
Cpdf.Position.#ctor(Cpdf.Anchor)
Build a position with zero parameters
Cpdf.Position.#ctor(Cpdf.Anchor, Double)
Build a position with one parameter
Cpdf.Position.#ctor(Cpdf.Anchor, Double, Double)
Build a position with two parameters
Cpdf.scaleContents(Cpdf.Pdf, List{Int32}, Cpdf.Position, Double)
Scales the contents of the
pages in the range about the point given by the position, by the
scale given.
Cpdf.shiftContents(Cpdf.Pdf, List{Int32}, Double, Double)
Shifts the content of the pages in
the range.
Cpdf.rotate(Cpdf.Pdf, List{Int32}, Int32)
Changes the viewing rotation to an
absolute value. Appropriate rotations are 0, 90, 180, 270.
Cpdf.rotateBy(Cpdf.Pdf, List{Int32}, Int32)
Rotates the content about the
centre of the page by the given number of degrees, in a clockwise
direction.
Cpdf.rotateContents(Cpdf.Pdf, List{Int32}, Double)
Rotates the content about the
centre of the page by the given number of degrees, in a clockwise
direction.
Cpdf.upright(Cpdf.Pdf, List{Int32})
Changes the viewing rotation of the pages in the
range, counter-rotating the dimensions and content such that there is no
visual change.
Cpdf.hFlip(Cpdf.Pdf, List{Int32})
Flips horizontally the pages in the range.
Cpdf.vFlip(Cpdf.Pdf, List{Int32})
Flips vertically the pages in the range.
Cpdf.crop(Cpdf.Pdf, List{Int32}, Double, Double, Double, Double)
Crops a page, replacing any existing
crop box. The dimensions are in points.
Cpdf.removeCrop(Cpdf.Pdf, List{Int32})
Removes any crop box from pages in the range.
Cpdf.removeTrim(Cpdf.Pdf, List{Int32})
Removes any trim box from pages in the range.
Cpdf.removeArt(Cpdf.Pdf, List{Int32})
Removes any art box from pages in the range.
Cpdf.removeBleed(Cpdf.Pdf, List{Int32})
Removes any bleed box from pages in the range.
Cpdf.trimMarks(Cpdf.Pdf, List{Int32})
Adds trim marks to the given pages, if the
trimbox exists.
Cpdf.showBoxes(Cpdf.Pdf, List{Int32})
Shows the boxes on the given pages, for debug.
Cpdf.hardBox(Cpdf.Pdf, List{Int32}, String)
Makes a given box a 'hard box' i.e clips it explicitly.
Cpdf.dummych4

4
dotnetsplits/c05.tex Normal file
View File

@ -0,0 +1,4 @@
CHAPTER 4. Encryption
Cpdf.dummych5

24
dotnetsplits/c06.tex Normal file
View File

@ -0,0 +1,24 @@
CHAPTER 5. Compression
Cpdf.compress(Cpdf.Pdf)
Compresses any uncompressed streams in the given PDF
using the Flate algorithm.
Cpdf.decompress(Cpdf.Pdf)
Decompresses any streams in the given PDF, so long as
the compression method is supported.
Cpdf.squeezeInMemory(Cpdf.Pdf)
Squeezes a pdf in memory.
Cpdf.dummych6

112
dotnetsplits/c07.tex Normal file
View File

@ -0,0 +1,112 @@
CHAPTER 6. Bookmarks
Cpdf.startGetBookmarkInfo(Cpdf.Pdf)
Starts the bookmark retrieval process for a
given PDF.
Cpdf.numberBookmarks
Gets the number of bookmarks for the PDF given to
startGetBookmarkInfo.
Cpdf.getBookmarkLevel(Int32)
Gets the bookmark level for the given bookmark
(0...(n - 1)).
Cpdf.getBookmarkPage(Cpdf.Pdf, Int32)
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)).
Cpdf.getBookmarkText(Int32)
Returns the text of bookmark (0...(n - 1)).
Cpdf.getBookmarkOpenStatus(Int32)
True if the bookmark is open.
Cpdf.endGetBookmarkInfo
Ends the bookmark retrieval process, cleaning up.
Cpdf.startSetBookmarkInfo(Int32)
Starts the bookmark setting process for n
bookmarks.
Cpdf.setBookmarkLevel(Int32, Int32)
Set bookmark level for the given bookmark
(0...(n - 1)).
Cpdf.setBookmarkPage(Cpdf.Pdf, Int32, Int32)
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)).
Cpdf.setBookmarkOpenStatus(Int32, Boolean)
Sets the open status of bookmark (0...(n - 1)).
Cpdf.setBookmarkText(Int32, String)
Sets the text of bookmark (0...(n - 1)).
Cpdf.endSetBookmarkInfo(Cpdf.Pdf)
Ends the bookmark setting process, writing the
bookmarks to the given PDF.
Cpdf.getBookmarksJSON(Cpdf.Pdf)
Returns the bookmark data in JSON format.
Cpdf.setBookmarksJSON(Cpdf.Pdf, Byte[])
Sets the bookmarks from JSON bookmark data.
Cpdf.tableOfContents(Cpdf.Pdf, Cpdf.Font, Double, String, Boolean)
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.
Cpdf.dummych7

4
dotnetsplits/c08.tex Normal file
View File

@ -0,0 +1,4 @@
CHAPTER 7. Presentations
Cpdf.dummych8

147
dotnetsplits/c09.tex Normal file
View File

@ -0,0 +1,147 @@
CHAPTER 8. Logos, Watermarks and Stamps
Cpdf.stampOn(Cpdf.Pdf, Cpdf.Pdf, List{Int32})
Stamps stamp_pdf on top of 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.
Cpdf.stampUnder(Cpdf.Pdf, Cpdf.Pdf, List{Int32})
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.
Cpdf.stampExtended(Cpdf.Pdf, Cpdf.Pdf, List{Int32}, Boolean, Boolean, Cpdf.Position, Boolean)
A stamping function with extra features. - isover
true, pdf goes over pdf2, isover false, pdf goes under pdf2 -
scale_stamp_to_fit scales the stamp to fit the page - pos gives the
position to put the stamp - relative_to_cropbox: if true, pos is relative
to cropbox not mediabox.
Cpdf.combinePages(Cpdf.Pdf, Cpdf.Pdf)
Combines the PDFs page-by-page, putting
each page of 'over' over each page of 'under'.
Cpdf.Font
Standard fonts
Cpdf.Font.TimesRoman
Times Roman
Cpdf.Font.TimesBold
Times Bold
Cpdf.Font.TimesItalic
Times Italic
Cpdf.Font.TimesBoldItalic
Times Bold Italic
Cpdf.Font.Helvetica
Helvetica
Cpdf.Font.HelveticaBold
Helvetica Bold
Cpdf.Font.HelveticaOblique
Helvetica Oblique
Cpdf.Font.HelveticaBoldOblique
Helvetica Bold Oblique
Cpdf.Font.Courier
Courier
Cpdf.Font.CourierBold
Courier Bold
Cpdf.Font.CourierOblique
Courier Oblique
Cpdf.Font.CourierBoldOblique
Courier Bold Oblique
Cpdf.Justification
Justifications
Cpdf.Justification.LeftJustify
Left justify
Cpdf.Justification.CentreJustify
Centre justify
Cpdf.Justification.RightJustify
Right justify
Cpdf.addText(Boolean, Cpdf.Pdf, List{Int32}, String, Cpdf.Position, Double, Int32, Cpdf.Font, Double, Double, Double, Double, Boolean, Boolean, Boolean, Double, Cpdf.Justification, Boolean, Boolean, String, Double, Boolean)
Adds text to the pages in the given range.
Cpdf.addTextSimple(Cpdf.Pdf, List{Int32}, String, Cpdf.Position, Cpdf.Font, Double)
Adds text with most parameters default.
Cpdf.removeText(Cpdf.Pdf, List{Int32})
Removes any text added by cpdf from the
given pages.
Cpdf.textWidth(Cpdf.Font, String)
Returns the width of a given string in the given font in thousandths of a
point.
Cpdf.addContent(String, Boolean, Cpdf.Pdf, List{Int32})
Adds page content before (if
true) or after (if false) the existing content to pages in the given range
in the given PDF.
Cpdf.stampAsXObject(Cpdf.Pdf, List{Int32}, Cpdf.Pdf)
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.
Cpdf.dummych9

62
dotnetsplits/c10.tex Normal file
View File

@ -0,0 +1,62 @@
CHAPTER 9. Multipage facilities
Cpdf.impose(Cpdf.Pdf, Double, Double, Boolean, Boolean, Boolean, Boolean, Boolean, Double, Double, Double)
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.
Cpdf.twoUp(Cpdf.Pdf)
Imposes a document two up. twoUpStack does so by doubling the
page size, to fit two pages on one.
Cpdf.twoUpStack(Cpdf.Pdf)
Impose a document two up. twoUpStack does so by doubling the
page size, to fit two pages on one.
Cpdf.padBefore(Cpdf.Pdf, List{Int32})
Adds a blank page before each page in the given
range.
Cpdf.padAfter(Cpdf.Pdf, List{Int32})
Adds a blank page after each page in the given
range.
Cpdf.padEvery(Cpdf.Pdf, Int32)
Adds a blank page after every n pages.
Cpdf.padMultiple(Cpdf.Pdf, Int32)
Adds pages at the end to pad the file to a
multiple of n pages in length.
Cpdf.padMultipleBefore(Cpdf.Pdf, Int32)
Adds pages at the beginning to pad the file to a
multiple of n pages in length.
Cpdf.dummych10

10
dotnetsplits/c11.tex Normal file
View File

@ -0,0 +1,10 @@
CHAPTER 10. Annotations
Cpdf.annotationsJSON(Cpdf.Pdf)
Returns the annotations from a PDF in JSON format
Cpdf.dummych11

557
dotnetsplits/c12.tex Normal file
View File

@ -0,0 +1,557 @@
CHAPTER 11. Document Information and Metadata
Cpdf.isLinearized(String)
Finds out if a document is linearized as
quickly as possible without loading it.
Cpdf.getVersion(Cpdf.Pdf)
Returns the minor version number of a document.
Cpdf.getMajorVersion(Cpdf.Pdf)
Returns the minor version number of a document.
Cpdf.getTitle(Cpdf.Pdf)
Returns the title of a document.
Cpdf.getAuthor(Cpdf.Pdf)
Returns the author of a document.
Cpdf.getSubject(Cpdf.Pdf)
Returns the subject of a document.
Cpdf.getKeywords(Cpdf.Pdf)
Returns the keywords of a document.
Cpdf.getCreator(Cpdf.Pdf)
Returns the creator of a document.
Cpdf.getProducer(Cpdf.Pdf)
Returns the producer of a document.
Cpdf.getCreationDate(Cpdf.Pdf)
Returns the creation date of a document.
Cpdf.getModificationDate(Cpdf.Pdf)
Returns the modification date of a document.
Cpdf.getTitleXMP(Cpdf.Pdf)
Returns the XMP title of a document.
Cpdf.getAuthorXMP(Cpdf.Pdf)
Returns the XMP author of a document.
Cpdf.getSubjectXMP(Cpdf.Pdf)
Returns the XMP subject of a document.
Cpdf.getKeywordsXMP(Cpdf.Pdf)
Returns the XMP keywords of a document.
Cpdf.getCreatorXMP(Cpdf.Pdf)
Returns the XMP creator of a document.
Cpdf.getProducerXMP(Cpdf.Pdf)
Returns the XMP producer of a document.
Cpdf.getCreationDateXMP(Cpdf.Pdf)
Returns the XMP creation date of a document.
Cpdf.getModificationDateXMP(Cpdf.Pdf)
Returns the XMP modification date of a document.
Cpdf.setTitle(Cpdf.Pdf, String)
Sets the title of a document.
Cpdf.setAuthor(Cpdf.Pdf, String)
Sets the author of a document.
Cpdf.setSubject(Cpdf.Pdf, String)
Sets the subject of a document.
Cpdf.setKeywords(Cpdf.Pdf, String)
Sets the keywords of a document.
Cpdf.setCreator(Cpdf.Pdf, String)
Sets the creator of a document.
Cpdf.setProducer(Cpdf.Pdf, String)
Sets the producer of a document.
Cpdf.setCreationDate(Cpdf.Pdf, String)
Sets the creation date of a document.
Cpdf.setModificationDate(Cpdf.Pdf, String)
Sets the modification date of a document.
Cpdf.setTitleXMP(Cpdf.Pdf, String)
Sets the XMP title of a document.
Cpdf.setAuthorXMP(Cpdf.Pdf, String)
Sets the XMP author of a document.
Cpdf.setSubjectXMP(Cpdf.Pdf, String)
Sets the XMP subject of a document.
Cpdf.setKeywordsXMP(Cpdf.Pdf, String)
Sets the XMP keywords of a document.
Cpdf.setCreatorXMP(Cpdf.Pdf, String)
Sets the XMP creator of a document.
Cpdf.setProducerXMP(Cpdf.Pdf, String)
Sets the XMP producer of a document.
Cpdf.setCreationDateXMP(Cpdf.Pdf, String)
Sets the XMP creation date of a document.
Cpdf.setModificationDateXMP(Cpdf.Pdf, String)
Sets the XMP modification date of a document.
Cpdf.getDateComponents(String, Int32@, Int32@, Int32@, Int32@, Int32@, Int32@, Int32@, Int32@)
Returns the components from a PDF date string.
Cpdf.dateStringOfComponents(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Int32)
Builds a PDF date string from individual
components.
Cpdf.getPageRotation(Cpdf.Pdf, Int32)
Gets the viewing rotation for a
given page.
Cpdf.hasBox(Cpdf.Pdf, Int32, String)
Returns true, if that page has the
given box. E.g "/CropBox".
Cpdf.getMediaBox(Cpdf.Pdf, Int32, Double@, Double@, Double@, Double@)
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.
Cpdf.getCropBox(Cpdf.Pdf, Int32, Double@, Double@, Double@, Double@)
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.
Cpdf.getTrimBox(Cpdf.Pdf, Int32, Double@, Double@, Double@, Double@)
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.
Cpdf.getArtBox(Cpdf.Pdf, Int32, Double@, Double@, Double@, Double@)
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.
Cpdf.getBleedBox(Cpdf.Pdf, Int32, Double@, Double@, Double@, Double@)
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.
Cpdf.setMediabox(Cpdf.Pdf, List{Int32}, Double, Double, Double, Double)
These functions set a box given the document, page range, min x, max x,
min y, max y in points.
Cpdf.setCropBox(Cpdf.Pdf, List{Int32}, Double, Double, Double, Double)
These functions set a box given the document, page range, min x, max x,
min y, max y in points.
Cpdf.setTrimBox(Cpdf.Pdf, List{Int32}, Double, Double, Double, Double)
These functions set a box given the document, page range, min x, max x,
min y, max y in points.
Cpdf.setArtBox(Cpdf.Pdf, List{Int32}, Double, Double, Double, Double)
These functions set a box given the document, page range, min x, max x,
min y, max y in points.
Cpdf.setBleedBox(Cpdf.Pdf, List{Int32}, Double, Double, Double, Double)
These functions set a box given the document, page range, min x, max x,
min y, max y in points.
Cpdf.markTrapped(Cpdf.Pdf)
Marks a document as trapped.
Cpdf.markUntrapped(Cpdf.Pdf)
Marks a document as untrapped.
Cpdf.markTrappedXMP(Cpdf.Pdf)
Marks a document as trapped in XMP metadata.
Cpdf.markUntrappedXMP(Cpdf.Pdf)
Marks a document as untrapped in XMP metadata.
Cpdf.Layout
Layouts
Cpdf.Layout.SinglePage
Single page
Cpdf.Layout.OneColumn
One column
Cpdf.Layout.TwoColumnLeft
Two column left
Cpdf.Layout.TwoColumnRight
Two column right
Cpdf.Layout.TwoPageLeft
Two page left
Cpdf.Layout.TwoPageRight
Two page right
Cpdf.setPageLayout(Cpdf.Pdf, Cpdf.Layout)
Sets the page layout for a document.
Cpdf.PageMode
Page modes
Cpdf.PageMode.UseNone
Use none
Cpdf.PageMode.UseOutlines
Use outlines
Cpdf.PageMode.UseThumbs
Use thumbs
Cpdf.PageMode.UseOC
Use OC
Cpdf.PageMode.UseAttachments
Use attachments
Cpdf.setPageMode(Cpdf.Pdf, Cpdf.PageMode)
Sets the page mode for a document.
Cpdf.hideToolbar(Cpdf.Pdf, Boolean)
Sets the hide toolbar flag.
Cpdf.hideMenubar(Cpdf.Pdf, Boolean)
Sets the hide menubar flag.
Cpdf.hideWindowUi(Cpdf.Pdf, Boolean)
Sets the hide window UI flag.
Cpdf.fitWindow(Cpdf.Pdf, Boolean)
Sets the fit window flag.
Cpdf.centerWindow(Cpdf.Pdf, Boolean)
Sets the center window flag.
Cpdf.displayDocTitle(Cpdf.Pdf, Boolean)
Sets the display doc title flag.
Cpdf.openAtPage(Cpdf.Pdf, Boolean, Int32)
Sets the PDF to open, possibly with
zoom-to-fit, at the given page number.
Cpdf.setMetadataFromFile(Cpdf.Pdf, String)
Sets the XMP metadata of a
document, given a file name.
Cpdf.setMetadataFromByteArray(Cpdf.Pdf, Byte[])
Sets the XMP metadata from
an array of bytes.
Cpdf.removeMetadata(Cpdf.Pdf)
Removes the XMP metadata from a document.
Cpdf.getMetadata(Cpdf.Pdf)
Returns the XMP metadata from a document.
Cpdf.createMetadata(Cpdf.Pdf)
Builds fresh metadata as best it can from
existing metadata in the document.
Cpdf.setMetadataDate(Cpdf.Pdf, String)
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.
Cpdf.PageLabelStyle
Page label styles
Cpdf.PageLabelStyle.DecimalArabic
1, 2, 3...
Cpdf.PageLabelStyle.UppercaseRoman
I, II, III...
Cpdf.PageLabelStyle.LowercaseRoman
i, ii, iii...
Cpdf.PageLabelStyle.UppercaseLetters
A, B, C...
Cpdf.PageLabelStyle.LowercaseLetters
a, b, c...
Cpdf.addPageLabels(Cpdf.Pdf, Cpdf.PageLabelStyle, String, Int32, List{Int32}, Boolean)
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.
Cpdf.removePageLabels(Cpdf.Pdf)
Removes the page labels from the document.
Cpdf.getPageLabelStringForPage(Cpdf.Pdf, Int32)
Calculates the full label
string for a given page, and returns it.
Cpdf.startGetPageLabels(Cpdf.Pdf)
Cpdf.getPageLabelStyle(Int32)
Cpdf.getPageLabelPrefix(Int32)
Cpdf.getPageLabelOffset(Int32)
Cpdf.getPageLabelRange(Int32)
Cpdf.endGetPageLabels
Cpdf.dummych12

79
dotnetsplits/c13.tex Normal file
View File

@ -0,0 +1,79 @@
CHAPTER 12. File Attachments
Cpdf.attachFile(String, Cpdf.Pdf)
Attaches a file to the pdf. It is attached
at document level.
Cpdf.attachFileToPage(String, Cpdf.Pdf, Int32)
Attaches a file, given
its file name, pdf, and the page number to which it should be attached.
Cpdf.attachFileFromMemory(Byte[], String, Cpdf.Pdf)
Attaches data from
memory, just like attachFile.
Cpdf.attachFileToPageFromMemory(Byte[], String, Cpdf.Pdf, Int32)
Attaches to a page from memory, just like attachFileToPage.
Cpdf.removeAttachedFiles(Cpdf.Pdf)
Removes all page- and document-level attachments from a document.
Cpdf.startGetAttachments(Cpdf.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.
Cpdf.numberGetAttachments
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.
Cpdf.getAttachmentName(Int32)
Gets the name of an attachment.
Cpdf.getAttachmentPage(Int32)
Gets the page number. 0 = document level.
Cpdf.getAttachmentData(Int32)
Gets the attachment data itself.
Cpdf.endGetAttachments
Cleans up after getting attachments.
Cpdf.dummych13

100
dotnetsplits/c14.tex Normal file
View File

@ -0,0 +1,100 @@
CHAPTER 13. Images.
Cpdf.startGetImageResolution(Cpdf.Pdf, Double)
Gets image data, including resolution at all points of use. Call
startGetImageResolution(pdf, min_required_resolution) will 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.
Cpdf.getImageResolutionPageNumber(Int32)
Gets image data, including resolution at all points of use. Call
startGetImageResolution(pdf, min_required_resolution) will 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.
Cpdf.getImageResolutionImageName(Int32)
Gets image data, including resolution at all points of use. Call
startGetImageResolution(pdf, min_required_resolution) will 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.
Cpdf.getImageResolutionXPixels(Int32)
Gets image data, including resolution at all points of use. Call
startGetImageResolution(pdf, min_required_resolution) will 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.
Cpdf.getImageResolutionYPixels(Int32)
Gets image data, including resolution at all points of use. Call
startGetImageResolution(pdf, min_required_resolution) will 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.
Cpdf.getImageResolutionXRes(Int32)
Gets image data, including resolution at all points of use. Call
startGetImageResolution(pdf, min_required_resolution) will 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.
Cpdf.getImageResolutionYRes(Int32)
Gets image data, including resolution at all points of use. Call
startGetImageResolution(pdf, min_required_resolution) will 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.
Cpdf.endGetImageResolution
Gets image data, including resolution at all points of use. Call
startGetImageResolution(pdf, min_required_resolution) will 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.
Cpdf.dummych14

88
dotnetsplits/c15.tex Normal file
View File

@ -0,0 +1,88 @@
CHAPTER 14. Fonts.
Cpdf.startGetFontInfo(Cpdf.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.
Cpdf.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.
Cpdf.getFontPage(Int32)
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.
Cpdf.getFontName(Int32)
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.
Cpdf.getFontType(Int32)
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.
Cpdf.getFontEncoding(Int32)
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.
Cpdf.endGetFontInfo
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.
Cpdf.removeFonts(Cpdf.Pdf)
Removes all font data from a file.
Cpdf.copyFont(Cpdf.Pdf, Cpdf.Pdf, List{Int32}, Int32, String)
Copies the given font
from the given page in the 'from' PDF to every page in the 'to' PDF. The
new font is stored under its font name.
Cpdf.dummych15

31
dotnetsplits/c16.tex Normal file
View File

@ -0,0 +1,31 @@
CHAPTER 15. PDF and JSON
Cpdf.outputJSON(String, Boolean, Boolean, Boolean, Cpdf.Pdf)
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.
Cpdf.outputJSONMemory(Cpdf.Pdf, Boolean, Boolean, Boolean)
Like
outputJSON, but it writes to a byte array in memory.
Cpdf.fromJSON(String)
Loads a PDF from a JSON file given its filename.
Cpdf.fromJSONMemory(Byte[])
Loads a PDF from a JSON file in memory
Cpdf.dummych16

44
dotnetsplits/c17.tex Normal file
View File

@ -0,0 +1,44 @@
CHAPTER 16. Optional Content Groups
Cpdf.startGetOCGList(Cpdf.Pdf)
Begins retrieving optional content group names. The serial number 0..n - 1
is returned.
Cpdf.OCGListEntry(Int32)
Retrieves an OCG name, given its serial number 0..n - 1.
Cpdf.endGetOCGList
Ends retrieval of optional content group names.
Cpdf.OCGRename(Cpdf.Pdf, String, String)
Renames an optional content group.
Cpdf.OCGOrderAll(Cpdf.Pdf)
Ensures that every optional content group appears in the OCG order list.
Cpdf.OCGCoalesce(Cpdf.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.
Cpdf.dummych17

34
dotnetsplits/c18.tex Normal file
View File

@ -0,0 +1,34 @@
CHAPTER 17. Creating New PDFs
Cpdf.blankDocument(Double, Double, Int32)
Creates a blank document with
pages of the given width (in points), height (in points), and number of
pages.
Cpdf.blankDocumentPaper(Cpdf.Papersize, Int32)
Makes a blank document given
a page size and number of pages.
Cpdf.textToPDF(Double, Double, Cpdf.Font, Double, String)
Typesets a UTF8 text file
ragged right on a page of size w * h in points in the given font and font
size.
Cpdf.textToPDFPaper(Cpdf.Papersize, Cpdf.Font, Double, String)
Typesets a UTF8 text file
ragged right on a page of the given size in the given font and font size.
Cpdf.dummych18

108
dotnetsplits/c19.tex Normal file
View File

@ -0,0 +1,108 @@
CHAPTER 18. Miscellaneous
Cpdf.draft(Cpdf.Pdf, List{Int32}, Boolean)
Removes images on the given pages, replacing
them with crossed boxes if 'boxes' is true.
Cpdf.removeAllText(Cpdf.Pdf, List{Int32})
Removes all text from the given pages in a
given document.
Cpdf.blackText(Cpdf.Pdf, List{Int32})
Blackens all text on the given pages.
Cpdf.blackLines(Cpdf.Pdf, List{Int32})
Blackens all lines on the given pages.
Cpdf.blackFills(Cpdf.Pdf, List{Int32})
Blackens all fills on the given pages.
Cpdf.thinLines(Cpdf.Pdf, List{Int32}, Double)
Thickens every line less than
min_thickness to min_thickness. Thickness given in points.
Cpdf.copyId(Cpdf.Pdf, Cpdf.Pdf)
Copies the /ID from one document to another.
Cpdf.removeId(Cpdf.Pdf)
Removes a document's /ID.
Cpdf.setVersion(Cpdf.Pdf, Int32)
Sets the minor version number of a document.
Cpdf.setFullVersion(Cpdf.Pdf, Int32, Int32)
Sets the full version
number of a document.
Cpdf.removeDictEntry(Cpdf.Pdf, String)
Removes any dictionary entry with the given
key anywhere in the document.
Cpdf.removeDictEntrySearch(Cpdf.Pdf, String, String)
Removes any dictionary entry
with the given key whose value matches the given search term.
Cpdf.replaceDictEntry(Cpdf.Pdf, String, String)
Replaces the value associated with
the given key.
Cpdf.replaceDictEntrySearch(Cpdf.Pdf, String, String, String)
Replaces the value
associated with the given key if the existing value matches the search term.
Cpdf.removeClipping(Cpdf.Pdf, List{Int32})
Removes all clipping from pages in the
given range.
Cpdf.getDictEntries(Cpdf.Pdf, String)
Returns a JSON array containing any
and all values associated with the given key, and fills in its length.